Struttura INTERFACE (wdm.h)

La struttura INTERFACE descrive un'interfaccia esportata da un driver per l'uso da parte di altri driver.

Sintassi

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

Members

Size

Dimensioni, in byte, di una struttura che definisce un'interfaccia driver, inclusa questa struttura e membri specifici dell'interfaccia.

Version

Versione dell'interfaccia definita dal driver.

Context

Puntatore a informazioni di contesto specifiche dell'interfaccia.

InterfaceReference

Puntatore a una routine InterfaceReference fornita dal driver che incrementa il conteggio dei riferimenti dell'interfaccia.

InterfaceDereference

Puntatore a una routine InterfaceDereference fornita dal driver che decrementa il conteggio dei riferimenti dell'interfaccia.

Commenti

La struttura INTERFACE deve essere inclusa come primo membro di tutte le strutture che descrivono le interfacce restituite dai driver in risposta a una richiesta di IRP_MN_QUERY_INTERFACE .

La routine InterfaceReference deve essere chiamata dal driver che esporta l'interfaccia, ogni volta che il driver fornisce tale interfaccia in risposta a IRP_MN_QUERY_INTERFACE. Analogamente, se il driver che richiede l'interfaccia successivamente lo passa a un altro driver, il driver che passa l'interfaccia deve chiamare InterfaceReference per conto del driver che lo riceve.

Ogni driver che importa l'interfaccia (se inviando IRP_MN_QUERY_INTERFACE o ricevendo l'interfaccia da un altro driver) deve chiamare la routine InterfaceDereference al termine dell'uso dell'interfaccia. Dopo aver chiamato la routine InterfaceDereference , un driver non può usare di nuovo l'interfaccia senza prima riapprenzarlo.

Quando si introduce una nuova versione di un'interfaccia esistente, creare un nuovo GUID anziché rivedere i campi Dimensioni o Versione di questa struttura. Per altre info, vedi Uso delle interfacce Driver-Defined.

Requisiti

Requisito Valore
Intestazione wdm.h (include Wdm.h, Ntddk.h, Ntifs.h, Miniport.h)

Vedi anche

IRP_MN_QUERY_INTERFACE

InterfaceDereference