Freigeben über


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
STATUS_OBJECT_NAME_NOT_FOUND
Gibt möglicherweise an, dass es keinen Alias der angegebenen Schnittstellenklasse gibt.
STATUS_OBJECT_PATH_NOT_FOUND
Gibt möglicherweise an, dass es keinen Alias der angegebenen Schnittstellenklasse gibt.
STATUS_INVALID_HANDLE
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)

Siehe auch

IoRegisterDeviceInterface-

RtlFreeUnicodeString-