Freigeben über


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

Weitere Informationen

IoRegisterDeviceInterface

RtlFreeUnicodeString