Función SetupDiGetDeviceInterfaceDetailA (setupapi.h)
La función SetupDiGetDeviceInterfaceDetail devuelve detalles sobre una interfaz de dispositivo.
Sintaxis
WINSETUPAPI BOOL SetupDiGetDeviceInterfaceDetailA(
[in] HDEVINFO DeviceInfoSet,
[in] PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData,
[out, optional] PSP_DEVICE_INTERFACE_DETAIL_DATA_A DeviceInterfaceDetailData,
[in] DWORD DeviceInterfaceDetailDataSize,
[out, optional] PDWORD RequiredSize,
[out, optional] PSP_DEVINFO_DATA DeviceInfoData
);
Parámetros
[in] DeviceInfoSet
Puntero al conjunto de información del dispositivo que contiene la interfaz para la que se van a recuperar los detalles. Normalmente, este identificador lo devuelve SetupDiGetClassDevs.
[in] DeviceInterfaceData
Puntero a una estructura SP_DEVICE_INTERFACE_DATA que especifica la interfaz de DeviceInfoSet para la que se van a recuperar los detalles. Normalmente, SetupDiEnumDeviceInterfaces devuelve un puntero de este tipo.
[out, optional] DeviceInterfaceDetailData
Puntero a una estructura SP_DEVICE_INTERFACE_DETAIL_DATA para recibir información sobre la interfaz especificada. Este parámetro es opcional y se puede NULL. Este parámetro debe ser null si deviceInterfaceDetailSize es cero. Si se especifica este parámetro, el llamador debe establecer DeviceInterfaceDetailData.cbSize en sizeof(SP_DEVICE_INTERFACE_DETAIL_DATA) antes de llamar a esta función. El miembro cbSize siempre contiene el tamaño de la parte fija de la estructura de datos, no un tamaño que refleje la cadena de longitud variable al final.
[in] DeviceInterfaceDetailDataSize
Tamaño del búfer de DeviceInterfaceDetailData. El búfer debe ser al menos (offsetof(SP_DEVICE_INTERFACE_DETAIL_DATA, DevicePath) + sizeof(TCHAR)) bytes, para contener la parte fija de la estructura y un único NULL para terminar una cadena MULTI_SZ vacía.
Este parámetro debe ser cero si DeviceInterfaceDetailData es NULL.
[out, optional] RequiredSize
Puntero a una variable de tipo DWORD que recibe el tamaño necesario del DeviceInterfaceDetailData búfer. Este tamaño incluye el tamaño de la parte fija de la estructura más el número de bytes necesarios para la cadena de ruta de acceso del dispositivo de longitud variable. Este parámetro es opcional y se puede NULL.
[out, optional] DeviceInfoData
Puntero a un búfer que recibe información sobre el dispositivo que admite la interfaz solicitada. El autor de la llamada debe establecer DeviceInfoData.cbSize en sizeof(SP_DEVINFO_DATA). Este parámetro es opcional y se puede NULL.
Valor devuelto
setupDiGetDeviceInterfaceDetail 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 para el error llamando a GetLastError.
Observaciones
El uso de esta función para obtener detalles sobre una interfaz suele ser un proceso de dos pasos:
-
Obtenga el tamaño de búfer necesario. Llame a
SetupDiGetDeviceInterfaceDetail con un puntero DeviceInterfaceDetailData NULL, un DeviceInterfaceDetailDataSize de cero y una variableRequiredSize válida. En respuesta a esta llamada, esta función devuelve el tamaño de búfer necesario en RequiredSize y produce un error con GetLastError devolver ERROR_INSUFFICIENT_BUFFER. - Asigne un búfer de tamaño adecuado y vuelva a llamar a la función para obtener los detalles de la interfaz.
setupDiGetDeviceInterfaceDetail se puede usar para obtener solo el DeviceInfoData. Si la interfaz existe, pero
Nota
El encabezado setupapi.h define SetupDiGetDeviceInterfaceDetail como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Conventions for Function Prototypes.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Disponible en Microsoft Windows 2000 y versiones posteriores de Windows. |
de la plataforma de destino de |
Escritorio |
encabezado de |
setupapi.h (incluya Setupapi.h) |
biblioteca de |
Setupapi.lib |