Funzione IoGetDeviceInterfaceAlias (wdm.h)

La routine IoGetDeviceInterfaceAlias restituisce l'interfaccia del dispositivo alias dell'istanza dell'interfaccia del dispositivo specificata, se l'alias esiste.

Sintassi

NTSTATUS IoGetDeviceInterfaceAlias(
  [in]  PUNICODE_STRING SymbolicLinkName,
  [in]  const GUID      *AliasInterfaceClassGuid,
  [out] PUNICODE_STRING AliasSymbolicLinkName
);

Parametri

[in] SymbolicLinkName

Puntatore al nome dell'istanza dell'interfaccia del dispositivo per cui recuperare un alias. Il chiamante ha in genere ricevuto questa stringa da una chiamata a IoGetDeviceInterfaces o in una struttura di notifica PnP.

[in] AliasInterfaceClassGuid

Puntatore a un GUID che specifica la classe di interfaccia dell'alias da recuperare.

[out] AliasSymbolicLinkName

Specifica un puntatore a una stringa Unicode NULL . In caso di esito positivo, AliasSymbolicLinkName. Il buffer punta a una stringa contenente il nome dell'alias. Il chiamante deve liberare la stringa Unicode con RtlFreeUnicodeString quando non è più necessario.

Valore restituito

IoGetDeviceInterfaceAlias restituisce STATUS_SUCCESS se la chiamata ha avuto esito positivo. I valori restituiti degli errori possibili sono descritti di seguito.

Codice restituito Descrizione
STATUS_OBJECT_NAME_NOT_FOUND
Se possibile, indica che non esiste alcun alias della classe di interfaccia specificata.
STATUS_OBJECT_PATH_NOT_FOUND
Se possibile, indica che non esiste alcun alias della classe di interfaccia specificata.
STATUS_INVALID_HANDLE
Possibilmente indica un valore simbolico non validoLinkName o aliasClassGuid non valido.

Commenti

Le interfacce del dispositivo vengono considerate alias se vengono esposte dallo stesso dispositivo sottostante e hanno stringhe di riferimento dell'interfaccia identiche, ma sono di classi di interfaccia diverse.

Il parametro SymbolicLinkName specifica un'istanza dell'interfaccia del dispositivo per un determinato dispositivo, appartenente a una determinata classe di interfaccia, con una determinata stringa di riferimento. IoGetDeviceInterfaceAlias restituisce un'altra istanza dell'interfaccia del dispositivo per lo stesso dispositivo e stringa di riferimento, ma di una classe di interfaccia diversa, se presente.

Ad esempio, il driver di funzione per un volume a tolleranza di errore può registrare e impostare due interfacce del dispositivo, una della classe di interfaccia a tolleranza di errore e una della classe dell'interfaccia del volume. Un altro driver può chiamare IoGetDeviceInterfaceAlias con il collegamento simbolico per una delle interfacce e chiedere se l'altra interfaccia esiste specificando la relativa classe di interfaccia.

Due interfacce di dispositivo con stringhe di riferimento NULL sono alias se vengono esposte dallo stesso dispositivo sottostante e hanno GUID di classe di interfaccia diversi.

I chiamanti di IoGetDeviceInterfaceAlias devono essere in esecuzione in IRQL = PASSIVE_LEVEL nel contesto di un thread di sistema.

Requisiti

Requisito Valore
Client minimo supportato Disponibile a partire da Windows 2000.
Piattaforma di destinazione Universale
Intestazione wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Libreria NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL (vedere la sezione Osservazioni)
Regole di conformità DDI HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm)

Vedi anche

IoRegisterDeviceInterface

RtlFreeUnicodeString