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 |
---|---|
|
Se possibile, indica che non esiste alcun alias della classe di interfaccia specificata. |
|
Se possibile, indica che non esiste alcun alias della classe di interfaccia specificata. |
|
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) |