Estrutura interface (wdm.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, cada vez 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 depois de terminar de usar a interface . Depois de chamar a rotina InterfaceDereference , um driver não pode usar a interface novamente sem primeiro reobtê-la.

Ao introduzir uma nova versão de uma interface existente, crie um novo GUID em vez de revisar os campos Tamanho ou Versão dessa estrutura. Para obter mais informações, consulte Usando interfaces Driver-Defined.

Requisitos

Requisito Valor
Cabeçalho wdm.h (inclua Wdm.h, Ntddk.h, Ntifs.h, Miniport.h)

Confira também

IRP_MN_QUERY_INTERFACE

InterfaceDereference