Compartir a través de


Estructura INTERFACE (miniport.h)

La INTERFAZ estructura describe una interfaz exportada por un controlador para su uso por otros controladores.

Sintaxis

typedef struct _INTERFACE {
  USHORT                 Size;
  USHORT                 Version;
  PVOID                  Context;
  PINTERFACE_REFERENCE   InterfaceReference;
  PINTERFACE_DEREFERENCE InterfaceDereference;
} INTERFACE, *PINTERFACE;

Miembros

Size

Tamaño, en bytes, de una estructura que define una interfaz de controlador, incluida esta estructura y miembros específicos de la interfaz.

Version

Versión de interfaz definida por el controlador.

Context

Puntero a información de contexto específica de la interfaz.

InterfaceReference

Puntero a un InterfaceReference proporcionado por el controlador rutina que incrementa el recuento de referencias de la interfaz.

InterfaceDereference

Puntero a un InterfaceDereference proporcionado por el controlador rutina que disminuye el recuento de referencias de la interfaz.

Observaciones

La INTERFAZ estructura debe incluirse como primer miembro de todas las estructuras que describen las interfaces devueltas por los controladores en respuesta a una solicitud de IRP_MN_QUERY_INTERFACE.

El controlador que exporta la interfaz debe llamar a la rutina interfaceReference, cada vez que el controlador proporciona esa interfaz en respuesta a IRP_MN_QUERY_INTERFACE. Del mismo modo, si el controlador que solicita la interfaz lo pasa posteriormente a otro controlador, el controlador que pasa la interfaz debe llamar a InterfaceReference en nombre del controlador que lo recibe.

Cada controlador que importe la interfaz (ya sea enviando IRP_MN_QUERY_INTERFACE o recibiendo la interfaz de otro controlador) debe llamar a la InterfaceDereference rutina después de que haya terminado de usar la interfaz. Después de llamar a la rutina de InterfaceDereference, un controlador no puede volver a usar la interfaz sin volver a detenerla.

Requisitos

Requisito Valor
encabezado de miniport.h (include Wdm.h, Ntddk.h, Ntifs.h, Miniport.h)

Consulte también

IRP_MN_QUERY_INTERFACE

interfaceDereference

interfaceReference