IoGetDeviceInterfaceAlias-Funktion (wdm.h)
Die IoGetDeviceInterfaceAlias Routine gibt die Aliasgeräteschnittstelle der angegebenen Geräteschnittstelleninstanz zurück, wenn der Alias vorhanden ist.
Syntax
NTSTATUS IoGetDeviceInterfaceAlias(
[in] PUNICODE_STRING SymbolicLinkName,
[in] const GUID *AliasInterfaceClassGuid,
[out] PUNICODE_STRING AliasSymbolicLinkName
);
Parameter
[in] SymbolicLinkName
Zeigen Sie auf den Namen der Geräteschnittstelleninstanz, für die ein Alias abgerufen werden soll. Der Aufrufer hat diese Zeichenfolge in der Regel von einem Aufruf an IoGetDeviceInterfaces oder in einer PnP-Benachrichtigungsstruktur empfangen.
[in] AliasInterfaceClassGuid
Zeigen Sie 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.Buffer verweist 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ücklaufwerte werden wie folgt beschrieben.
Rückgabecode | Beschreibung |
---|---|
|
Gibt möglicherweise an, dass es keinen Alias der angegebenen Schnittstellenklasse gibt. |
|
Gibt möglicherweise an, dass es keinen Alias der angegebenen Schnittstellenklasse gibt. |
|
Gibt möglicherweise eine ungültige SymbolicLinkName oder ein ungültiges AliasClassGuid-an. |
Bemerkungen
Geräteschnittstellen werden als Aliase betrachtet, wenn sie von demselben zugrunde liegenden Gerät verfügbar gemacht werden und identische Schnittstellenreferenzzeichenfolgen aufweisen, jedoch unterschiedliche Schnittstellenklassen aufweisen.
Der parameter SymbolicLinkName gibt eine Geräteschnittstelleninstanz für ein bestimmtes Gerät an, das zu einer bestimmten Schnittstellenklasse gehört, mit einer bestimmten Verweiszeichenfolge. IoGetDeviceInterfaceAlias gibt eine andere Geräteschnittstelleninstanz für dasselbe Gerät und dieselbe Referenzzeichenfolge zurück, aber einer anderen Schnittstellenklasse, sofern vorhanden.
Beispielsweise kann der Funktionstreiber für ein fehlertolerantes Volume zwei Geräteschnittstellen registrieren und festlegen, eine der fehlertoleranten Volumenschnittstellenklasse und eine der Volumeschnittstellenklasse. Ein anderer Treiber könnte IoGetDeviceInterfaceAlias mit der symbolischen Verknüpfung für eine der Schnittstellen aufrufen und fragen, ob die andere Schnittstelle vorhanden ist, indem sie die Schnittstellenklasse angibt.
Zwei Geräteschnittstellen mit NULL- Referenzzeichenfolgen sind Aliase, wenn sie von demselben zugrunde liegenden Gerät verfügbar gemacht werden und unterschiedliche GuiDs der Schnittstellenklasse aufweisen.
Aufrufer von IoGetDeviceInterfaceAlias müssen unter IRQL = PASSIVE_LEVEL im Kontext eines Systemthreads ausgeführt werden.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Ab Windows 2000 verfügbar. |
Zielplattform- | Universal |
Header- | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
Library | NtosKrnl.lib |
DLL- | NtosKrnl.exe |
IRQL- | PASSIVE_LEVEL (siehe Abschnitt "Hinweise") |
DDI-Complianceregeln | HwStorPortProhibitedDIs(storport), PowerIrpDDis(wdm) |