Función SetupDiGetDevicePropertyKeys (setupapi.h)
La función SetupDiGetDevicePropertyKeys recupera una matriz de las claves de propiedad del dispositivo que representan las propiedades del dispositivo establecidas para una instancia de dispositivo.
Sintaxis
WINSETUPAPI BOOL SetupDiGetDevicePropertyKeys(
[in] HDEVINFO DeviceInfoSet,
[in] PSP_DEVINFO_DATA DeviceInfoData,
[out, optional] DEVPROPKEY *PropertyKeyArray,
[in] DWORD PropertyKeyCount,
[out, optional] PDWORD RequiredPropertyKeyCount,
[in] DWORD Flags
);
Parámetros
[in] DeviceInfoSet
Identificador de un conjunto de información de dispositivo. Este conjunto de información de dispositivo contiene la instancia de dispositivo para la que esta función recupera una matriz de claves de propiedad de dispositivo. Las claves de propiedad representan las propiedades del dispositivo que se establecen para la instancia del dispositivo.
[in] DeviceInfoData
Puntero a una estructura de SP_DEVINFO_DATA que representa la instancia de dispositivo para la que se va a recuperar la matriz solicitada de claves de propiedad de dispositivo.
[out, optional] PropertyKeyArray
Puntero a un búfer que recibe una matriz de valores con tipo DEVPROPKEY, donde cada valor es una clave de propiedad de dispositivo que representa una propiedad de dispositivo que se establece para la instancia del dispositivo. El puntero es opcional y puede ser NULL. Para obtener más información, vea la sección Comentarios más adelante en este tema.
[in] PropertyKeyCount
Tamaño, en valores con tipo DEVPROPKEY, del búfer PropertyKeyArray. Si PropertyKeyArray está establecido en NULL, PropertyKeyCount debe establecerse en cero.
[out, optional] RequiredPropertyKeyCount
Puntero a una variable con tipo DWORD que recibe el número de claves de propiedad de dispositivo solicitadas. El puntero es opcional y se puede establecer en NULL.
[in] Flags
Este parámetro debe establecerse en cero.
Valor devuelto
SetupDiGetDevicePropertyKeys devuelve TRUE si es correcto. 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. |
|
Un valor de datos interno no es válido. |
|
Un búfer de usuario no es válido. Una posibilidad es que PropertyKeyArray sea NULL y PropertKeyCount no sea cero. |
|
La instancia de dispositivo especificada por DevInfoData no existe. |
|
El búfer PropertyKeyArray es demasiado pequeño para contener todas las claves de propiedad solicitadas. |
|
No había suficiente memoria del sistema disponible para completar la operación. |
Comentarios
SetupDiGetDevicePropertyKeys forma parte del modelo de propiedades de dispositivo unificado.
Si el búfer ProperKeyArray no es lo suficientemente grande como para contener todas las claves de propiedad solicitadas, SetupDiGetDevicePropertyKeys no recupera ninguna clave de propiedad y devuelve ERROR_INSUFFICIENT_BUFFER. Si el autor de la llamada proporcionó un puntero RequiredPropertyKeyCount, SetupDiGetDevicePropertyKeys establece el valor de *RequiredPropertyKeyCount en el tamaño necesario, en valores con tipo DEVPROPKEY, del búfer PropertyKeyArray.
Para recuperar una propiedad de instancia de dispositivo, llame a SetupDiGetDeviceProperty y, para establecer una propiedad de instancia de dispositivo, llame a SetupDiSetDeviceProperty.
Requisitos
Cliente mínimo compatible | Disponible en Windows Vista y versiones posteriores de Windows. |
Plataforma de destino | DesktopFor universal, call CM_Get_DevNode_Property_Keys |
Encabezado | setupapi.h (incluya Setupapi.h) |
Library | Setupapi.lib |
Archivo DLL | Setupapi.dll |