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 un NULL stringa Unicode. In caso di esito positivo, AliasSymbolicLinkName.buffer punta a una stringa contenente il nome dell'alias. Il chiamante deve liberare la stringa Unicode con RtlFreeUnicodeString quando non è più necessaria.
Valore restituito
IoGetDeviceInterfaceAlias restituisce STATUS_SUCCESS se la chiamata ha avuto esito positivo. I possibili valori restituiti dall'errore sono descritti di seguito.
Codice restituito | Descrizione |
---|---|
|
Possibilmente indica che non esiste alcun alias della classe di interfaccia specificata. |
|
Possibilmente indica che non esiste alcun alias della classe di interfaccia specificata. |
|
Possibilmente indica un SimbolicoLinkName non valido o un AliasClassGuid non valido. |
Osservazioni
Le interfacce dispositivo sono considerate alias se sono esposte dallo stesso dispositivo sottostante e hanno stringhe di riferimento di 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 la stessa stringa di riferimento, ma di una classe di interfaccia diversa, se esistente.
Ad esempio, il driver di funzione per un volume a tolleranza di errore potrebbe registrare e impostare due interfacce di dispositivo, una della classe di interfaccia del volume a tolleranza di errore e una della classe di interfaccia del volume. Un altro driver potrebbe 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 del dispositivo con NULL stringhe di riferimento sono alias se sono 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.
Fabbisogno
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) |