SCardListInterfacesA-Funktion (winscard.h)
Die SCardListInterfaces--Funktion stellt eine Liste der Schnittstellen bereit, die von einer bestimmten Karte bereitgestellt werden.
Der Aufrufer stellt den Namen einer Smartcard bereit, die zuvor im Subsystem eingeführt wurde, und empfängt die Liste der Schnittstellen, die von der Karte unterstützt werden.
Syntax
LONG SCardListInterfacesA(
[in] SCARDCONTEXT hContext,
[in] LPCSTR szCard,
[out] LPGUID pguidInterfaces,
[in, out] LPDWORD pcguidInterfaces
);
Parameter
[in] hContext
Behandeln Sie die Ressourcen-Manager-Kontext für die Abfrage. Der Ressourcen-Manager-Kontext kann durch einen vorherigen Aufruf von SCardEstablishContextfestgelegt werden. Dieser Parameter kann nicht NULL-werden.
[in] szCard
Name der Smartcard, die bereits im Smartcard-Subsystemeingeführt wurde.
[out] pguidInterfaces
Array von Schnittstellenbezeichnern (GUIDs), die die von der Smartcard unterstützten Schnittstellen angeben. Wenn dieser Wert NULL-ist, ignoriert SCardListInterfaces die arraylänge, die in pcguidInterfacesangegeben wird, und gibt die Größe des Arrays zurück, das zurückgegeben wurde, wenn dieser Parameter nicht NULL-pcguidInterfaces und einen Erfolgscode zurückgegeben wurde.
[in, out] pcguidInterfaces
Größe der 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-behandelt 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. |
|
Fehlercode. Weitere Informationen finden Sie unter Smartcard-Rückgabewerte. |
Bemerkungen
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 vom Remotecomputer statt vom lokalen Computer stammt.
Die SCardListInterfaces Funktion ist eine Datenbankabfragefunktion. Weitere Informationen zu anderen Datenbankabfragefunktionen finden Sie unter SmartCard-Datenbankabfragefunktionen.
Beispiele
Das folgende Beispiel zeigt das Auflisten der Schnittstellen für eine Smartcard.
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).
// ...
}
Anmerkung
Der winscard.h-Header definiert SCardListInterfaces als Alias, der automatisch die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante 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
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows XP [nur Desktop-Apps] |
mindestens unterstützte Server- | Windows Server 2003 [Nur Desktop-Apps] |
Zielplattform- | Fenster |
Header- | winscard.h |
Library | Winscard.lib |
DLL- | Winscard.dll |