ISCardISO7816::ManageChannel method
[The ManageChannel method is available for use in the operating systems specified in the Requirements section. It is not available for use in Windows Server 2003 with Service Pack 1 (SP1) and later, Windows Vista, Windows Server 2008, and subsequent versions of the operating system. The Smart Card Modules provide similar functionality.]
The ManageChannel method constructs an application protocol data unit (APDU) command that opens and closes logical channels.
The open function opens a new logical channel other than the basic one. Options are provided for the card to assign a logical channel number, or for the logical channel number to be supplied to the card.
The close function explicitly closes a logical channel other than the basic one. After the successful closing, the logical channel shall be available for re-use.
Syntax
HRESULT ManageChannel(
[in] BYTE byChannelState,
[in] BYTE byChannel,
[in, out] LPSCARDCMD *ppCmd
);
Parameters
-
byChannelState [in]
-
Bit b8 of P1 is used to indicate the open function or the close function; if b8 is 0, then MANAGE CHANNEL shall open a logical channel and if b8 is 1, then MANAGE CHANNEL shall close a logical channel:
P1 = '00' to open
P1 = '80' to close
Other values are RFU
-
byChannel [in]
-
For the open function (P1 = '00'), the bits b1 and b2 of P2 are used to code the logical channel number in the same manner as in the class byte, the other bits of P2 are RFU.
When b1 and b2 of P2 are NULL, then the card will assign a logical channel number that will be returned in bits b1 and b2 of the data field.
When b1 and/or b2 of P2 are not NULL, they code a logical channel number other than the basic one; then the card will open the externally assigned logical channel number.
-
ppCmd [in, out]
-
On input, a pointer to an ISCardCmd interface object or NULL.
On return, it is filled with the APDU command constructed by this operation. If ppCmd was set to NULL, a smart card ISCardCmd object is internally created and returned using the ppCmd pointer.
Return value
The method returns one of the following possible values.
Return code | Description |
---|---|
|
Operation completed successfully. |
|
Invalid parameter. |
|
A bad pointer was passed in. |
|
Out of memory. |
Remarks
When the open function is successfully performed from the basic logical channel, the MF shall be implicitly selected as the current DF and the security status of the new logical channel should be the same as the basic logical channel after ATR. The security status of the new logical channel should be separate from that of any other logical channel.
When the open function is successfully performed from a logical channel, which is not the basic one, the current DF of the logical channel that issued the command will be selected as the current DF. In addition, the security status for the new logical channel should be the same as the security status of the logical channel from which the open function was performed.
After a successful close function, the security status related to this logical channel is lost.
For a list of all the methods provided by this interface, see ISCardISO7816.
In addition to the COM error codes listed above, this interface may return a smart card error code if a smart card function was called to complete the request. For more information, see Smart Card Return Values.
Requirements
Requirement | Value |
---|---|
Minimum supported client |
Windows XP [desktop apps only] |
Minimum supported server |
Windows Server 2003 [desktop apps only] |
End of client support |
Windows XP |
End of server support |
Windows Server 2003 |
Header |
|
Type library |
|
DLL |
|
IID |
IID_ISCardISO7816 is defined as 53B6AA68-3F56-11D0-916B-00AA00C18068 |
See also