Condividi tramite


Metodo ISCardCmd::Encapsulate

[Il metodo Encapsulate è disponibile per l'uso nei sistemi operativi specificati nella sezione Requisiti. Non è disponibile per l'uso in Windows Server 2003 con Service Pack 1 (SP1) e versioni successive, Windows Vista, Windows Server 2008 e versioni successive del sistema operativo. I moduli smart card offrono funzionalità simili.

Il metodo Encapsulate incapsula l'unità dati apDU (Command Application Protocol Data Unit ) specificata in un altro comando APDU per la trasmissione a una smart card.

Sintassi

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

Parametri

pApdu [in]

Puntatore all'APDU da incapsulare.

ApduType [in]

Caso ISO 7816-4 per le trasmissioni T=0 .

ISO_CASE_1

ISO_CASE_2

ISO_CASE_3

ISO_CASE_4

Valore restituito

Il metodo restituisce uno dei valori possibili seguenti.

Codice restituito Descrizione
S_OK
Operazione completata correttamente.
E_INVALIDARG
Parametro non valido.
E_POINTER
Un puntatore non valido è stato passato in pApdu.
E_OUTOFMEMORY
Memoria insufficiente.

 

Commenti

Per compilare un comando APDU, chiamare BuildCmd.

Per un elenco di tutti i metodi forniti da questa interfaccia, vedere ISCardCmd.

Oltre ai codici di errore COM elencati in precedenza, questa interfaccia può restituire un codice di errore della smart card se è stata chiamata una funzione smart card per completare la richiesta. Per altre informazioni, vedere Valori restituiti della smart card.

Esempio

Nell'esempio seguente viene illustrato come incapsulare un comando APDU. L'esempio presuppone che pIByteApdu sia un puntatore valido a un'istanza dell'interfaccia IByteBuffer .

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.
}

Requisiti

Requisito Valore
Client minimo supportato
Windows XP [solo app desktop]
Server minimo supportato
Windows Server 2003 [solo app desktop]
Fine del supporto client
Windows XP
Fine del supporto server
Windows Server 2003
Intestazione
Scarddat.h
Libreria dei tipi
Scarddat.tlb
DLL
Scardssp.dll
IID
IID_ISCardCmd è definito come D5778AE3-43DE-11D0-9171-00AA00C18068

Vedi anche

BuildCmd

ISCardCmd