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
ERROR_INVALID_FLAGS
El valor de Flags no es cero.
ERROR_INVALID_HANDLE
El conjunto de información del dispositivo especificado por DevInfoSet no es válido.
ERROR_INVALID_PARAMETER
Un parámetro proporcionado no es válido. Una posibilidad es que el elemento de información del dispositivo no sea válido.
ERROR_INVALID_DATA
Un valor de datos interno no es válido.
ERROR_INVALID_USER_BUFFER
Un búfer de usuario no es válido. Una posibilidad es que PropertyKeyArray sea NULL y PropertKeyCount no sea cero.
ERROR_NO_SUCH_DEVINST
La instancia de dispositivo especificada por DevInfoData no existe.
ERROR_INSUFFICIENT_BUFFER
El búfer PropertyKeyArray es demasiado pequeño para contener todas las claves de propiedad solicitadas.
ERROR_NOT_ENOUGH_MEMORY
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

Consulte también

SetupDiGetDeviceProperty

SetupDiSetDeviceProperty