Función SetupDiGetDeviceInterfaceAlias (setupapi.h)
La función SetupDiGetDeviceInterfaceAlias devuelve un alias de una interfaz de dispositivo especificada.
Sintaxis
WINSETUPAPI BOOL SetupDiGetDeviceInterfaceAlias(
[in] HDEVINFO DeviceInfoSet,
[in] PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData,
[in] const GUID *AliasInterfaceClassGuid,
[out] PSP_DEVICE_INTERFACE_DATA AliasDeviceInterfaceData
);
Parámetros
[in] DeviceInfoSet
Puntero al conjunto de información del dispositivo que contiene la interfaz de dispositivo para la que se va a recuperar un alias. Este identificador normalmente lo devuelve SetupDiGetClassDevs.
[in] DeviceInterfaceData
Puntero a una estructura de SP_DEVICE_INTERFACE_DATA que especifica la interfaz del dispositivo en DeviceInfoSet para la que se va a recuperar un alias. Este puntero normalmente lo devuelve SetupDiEnumDeviceInterfaces.
[in] AliasInterfaceClassGuid
Puntero a un GUID que especifica la clase de interfaz del alias que se va a recuperar.
[out] AliasDeviceInterfaceData
Puntero a un búfer asignado por el autor de la llamada que contiene, al devolverse correctamente, una estructura de SP_DEVICE_INTERFACE_DATA completada que identifica el alias solicitado. El llamador debe establecer AliasDeviceInterfaceData.cbSize en sizeof(SP_DEVICE_INTERFACE_DATA) antes de llamar a esta función.
Valor devuelto
SetupDiGetDeviceInterfaceAlias devuelve TRUE si la función se completó sin error. Si la función se completó con un error, se devuelve FALSE y se puede recuperar el código de error mediante una llamada a GetLastError.
Los posibles errores devueltos por GetLastError se enumeran en la tabla siguiente.
Código devuelto | Descripción |
---|---|
|
DeviceInfoSet no válido o parámetro DeviceInterfaceData no válido. |
|
No hay ningún alias de la clase AliasInterfaceClassGuid para la interfaz de dispositivo especificada. |
|
Búfer AliasDeviceInterfaceData no válido. |
Comentarios
Las interfaces de dispositivo se consideran alias si son de diferentes clases de interfaz, pero son compatibles con el mismo dispositivo y tienen cadenas de referencia idénticas.
SetupDiGetDeviceInterfaceAlias se puede usar para localizar un dispositivo que expone más de una interfaz. Por ejemplo, considere un disco que puede formar parte de un volumen tolerante a errores y que puede contener datos cifrados. El controlador de función del dispositivo de disco podría registrar una interfaz de volumen tolerante a errores y una interfaz de volumen cifrada. Estas interfaces son alias de interfaz de dispositivo si el controlador de función los registra con cadenas de referencia idénticas y hacen referencia al mismo dispositivo. (Es probable que las cadenas de referencia sean NULL y, por tanto, sean iguales).
Para localizar este tipo de dispositivo de varias interfaces, busque primero todos los dispositivos disponibles que exponen una de las interfaces, como la interfaz de volumen tolerante a errores, mediante SetupDiGetClassDevs y SetupDiEnumDeviceInterfaces. A continuación, pase un dispositivo con la primera interfaz (volumen tolerante a errores) a SetupDiGetDeviceInterfaceAlias y solicite un alias de la otra clase de interfaz (volumen cifrado).
Si el alias solicitado existe, pero el búfer AliasDeviceInterfaceData proporcionado por el autor de la llamada no es válido, esta función agrega correctamente el elemento de interfaz del dispositivo a DevInfoSet , pero devuelve FALSE para el valor devuelto. En este caso, GetLastError devuelve ERROR_INVALID_USER_BUFFER.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Disponible en Microsoft Windows 2000 y versiones posteriores de Windows. |
Plataforma de destino | Escritorio |
Encabezado | setupapi.h (incluya Setupapi.h) |
Library | Setupapi.lib |
Archivo DLL | Setupapi.dll |