Compartir a través de


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 UNICODE_STRING que describe una cadena de referencia para la interfaz del dispositivo. La cadena no debe contener ningún carácter separador de ruta de acceso ("/" o "\"). Este parámetro es opcional y se puede NULL. Para obtener más información, vea la siguiente sección Comentarios.

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, vea Errores de creación de objetos de marco.

El método podría devolver otros valores ntstatus de .

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

Observaciones

El controlador puede llamar a WdfDeviceCreateDeviceInterface desde EVT_WDF_DRIVER_DEVICE_ADDo después de iniciar 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 IsInterfaceEnable d 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, vea Using Device Interfaces.

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 Valor
de la plataforma de destino de Universal
versión mínima de KMDF 1.0
versión mínima de UMDF 2.0
encabezado de wdfdevice.h (incluya Wdf.h)
biblioteca de 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