Freigeben über


ISCardCmd::get_Apdu-Methode

[Die get_Apdu-Methode ist für die Verwendung in den Betriebssystemen verfügbar, die im Abschnitt Anforderungen angegeben sind. 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 get_Apdu-Methode ruft die Unformatierte Anwendungsprotokolldateneinheit (APPLICATION Protocol Data Unit , APDU) ab.

Syntax

HRESULT get_Apdu(
  [out] LPBYTEBUFFER *ppApdu
);

Parameter

ppApdu [out]

Zeiger auf den Bytepuffer, der über ein IStream-Objekt zugeordnet ist, das bei der Rückgabe die APDU-Nachricht enthält.

Rückgabewert

Die -Methode gibt einen der folgenden möglichen Werte zurück.

Rückgabecode BESCHREIBUNG
S_OK
Operation erfolgreich abgeschlossen.
E_INVALIDARG
Der ppApdu-Parameter ist ungültig.
E_POINTER
In ppApdu wurde ein fehlerhafter Zeiger übergeben.
E_OUTOFMEMORY
Nicht genügend Arbeitsspeicher.

 

Bemerkungen

Rufen Sie put_Apdu auf, um die APDU aus einem IByteBuffer -Objekt (IStream) in das APDU zu kopieren, das in dieses Schnittstellenobjekt eingeschlossen ist.

Um die Länge der APDU zu bestimmen, rufen Sie get_ApduLength auf.

Eine Liste aller Von der ISCardCmd-Schnittstelle bereitgestellten Methoden finden Sie unter ISCardCmd.

Zusätzlich zu den oben aufgeführten COM-Fehlercodes gibt diese Schnittstelle möglicherweise einen Intelligenten Karte Fehlercode zurück, wenn eine Smart Karte-Funktion aufgerufen wurde, um die Anforderung abzuschließen. Informationen zu Smart Karte Fehlercodes finden Sie unter SmartCard-Rückgabewerte.

Beispiele

Das folgende Beispiel zeigt, wie Sie die Unformatierte Anwendungsprotokolldateneinheit (APDU) abrufen. Im Beispiel wird davon ausgegangen, dass pISCardCmd ein gültiger Zeiger auf die ISCardCmd-Schnittstelle ist und dass pIByteApdu ein gültiger Zeiger auf eine instance der IByteBuffer-Schnittstelle ist.

HRESULT    hr;

hr = pISCardCmd->get_Apdu(&pIByteApdu);
if (FAILED(hr)) 
{
    printf("Failed get_Apdu.\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
Scarddat.h
Typbibliothek
Scarddat.tlb
DLL
Scardssp.dll
IID
IID_ISCardCmd ist definiert als D5778AE3-43DE-11D0-9171-00AA00C18068

Siehe auch

get_ApduLength

ISCardCmd

put_Apdu