Metodo ISCardCmd::BuildCmd
[Il metodo BuildCmd è 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 BuildCmd costruisce un'unità dati APDU (Command Application Protocol Data Unit) valida per la trasmissione a una smart card.
Sintassi
HRESULT BuildCmd(
[in] BYTE byClassId,
[in] BYTE byInsId,
[in] BYTE byP1,
[in] BYTE byP2,
[in] LPBYTEBUFFER pbyData,
[in] LONG *p1Le
);
Parametri
-
byClassId [in]
-
Identificatore della classe di comando.
-
byInsId [in]
-
Identificatore dell'istruzione del comando.
-
byP1 [in]
-
Primo parametro del comando.
-
byP2 [in]
-
Secondo parametro del comando.
-
pbyData [in]
-
Puntatore alla parte dati del comando.
-
p1Le [in]
-
Puntatore a un intero LONG contenente la lunghezza prevista dei dati restituiti.
Valore restituito
Il metodo restituisce uno dei valori possibili seguenti.
Codice restituito | Descrizione |
---|---|
|
Operazione completata correttamente. |
|
Uno dei parametri non è valido. |
|
Un puntatore non valido è stato passato. |
|
Memoria insufficiente. |
Commenti
Per incapsulare il comando in un altro comando, chiamare Encapsulate.
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 smart card.
Esempio
Nell'esempio seguente viene illustrato come costruire un'API di comando. L'esempio presuppone che pISCardCmd sia un puntatore valido a un'istanza dell'interfaccia ISCardCmd e che pIByteRequest sia un puntatore valido a un'istanza dell'interfaccia IByteBuffer inizializzata con una chiamata precedente al metodo IByteBuffer::Initialize .
LONG lLe = 0;
HRESULT hr;
hr = pISCardCmd->BuildCmd(0x00, // Some cards prefer 0xC0
0xa4, // 'Select File'
0x00,
0x00,
pIByteRequest,
&lLe);
if (FAILED(hr))
{
printf("Failed ISCardCmd::BuildCmd\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 |
|
Libreria dei tipi |
|
DLL |
|
IID |
IID_ISCardCmd è definito come D5778AE3-43DE-11D0-9171-00AA0C18068 |
Vedi anche