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) |