ISCardCmd::BuildCmd-Methode
[Die BuildCmd-Methode ist für die Verwendung in den im Abschnitt Anforderungen angegebenen Betriebssystemen verfügbar. Es ist nicht für die Verwendung in Windows Server 2003 mit Service Pack 1 (SP1) und höher, Windows Vista, Windows Server 2008 und nachfolgenden Versionen des Betriebssystems verfügbar. Die Smartcardmodule bieten ähnliche Funktionen.]
Die BuildCmd-Methode erstellt eine gültige APDU (Application Protocol Data Unit) für die Übertragung an eine intelligente Karte.
Syntax
HRESULT BuildCmd(
[in] BYTE byClassId,
[in] BYTE byInsId,
[in] BYTE byP1,
[in] BYTE byP2,
[in] LPBYTEBUFFER pbyData,
[in] LONG *p1Le
);
Parameter
-
byClassId [in]
-
Befehlsklassenbezeichner.
-
byInsId [in]
-
Befehlsanweisungsbezeichner.
-
byP1 [in]
-
Der erste Parameter des Befehls.
-
byP2 [in]
-
Der zweite Parameter des Befehls.
-
pbyData [in]
-
Zeiger auf den Datenteil des Befehls.
-
p1Le [in]
-
Zeiger auf eine long-Ganzzahl, die die erwartete Länge der zurückgegebenen Daten enthält.
Rückgabewert
Die -Methode gibt einen der folgenden möglichen Werte zurück.
Rückgabecode | BESCHREIBUNG |
---|---|
|
Operation erfolgreich abgeschlossen. |
|
Einer der Parameter ist ungültig. |
|
Ein ungültiger Zeiger wurde übergeben. |
|
Nicht genügend Arbeitsspeicher. |
Bemerkungen
Um den Befehl in einen anderen Befehl zu kapseln, rufen Sie Encapsulate auf.
Eine Liste aller Methoden, die von dieser Schnittstelle bereitgestellt werden, finden Sie unter ISCardCmd.
Zusätzlich zu den oben aufgeführten COM-Fehlercodes gibt diese Schnittstelle möglicherweise einen Fehlercode für intelligente Karte zurück, wenn eine intelligente Karte-Funktion aufgerufen wurde, um die Anforderung abzuschließen. Weitere Informationen finden Sie unter Smartcard-Rückgabewerte.
Beispiele
Das folgende Beispiel zeigt, wie Sie eine Befehls-APDU erstellen. Im Beispiel wird davon ausgegangen, dass pISCardCmd ein gültiger Zeiger auf eine instance der ISCardCmd-Schnittstelle ist und dass pIByteRequest ein gültiger Zeiger auf eine instance der IByteBuffer-Schnittstelle ist, die mit einem vorherigen Aufruf der IByteBuffer::Initialize-Methode initialisiert wurde.
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.
}
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) |
Windows XP [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) |
Windows Server 2003 [nur Desktop-Apps] |
Ende des Supports (Client) |
Windows XP |
Ende des Supports (Server) |
Windows Server 2003 |
Header |
|
Typbibliothek |
|
DLL |
|
IID |
IID_ISCardCmd ist definiert als D5778AE3-43DE-11D0-9171-00AA00C18068 |
Siehe auch