Función SetupDiGetDeviceInterfacePropertyKeys (setupapi.h)

La función SetupDiGetDeviceInterfacePropertyKeys recupera una matriz de claves de propiedad de dispositivo que representan las propiedades del dispositivo establecidas para una interfaz de dispositivo.

Sintaxis

WINSETUPAPI BOOL SetupDiGetDeviceInterfacePropertyKeys(
  [in]            HDEVINFO                  DeviceInfoSet,
  [in]            PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData,
  [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 una interfaz de dispositivo para la que se va a recuperar una matriz de las claves de propiedad del dispositivo que representan las propiedades del dispositivo que se establecen para una interfaz de dispositivo.

[in] DeviceInterfaceData

Puntero a una estructura de SP_DEVICE_INTERFACE_DATA que representa la interfaz de dispositivo para la que se va a recuperar la matriz solicitada de claves de propiedad del 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 para una propiedad de dispositivo establecida para la interfaz 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 elementos con tipo DEVPROPKEY, del búfer PropertyKeyArray. Si PropertyKeyArray es 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

La función 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
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_DATA
Un valor de datos interno no es válido.
ERROR_INVALID_PARAMETER
Un parámetro no es válido. Una posibilidad es que la interfaz del dispositivo especificada por DevInterfaceData no sea válida.
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_DEVICE_INTERFACE
La interfaz de dispositivo especificada por DeviceInterfaceData no existe.
ERROR_INSUFFICIENT_BUFFER
El búfer PropertyKeyArray no es lo suficientemente grande como 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

SetupDiGetDeviceInterfacePropertyKeys forma parte del modelo de propiedades de dispositivo unificado.

Si el búfer PropertyKeyArray no es lo suficientemente grande como para contener todas las claves de propiedad solicitadas, SetupDiGetDeviceInterfacePropertyKeys no recupera ninguna clave de propiedad y devuelve ERROR_INSUFFICIENT_BUFFER. Si el llamador proporcionó un puntero RequiredPropertyKeyCount, SetupDiGetDeviceInterfacePropertyKeys establece el valor de *RequiredPropertyKeyCount en el tamaño necesario, en valores con tipo DEVPROPKEY, del búfer PropertyKeyArray.

Para recuperar una propiedad de interfaz de dispositivo, llame a SetupDiGetDeviceInterfaceProperty y, para establecer una propiedad de interfaz de dispositivo, llame a SetupDiSetDeviceInterfaceProperty.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible en Windows Vista y versiones posteriores de Windows.
Plataforma de destino DesktopFor universal, call CM_Get_Device_Interface_Property_Keys
Encabezado setupapi.h (incluya Setupapi.h)
Library Setupapi.lib
Archivo DLL Setupapi.dll

Consulte también

SetupDiGetDeviceInterfaceProperty

SetupDiSetDeviceInterfaceProperty