Función SetupDiCreateDeviceInterfaceA (setupapi.h)
La función
Sintaxis
WINSETUPAPI BOOL SetupDiCreateDeviceInterfaceA(
[in] HDEVINFO DeviceInfoSet,
[in] PSP_DEVINFO_DATA DeviceInfoData,
[in] const GUID *InterfaceClassGuid,
[in, optional] PCSTR 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. Normalmente, este identificador 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 se puede 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 se puede NULL. Si se proporciona la estructura, el autor de la llamada debe establecer el cbSize miembro de esta estructura en sizeof(SP_DEVICE_INTERFACE_DATA) antes de llamar a esta función. Para obtener más información, consulte la siguiente sección Comentarios.
Valor devuelto
setupDiCreateDeviceInterface devuelve TRUE si la función se completó sin error. Si la función se completó con un error, devuelve FALSE y el código de error del error se puede recuperar llamando a GetLastError.
Observaciones
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 habilitar la interfaz 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 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 |