IoGetDeviceInterfaceAlias-Funktion (wdm.h)
Die IoGetDeviceInterfaceAlias-Routine gibt die Aliasgeräteschnittstelle der angegebenen Geräteschnittstelle instance zurück, sofern der Alias vorhanden ist.
Syntax
NTSTATUS IoGetDeviceInterfaceAlias(
[in] PUNICODE_STRING SymbolicLinkName,
[in] const GUID *AliasInterfaceClassGuid,
[out] PUNICODE_STRING AliasSymbolicLinkName
);
Parameter
[in] SymbolicLinkName
Zeiger auf den Namen der Geräteschnittstelle instance, für die ein Alias abgerufen werden soll. Der Aufrufer hat diese Zeichenfolge in der Regel von einem Aufruf von IoGetDeviceInterfaces oder in einer PnP-Benachrichtigungsstruktur empfangen.
[in] AliasInterfaceClassGuid
Zeiger auf eine GUID, die die Schnittstellenklasse des abzurufenden Alias angibt.
[out] AliasSymbolicLinkName
Gibt einen Zeiger auf eine NULL-Unicode-Zeichenfolge an. Bei erfolgreicher Rückgabe aliasSymbolicLinkName. Puffer zeigt auf eine Zeichenfolge, die den Namen des Alias enthält. Der Aufrufer muss die Unicode-Zeichenfolge mit RtlFreeUnicodeString freigeben, wenn sie nicht mehr benötigt wird.
Rückgabewert
IoGetDeviceInterfaceAlias gibt STATUS_SUCCESS zurück, wenn der Aufruf erfolgreich war. Mögliche Fehlerrückgabewerte werden im Folgenden beschrieben.
Rückgabecode | Beschreibung |
---|---|
|
Gibt möglicherweise an, dass kein Alias der angegebenen Schnittstellenklasse vorhanden ist. |
|
Gibt möglicherweise an, dass kein Alias der angegebenen Schnittstellenklasse vorhanden ist. |
|
Gibt möglicherweise einen ungültigen SymbolicLinkName oder eine ungültige AliasClassGuid an. |
Hinweise
Geräteschnittstellen werden als Aliase betrachtet, wenn sie vom gleichen zugrunde liegenden Gerät verfügbar gemacht werden und identische Schnittstellenreferenzzeichenfolgen aufweisen, aber unterschiedliche Schnittstellenklassen aufweisen.
Der Parameter SymbolicLinkName gibt eine Geräteschnittstelle instance für ein bestimmtes Gerät an, das zu einer bestimmten Schnittstellenklasse gehört, mit einer bestimmten Verweiszeichenfolge. IoGetDeviceInterfaceAlias gibt eine andere Geräteschnittstelle instance für dasselbe Gerät und die gleiche Verweiszeichenfolge zurück, jedoch einer anderen Schnittstellenklasse, sofern vorhanden.
Beispielsweise könnte der Funktionstreiber für ein fehlertolerantes Volume zwei Geräteschnittstellen registrieren und festlegen: eine der Schnittstellenklasse für fehlertolerante Volumes und eine der Volumeschnittstellenklasse. Ein anderer Treiber könnte IoGetDeviceInterfaceAlias mit dem symbolischen Link für eine der Schnittstellen aufrufen und fragen, ob die andere Schnittstelle vorhanden ist, indem er seine Schnittstellenklasse angibt.
Zwei Geräteschnittstellen mit NULL-Verweiszeichenfolgen sind Aliase, wenn sie vom gleichen zugrunde liegenden Gerät verfügbar gemacht werden und unterschiedliche Schnittstellenklassen-GUIDs aufweisen.
Aufrufer von IoGetDeviceInterfaceAlias müssen unter IRQL = PASSIVE_LEVEL im Kontext eines Systemthreads ausgeführt werden.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Verfügbar ab Windows 2000. |
Zielplattform | Universell |
Header | wdm.h (einschließlich Wdm.h, Ntddk.h, Ntifs.h) |
Bibliothek | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL (siehe Abschnitt "Hinweise") |
DDI-Complianceregeln | HwStorPortProhibitedDIs(storport), PowerIrpDDis(wdm) |