Función WdfDeviceCreateDeviceInterface (wdfdevice.h)

[Se aplica a KMDF y UMDF]

El método WdfDeviceCreateDeviceInterface crea una interfaz de dispositivo para un dispositivo especificado.

Sintaxis

NTSTATUS WdfDeviceCreateDeviceInterface(
  [in]           WDFDEVICE        Device,
  [in]           const GUID       *InterfaceClassGUID,
  [in, optional] PCUNICODE_STRING ReferenceString
);

Parámetros

[in] Device

Identificador de un objeto de dispositivo de marco.

[in] InterfaceClassGUID

Puntero a un GUID que identifica la clase de interfaz de dispositivo.

[in, optional] ReferenceString

Puntero a una estructura de UNICODE_STRING que describe una cadena de referencia para la interfaz del dispositivo. La cadena no debe contener caracteres separadores de ruta de acceso ("/" o "\"). Este parámetro es opcional y puede ser NULL. Para obtener más información, vea la sección Comentarios que se muestra más adelante.

Valor devuelto

WdfDeviceCreateDeviceInterface devuelve STATUS_SUCCESS si la operación se realiza correctamente.

Para obtener una lista de otros valores devueltos que WdfDeviceCreateDeviceInterface puede devolver, consulte Errores de creación de objetos de marco.

El método podría devolver otros valores NTSTATUS.

Se produce una comprobación de errores si el controlador proporciona un identificador de objeto no válido.

Comentarios

El controlador puede llamar a WdfDeviceCreateDeviceInterface desde EVT_WDF_DRIVER_DEVICE_ADD o después de que se haya iniciado el dispositivo.

Si el controlador llama a esta función desde su función de devolución de llamada EVT_WDF_DRIVER_DEVICE_ADD , la interfaz se habilita automáticamente cuando el dispositivo se inicia y deshabilita cuando se detiene el dispositivo. Para evitar la habilitación automática, el controlador puede llamar a WdfDeviceSetDeviceInterfaceStateEx con el parámetro IsInterfaceEnabled establecido en FALSE.

Si el controlador llama a esta función después de que el dispositivo ya se haya iniciado, la interfaz permanece deshabilitada. El controlador puede llamar a WdfDeviceSetDeviceInterfaceState según corresponda.

Los controladores pueden usar el parámetro ReferenceString para diferenciar diferentes instancias de una sola interfaz. Es decir, si un controlador llama a WdfDeviceCreateDeviceInterface dos veces para la misma clase de interfaz de dispositivo, el controlador puede especificar un parámetro ReferenceString diferente cada vez. Cuando se abre una instancia de una interfaz, el administrador de E/S pasa la cadena de referencia de la instancia al controlador. La cadena de referencia se anexa al componente de ruta de acceso del nombre de la instancia de interfaz. A continuación, el controlador puede usar la cadena de referencia para determinar qué instancia de la clase de interfaz de dispositivo se está abriendo.

Para obtener más información sobre las interfaces de dispositivo y el método WdfDeviceCreateDeviceInterface , consulte Uso de interfaces de dispositivo.

Ejemplos

En el ejemplo siguiente se registra la clase de interfaz de puerto COM para un dispositivo.

NTSTATUS  status;

status = WdfDeviceCreateDeviceInterface(
                                        Device,
                                        (LPGUID) &GUID_DEVINTERFACE_COMPORT,
                                        NULL
                                        );

Requisitos

Requisito Value
Plataforma de destino Universal
Versión mínima de KMDF 1.0
Versión mínima de UMDF 2.0
Encabezado wdfdevice.h (incluya Wdf.h)
Library Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL PASSIVE_LEVEL
Reglas de cumplimiento de DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Consulte también

UNICODE_STRING

WdfDeviceSetDeviceInterfaceState