ISCardCmd::Encapsulate method

[The Encapsulate 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 Encapsulate method encapsulates the given command application protocol data unit (APDU) into another command APDU for transmission to a smart card.

Syntax


HRESULT Encapsulate(
  [in] LPBYTEBUFFER  pApdu,
  [in] ISO_APDU_TYPE ApduType
);

Parameters

pApdu [in]

Pointer to the APDU to be encapsulated.

ApduType [in]

ISO 7816-4 case for T=0 transmissions.

ISO_CASE_1
ISO_CASE_2
ISO_CASE_3
ISO_CASE_4

Return value

The method returns one of the following possible values.

Return codeDescription
S_OK

Operation completed successfully.

E_INVALIDARG

Invalid parameter.

E_POINTER

A bad pointer was passed in pApdu.

E_OUTOFMEMORY

Out of memory.

 

Remarks

To build a command APDU, call BuildCmd.

For a list of all the methods provided by this interface, see ISCardCmd.

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.

Examples

The following example shows how to encapsulate a command APDU. The example assumes that pIByteApdu is a valid pointer to an instance of the IByteBuffer interface.


HRESULT    hr;

// pIByteApdu is a pointer to an instance of IByteBuffer.
// Encapsulate the APDU.
hr = pISCardCmd->Encapsulate(pIByteApdu, ISO_CASE_1);
if (FAILED(hr)) 
{
    printf("Failed Encapsulate.\n");
    // Take other error handling action as needed.
}


Requirements

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

Scarddat.h

Type library

Scarddat.tlb

DLL

Scardssp.dll

IID

IID_ISCardCmd is defined as D5778AE3-43DE-11D0-9171-00AA00C18068

See also

BuildCmd
ISCardCmd

 

 

Show: