Estrutura interface (miniport.h)
A estrutura INTERFACE descreve uma interface exportada por um driver para uso por outros drivers.
Sintaxe
typedef struct _INTERFACE {
USHORT Size;
USHORT Version;
PVOID Context;
PINTERFACE_REFERENCE InterfaceReference;
PINTERFACE_DEREFERENCE InterfaceDereference;
} INTERFACE, *PINTERFACE;
Membros
Size
Tamanho, em bytes, de uma estrutura que define uma interface de driver, incluindo essa estrutura e membros específicos da interface.
Version
Versão da interface definida pelo driver.
Context
Ponteiro para informações de contexto específicas da interface.
InterfaceReference
Ponteiro para uma rotina InterfaceReference fornecida pelo driver que incrementa a contagem de referência da interface.
InterfaceDereference
Ponteiro para uma rotina interfaceDereference fornecida pelo driver que diminui a contagem de referência da interface.
Comentários
A estrutura interface deve ser incluída como o primeiro membro de todas as estruturas que descrevem interfaces retornadas por drivers em resposta a uma solicitação de IRP_MN_QUERY_INTERFACE .
A rotina InterfaceReference deve ser chamada pelo driver que exporta a interface, sempre que o driver fornece essa interface em resposta a IRP_MN_QUERY_INTERFACE. Da mesma forma, se o driver que solicita a interface passar posteriormente para outro driver, o driver que passa a interface deverá chamar InterfaceReference em nome do driver que a recebe.
Cada driver que importa a interface (seja enviando IRP_MN_QUERY_INTERFACE ou recebendo a interface de outro driver) deve chamar a rotina InterfaceDereference após a conclusão do uso da interface. Depois de chamar a rotina InterfaceDereference , um driver não poderá usar a interface novamente sem primeiro recontê-la.
Requisitos
Requisito | Valor |
---|---|
Cabeçalho | miniport.h (incluem Wdm.h, Ntddk.h, Ntifs.h, Miniport.h) |