1.1 Glossary

This document uses the following terms:

Answer To Reset (ATR): The transmission sent by an ISO-7816–compliant Integrated Circuit Card (as specified in [ISO/IEC-7816-3] section 8) to a smart card reader in response to an ISO-7816-3–based RESET condition.

ASCII: The American Standard Code for Information Interchange (ASCII) is an 8-bit character-encoding scheme based on the English alphabet. ASCII codes represent text in computers, communications equipment, and other devices that work with text. ASCII refers to a single 8-bit ASCII character or an array of 8-bit ASCII characters with the high bit of each character set to zero.

build number: A part of a sequential numbering system that is used to differentiate one version of a software product from another.

call packet: A combination of I/O control (IOCTL) and a data structure request from a protocol client that corresponds to that IOCTL.

card type: A string that specifies a specific type of smart card that is recognized by Smart Cards for Windows.

device: Any peripheral or part of a computer system that can send or receive data.

device I/O: Device input/output.

device name: The friendly, human-readable name of a device.

HRESULT: An integer value that indicates the result or status of an operation. A particular HRESULT can have different meanings depending on the protocol using it. See [MS-ERREF] section 2.1 and specific protocol documents for further details.

I/O control (IOCTL): A command that is issued to a target file system or target device in order to query or alter the behavior of the target; or to query or alter the data and attributes that are associated with the target or the objects that are exposed by the target.

Interface Definition Language (IDL): The International Standards Organization (ISO) standard language for specifying the interface for remote procedure calls. For more information, see [C706] section 4.

Microsoft Terminal Services (TS): A component that allows a user to access applications or data stored on a remote computer over a network connection.

Multistring: A series of null-terminated character strings terminated by a final null character stored in a contiguous block of memory.

operating system version: A uniquely identifiable numbered string that is used to identify a particular operating system.

protocol client: An endpoint that initiates a protocol.

protocol server: An endpoint that processes the call packet from a protocol client.

reader group name: The friendly, human-readable name for a reader group.

Remote Desktop Protocol (RDP): A multi-channel protocol that allows a user to connect to a computer running Microsoft Terminal Services (TS). RDP enables the exchange of client and server settings and also enables negotiation of common settings to use for the duration of the connection, so that input, graphics, and other data can be exchanged and processed between client and server.

remote procedure call (RPC): A communication protocol used primarily between client and server. The term has three definitions that are often used interchangeably: a runtime environment providing for communication facilities between computers (the RPC runtime); a set of request-and-response message exchanges between computers (the RPC exchange); and the single message from an RPC exchange (the RPC message).  For more information, see [C706].

return packet: An encoded structure containing the result of a call packet operation executed on the protocol client.

smart card: A portable device that is shaped like a business card and is embedded with a memory chip and either a microprocessor or some non-programmable logic. Smart cards are often used as authentication tokens and for secure key storage. Smart cards used for secure key storage have the ability to perform cryptographic operations with the stored key without allowing the key itself to be read or otherwise extracted from the card.

smart card reader: A device used as a communication medium between the smart card and a Host; for example, a computer. Also referred to as a Reader.

smart card reader name: The friendly, human-readable name of the smart card reader. Also referred to as a Reader Name.

Smart Cards for Windows: An implementation of the ICC Resource Manager according to [PCSC5].

static virtual channel: A static transport used for lossless communication between a client component and a server component over a main data connection, as specified in [MS-RDPBCGR].

TS client: A Microsoft Terminal Services program that initiates a connection.

TS server: A Microsoft Terminal Services program that responds to a request from a TS client.

Unicode: A character encoding standard developed by the Unicode Consortium that represents almost all of the written languages of the world. The Unicode standard [UNICODE5.0.0/2007] provides three forms (UTF-8, UTF-16, and UTF-32) and seven schemes (UTF-8, UTF-16, UTF-16 BE, UTF-16 LE, UTF-32, UTF-32 LE, and UTF-32 BE).

Unicode string: A Unicode 8-bit string is an ordered sequence of 8-bit units, a Unicode 16-bit string is an ordered sequence of 16-bit code units, and a Unicode 32-bit string is an ordered sequence of 32-bit code units. In some cases, it could be acceptable not to terminate with a terminating null character. Unless otherwise specified, all Unicode strings follow the UTF-16LE encoding scheme with no Byte Order Mark (BOM).

universally unique identifier (UUID): A 128-bit value. UUIDs can be used for multiple purposes, from tagging objects with an extremely short lifetime, to reliably identifying very persistent objects in cross-process communication such as client and server interfaces, manager entry-point vectors, and RPC objects. UUIDs are highly likely to be unique. UUIDs are also known as globally unique identifiers (GUIDs) and these terms are used interchangeably in the Microsoft protocol technical documents (TDs). Interchanging the usage of these terms does not imply or require a specific algorithm or mechanism to generate the UUID. Specifically, the use of this term does not imply or require that the algorithms described in [RFC4122] or [C706] must be used for generating the UUID.

virtual channel: A communication channel available in a TS server session between applications running at the server and applications running on the TS client.

MAY, SHOULD, MUST, SHOULD NOT, MUST NOT: These terms (in all caps) are used as defined in [RFC2119]. All statements of optional behavior use either MAY, SHOULD, or SHOULD NOT.