Función SetupDiCreateDeviceInterfaceW (setupapi.h)

La función SetupDiCreateDeviceInterface registra una interfaz de dispositivo en un sistema local o en un sistema remoto.

Sintaxis

WINSETUPAPI BOOL SetupDiCreateDeviceInterfaceW(
  [in]            HDEVINFO                  DeviceInfoSet,
  [in]            PSP_DEVINFO_DATA          DeviceInfoData,
  [in]            const GUID                *InterfaceClassGuid,
  [in, optional]  PCWSTR                    ReferenceString,
  [in]            DWORD                     CreationFlags,
  [out, optional] PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData
);

Parámetros

[in] DeviceInfoSet

Identificador de un conjunto de información de dispositivo. Este conjunto contiene un elemento de información del dispositivo que representa el dispositivo para el que se va a registrar una interfaz. Este identificador normalmente lo devuelve SetupDiGetClassDevs.

[in] DeviceInfoData

Puntero a una estructura de SP_DEVINFO_DATA que especifica el elemento de información del dispositivo en DeviceInfoSet.

[in] InterfaceClassGuid

Puntero a un GUID de clase que especifica la clase de interfaz para la nueva interfaz.

[in, optional] ReferenceString

Puntero a una cadena terminada en NULL que proporciona una cadena de referencia. Este puntero es opcional y puede ser NULL. Las cadenas de referencia solo las usan algunos controladores de bus que usan interfaces de dispositivo como marcadores de posición para dispositivos de software creados a petición.

[in] CreationFlags

Reservado. Debe ser cero.

[out, optional] DeviceInterfaceData

Puntero a una estructura de SP_DEVICE_INTERFACE_DATA inicializada por el autor de la llamada para recibir información sobre la nueva interfaz de dispositivo. Este puntero es opcional y puede ser NULL. Si se proporciona la estructura, el autor de la llamada debe establecer el miembro cbSize de esta estructura en sizeof(SP_DEVICE_INTERFACE_DATA) antes de llamar a esta función. Para obtener más información, vea la siguiente sección Comentarios .

Valor devuelto

SetupDiCreateDeviceInterface devuelve TRUE si la función se completó sin error. Si la función se completa con un error, devuelve FALSE y el código de error del error se puede recuperar llamando a GetLastError.

Comentarios

El autor de la llamada de esta función debe ser miembro del grupo Administradores.

SetupDiCreateDeviceInterface registra una interfaz para un dispositivo. Si un dispositivo tiene más de una interfaz, llame a esta función una vez para cada interfaz que se está registrando.

Si esta función registra correctamente una interfaz para el dispositivo que corresponde al elemento de información del dispositivo especificado, también agrega la interfaz a la lista de interfaz asociada al elemento de información del dispositivo en el conjunto de información del dispositivo especificado.

Para que las aplicaciones y otros componentes del sistema puedan usar una interfaz registrada, el controlador debe habilitarla para el dispositivo.

Esta función crea una clave del Registro para la nueva interfaz de dispositivo. Los autores de llamadas de esta función pueden acceder al almacenamiento no volátil en esta clave mediante SetupDiOpenDeviceInterfaceRegKey.

Si SetupDiCreateDeviceInterface crea correctamente una nueva interfaz de dispositivo, pero el búfer proporcionado por el autor de la llamada en el parámetro DeviceInterfaceData no es válido, esta función devolverá FALSE y una llamada posterior a GetLastError devolverá ERROR_INVALID_USER_BUFFER. Sin embargo, la función crea y registra la nueva interfaz de dispositivo.

Nota

El encabezado setupapi.h define SetupDiCreateDeviceInterface 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 neutro de codificación con código que no es neutral de codificación puede provocar discrepancias que dan lugar a errores de compilación o en tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible en Microsoft Windows 2000 y versiones posteriores de Windows.
Plataforma de destino Escritorio
Encabezado setupapi.h (incluya Setupapi.h)
Library Setupapi.lib

Consulte también

SetupDiOpenDeviceInterfaceRegKey

SetupDiRemoveDeviceInterface