SCardListInterfacesA-Funktion (winscard.h)
Die SCardListInterfaces-Funktion stellt eine Liste der Schnittstellen bereit, die von einem bestimmten Karte bereitgestellt werden.
Der Aufrufer gibt den Namen einer intelligenten Karte an, die zuvor in das Subsystem eingeführt wurde, und empfängt die Liste der Schnittstellen, die vom Karte unterstützt werden.
Syntax
LONG SCardListInterfacesA(
[in] SCARDCONTEXT hContext,
[in] LPCSTR szCard,
[out] LPGUID pguidInterfaces,
[in, out] LPDWORD pcguidInterfaces
);
Parameter
[in] hContext
Handle, das den Ressourcen-Manager-Kontext für die Abfrage identifiziert. Der Resource Manager-Kontext kann durch einen vorherigen Aufruf von SCardEstablishContext festgelegt werden. Dieser Parameter darf nicht NULL sein.
[in] szCard
Name der smart Karte, die bereits in das Smart Karte-Subsystem eingeführt wurde.
[out] pguidInterfaces
Array von Schnittstellenbezeichnern (GUIDs), die die vom intelligenten Karte unterstützten Schnittstellen angeben. Wenn dieser Wert NULL ist, ignoriert SCardListInterfaces die in pcguidInterfaces angegebene Arraylänge und gibt die Größe des Arrays zurück, das zurückgegeben worden wäre, wenn dieser Parameter nicht NULL für pcguidInterfaces und einen Erfolgscode gewesen wäre.
[in, out] pcguidInterfaces
Größe des pcguidInterfaces-Arrays und empfängt die tatsächliche Größe des zurückgegebenen Arrays. Wenn die Arraygröße als SCARD_AUTOALLOCATE angegeben wird, wird pcguidInterfaces in einen Zeiger auf einen GUID-Zeiger konvertiert und empfängt die Adresse eines Speicherblocks, der das Array enthält. Dieser Speicherblock muss mit SCardFreeMemory aufgehoben werden.
Rückgabewert
Diese Funktion gibt unterschiedliche Werte zurück, je nachdem, ob sie erfolgreich ist oder fehlschlägt.
Rückgabecode | BESCHREIBUNG |
---|---|
|
SCARD_S_SUCCESS. |
|
Ein Fehlercode. Weitere Informationen finden Sie unter Smartcard-Rückgabewerte. |
Hinweise
Diese Funktion wird nicht umgeleitet, aber das Aufrufen der Funktion beim Versuch einer Remotedesktopsitzung führt nicht zu einem Fehler. Dies bedeutet nur, dass das Ergebnis nicht vom lokalen Computer, sondern vom Remotecomputer stammt.
Die SCardListInterfaces-Funktion ist eine Datenbankabfragefunktion. Weitere Informationen zu anderen Datenbankabfragefunktionen finden Sie unter Smartcard-Datenbankabfragefunktionen.
Beispiele
Das folgende Beispiel zeigt die Auflistung der Schnittstellen für eine intelligente Karte.
LPGUID pGuids = NULL;
LONG lReturn;
DWORD cGuid = SCARD_AUTOALLOCATE;
// Retrieve the list of interfaces.
lReturn = SCardListInterfaces(NULL,
(LPCSTR) "MyCard",
(LPGUID)&pGuids,
&cGuid );
if ( SCARD_S_SUCCESS != lReturn )
{
printf("Failed SCardListInterfaces\n");
exit(1); // Or other appropriate action
}
if ( 0 != cGuid )
{
// Do something with the array of Guids.
// Remember to free pGuids when done (by SCardFreeMemory).
// ...
}
Hinweis
Der winscard.h-Header definiert SCardListInterfaces als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht Codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.
Anforderungen
Unterstützte Mindestversion (Client) | Windows XP [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | winscard.h |
Bibliothek | Winscard.lib |
DLL | Winscard.dll |