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)

Confira também

IRP_MN_QUERY_INTERFACE

InterfaceDereference

InterfaceReference