Compartir a través de


Función SetupDiOpenDeviceInfoA (setupapi.h)

La función SetupDiOpenDeviceInfo agrega un elemento de información de dispositivo para una instancia de dispositivo a un conjunto de información de dispositivo, si aún no existe uno en el conjunto de información del dispositivo y recupera información que identifica el elemento de información del dispositivo para la instancia del dispositivo en el conjunto de información del dispositivo.

Sintaxis

WINSETUPAPI BOOL SetupDiOpenDeviceInfoA(
  [in]            HDEVINFO         DeviceInfoSet,
  [in]            PCSTR            DeviceInstanceId,
  [in, optional]  HWND             hwndParent,
  [in]            DWORD            OpenFlags,
  [out, optional] PSP_DEVINFO_DATA DeviceInfoData
);

Parámetros

[in] DeviceInfoSet

Identificador del conjunto de información del dispositivo al que SetupDiOpenDeviceInfo agrega un elemento de información del dispositivo, si aún no existe, para la instancia de dispositivo especificada por DeviceInstanceId.

[in] DeviceInstanceId

Puntero a una cadena terminada en NULL que proporciona el identificador de instancia de dispositivo de un dispositivo (por ejemplo, "Root*PNP0500\0000"). Si DeviceInstanceId es null o hace referencia a una cadena de longitud cero, SetupDiOpenDeviceInfo agrega un elemento de información del dispositivo al conjunto de información del dispositivo proporcionado, si aún no existe, para el dispositivo raíz en el árbol de dispositivos.

[in, optional] hwndParent

Identificador de la ventana de nivel superior que se usará para cualquier interfaz de usuario relacionada con la instalación del dispositivo.

[in] OpenFlags

Variable de tipo DWORD que controla cómo se abre el elemento de información del dispositivo. El valor de este parámetro puede ser uno o varios de los siguientes:

DIOD_CANCEL_REMOVE

Si se especifica esta marca y el dispositivo se ha marcado para la eliminación pendiente, el sistema operativo cancela la eliminación pendiente.

DIOD_INHERIT_CLASSDRVS

Si se especifica esta marca, el elemento de información del dispositivo resultante hereda la lista de controladores de clase, si existe, asociada al conjunto de información del dispositivo. Además, si hay un controlador seleccionado para el conjunto de información del dispositivo, ese mismo controlador se selecciona para el nuevo elemento de información del dispositivo.

Si el elemento de información del dispositivo ya estaba presente, su lista de controladores de clase, si existe, se reemplaza por la lista heredada.

[out, optional] DeviceInfoData

Puntero a una estructura de SP_DEVINFO_DATA proporcionada por el autor de la llamada que recibe información sobre el elemento de información del dispositivo para la instancia de dispositivo especificada por DeviceInstanceId. El autor de la llamada debe establecer cbSize en sizeof(SP_DEVINFO_DATA). Este parámetro es opcional y se puede NULL.

Valor devuelto

setupDiOpenDeviceInfo devuelve TRUE si se realiza correctamente. De lo contrario, la función devuelve FALSE y el error registrado se puede recuperar con una llamada a GetLastError.

Observaciones

Si se agrega esta instancia de dispositivo a un conjunto que tiene una clase asociada, la clase de dispositivo debe ser la misma o se producirá un error en la llamada. En este caso, una llamada a GetLastError devuelve ERROR_CLASS_MISMATCH.

Si el nuevo elemento de información del dispositivo se abre correctamente, pero el DeviceInfoData proporcionado por el autor de la llamada búfer no es válido, esta función devuelve FALSE. En este caso, una llamada a GetLastError devuelve ERROR_INVALID_USER_BUFFER. Sin embargo, el elemento de información del dispositivo se agrega como un nuevo miembro del conjunto de todos modos.

Nota

El encabezado setupapi.h define SetupDiOpenDeviceInfo 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

Consulte también

SP_DEVINFO_DATA

SetupDiCreateDeviceInfo

SetupDiDeleteDeviceInfo

SetupDiEnumDeviceInfo