Función SetupDiGetDevicePropertyW (setupapi.h)
La función SetupDiGetDeviceProperty recupera una propiedad de instancia de dispositivo.
Sintaxis
WINSETUPAPI BOOL SetupDiGetDevicePropertyW(
[in] HDEVINFO DeviceInfoSet,
[in] PSP_DEVINFO_DATA DeviceInfoData,
[in] const DEVPROPKEY *PropertyKey,
[out] DEVPROPTYPE *PropertyType,
[out, optional] PBYTE PropertyBuffer,
[in] DWORD PropertyBufferSize,
[out, optional] PDWORD RequiredSize,
[in] DWORD Flags
);
Parámetros
[in] DeviceInfoSet
Identificador de un conjunto de información de dispositivo que contiene una instancia de dispositivo para la que se va a recuperar una propiedad de instancia de dispositivo.
[in] DeviceInfoData
Puntero a la estructura SP_DEVINFO_DATA que representa la instancia de dispositivo para la que se va a recuperar una propiedad de instancia de dispositivo.
[in] PropertyKey
Puntero a una estructura DEVPROPKEY que representa la clave de propiedad del dispositivo de la propiedad de instancia de dispositivo solicitada.
[out] PropertyType
Puntero a una variable con tipo DEVPROPTYPE que recibe el identificador property-data-type de la propiedad de instancia de dispositivo solicitada, donde el identificador property-data-type es el OR bit a bit entre un identificador de tipo de datos base y, si se modifica el tipo de datos base, un modificador property-data-type.
[out, optional] PropertyBuffer
Puntero a un búfer que recibe la propiedad de instancia de dispositivo solicitada. SetupDiGetDeviceProperty recupera la propiedad solicitada solo si el búfer es lo suficientemente grande como para contener todos los datos de valor de propiedad. El puntero puede ser NULL. Si el puntero se establece en NULL y RequiredSize se proporciona, SetupDiGetDeviceProperty devuelve el tamaño de la propiedad, en bytes, en *RequiredSize.
[in] PropertyBufferSize
Tamaño, en bytes, del búfer PropertyBuffer . Si PropertyBuffer se establece en NULL, PropertyBufferSize debe establecerse en cero.
[out, optional] RequiredSize
Puntero a una variable con tipo DWORD que recibe el tamaño, en bytes, de la propiedad de instancia del dispositivo si la propiedad se recupera o el tamaño de búfer necesario si el búfer no es lo suficientemente grande. Este puntero se puede establecer en NULL.
[in] Flags
Este parámetro debe establecerse en cero.
Valor devuelto
SetupDiGetDeviceProperty devuelve TRUE si se realiza correctamente. De lo contrario, devuelve FALSE y el error registrado se puede recuperar llamando a GetLastError.
En la tabla siguiente se incluyen algunos de los códigos de error más comunes que esta función podría registrar.
Código devuelto | Descripción |
---|---|
|
El valor de Flags no es cero. |
|
El conjunto de información del dispositivo especificado por DevInfoSet no es válido. |
|
Un parámetro proporcionado no es válido. Una posibilidad es que el elemento de información del dispositivo no sea válido. |
|
La clave de propiedad proporcionada por PropertyKey no es válida. |
|
Un valor de datos interno no especificado no era válido. |
|
Un búfer de usuario no es válido. Una posibilidad es que PropertyBuffer sea NULL y PropertBufferSize no sea cero. |
|
La instancia de dispositivo especificada por DevInfoData no existe. |
|
El búfer PropertyBuffer es demasiado pequeño para contener el valor de propiedad solicitado o un búfer de datos interno que se pasó a una llamada del sistema era demasiado pequeño. |
|
No había suficiente memoria del sistema disponible para completar la operación. |
|
La propiedad de dispositivo solicitada no existe. |
|
El autor de la llamada no tiene privilegios de administrador. |
Comentarios
SetupDiGetDeviceProperty forma parte del modelo de propiedades de dispositivo unificado.
SetupAPI solo admite una versión Unicode de SetupDiGetDeviceProperty.
Para obtener las claves de propiedad del dispositivo que representan las propiedades del dispositivo establecidas para una instancia de dispositivo, llame a SetupDiGetDevicePropertyKeys.
Para establecer una propiedad de instancia de dispositivo, llame a SetupDiSetDeviceProperty.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Disponible en Windows Vista y versiones posteriores de Windows. |
Plataforma de destino | DesktopFor universal, call CM_Get_DevNode_Property |
Encabezado | setupapi.h (incluya SetupAPI.h) |
Library | SetupAPI.lib |
Archivo DLL | SetupAPI.dll |
Conjunto de API | ext-ms-win-setupapi-classinstallers-l1-1-0 (introducido en Windows 8) |