Funzione SetupDiGetDeviceInterfaceAlias (setupapi.h)
La funzione SetupDiGetDeviceInterfaceAlias restituisce un alias di un'interfaccia del dispositivo specificata.
Sintassi
WINSETUPAPI BOOL SetupDiGetDeviceInterfaceAlias(
[in] HDEVINFO DeviceInfoSet,
[in] PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData,
[in] const GUID *AliasInterfaceClassGuid,
[out] PSP_DEVICE_INTERFACE_DATA AliasDeviceInterfaceData
);
Parametri
[in] DeviceInfoSet
Puntatore al set di informazioni sul dispositivo che contiene l'interfaccia del dispositivo per cui recuperare un alias. Questo handle viene in genere restituito da SetupDiGetClassDevs.
[in] DeviceInterfaceData
Puntatore a una struttura SP_DEVICE_INTERFACE_DATA che specifica l'interfaccia del dispositivo in DeviceInfoSet per cui recuperare un alias. Questo puntatore viene in genere restituito da SetupDiEnumDeviceInterfaces.
[in] AliasInterfaceClassGuid
Puntatore a un GUID che specifica la classe di interfaccia dell'alias da recuperare.
[out] AliasDeviceInterfaceData
Puntatore a un buffer allocato dal chiamante che contiene, in caso di esito positivo, una struttura SP_DEVICE_INTERFACE_DATA completata che identifica l'alias richiesto. Il chiamante deve impostare AliasDeviceInterfaceData.cbSize su sizeof(SP_DEVICE_INTERFACE_DATA) prima di chiamare questa funzione.
Valore restituito
SetupDiGetDeviceInterfaceAlias restituisceTRUE se la funzione è stata completata senza errori. Se la funzione è stata completata con un errore, viene restituito FALSE e il codice di errore per l'errore può essere recuperato chiamando GetLastError.
I possibili errori restituiti da GetLastError sono elencati nella tabella seguente.
Codice restituito | Descrizione |
---|---|
|
Parametro DeviceInfoSet non valido o DeviceInterfaceData non valido. |
|
Non esiste alcun alias della classe AliasInterfaceClassGuid per l'interfaccia del dispositivo specificata. |
|
Buffer AliasDeviceInterfaceData non valido. |
Commenti
Le interfacce del dispositivo sono considerate alias se sono di classi di interfaccia diverse, ma sono supportate dallo stesso dispositivo e hanno stringhe di riferimento identiche.
SetupDiGetDeviceInterfaceAlias può essere usato per individuare un dispositivo che espone più interfacce. Si consideri ad esempio un disco che può far parte di un volume a tolleranza di errore e può contenere dati crittografati. Il driver di funzione per il dispositivo disco potrebbe registrare un'interfaccia del volume a tolleranza di errore e un'interfaccia di volume crittografato. Queste interfacce sono alias dell'interfaccia del dispositivo se il driver di funzione li registra con stringhe di riferimento identiche e fanno riferimento allo stesso dispositivo. Le stringhe di riferimento saranno probabilmente NULL e pertanto sono uguali.
Per individuare un dispositivo a più interfacce, individuare innanzitutto tutti i dispositivi disponibili che espongono una delle interfacce, ad esempio l'interfaccia del volume a tolleranza di errore, usando SetupDiGetClassDevs e SetupDiEnumDeviceInterfaces. Passare quindi un dispositivo con la prima interfaccia (volume a tolleranza di errore) a SetupDiGetDeviceInterfaceAlias e richiedere un alias dell'altra classe di interfaccia (encrypted-volume).
Se l'alias richiesto esiste ma il buffer AliasDeviceInterfaceData fornito dal chiamante non è valido, questa funzione aggiunge correttamente l'elemento dell'interfaccia del dispositivo a DevInfoSet , ma restituisce FALSE per il valore restituito. In questo caso, GetLastError restituisce ERROR_INVALID_USER_BUFFER.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Disponibile in Microsoft Windows 2000 e versioni successive di Windows. |
Piattaforma di destinazione | Desktop |
Intestazione | setupapi.h (include Setupapi.h) |
Libreria | Setupapi.lib |
DLL | Setupapi.dll |