Condividi tramite


Struttura INTERFACE (miniport.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;

Membri

Size

Dimensioni, in byte, di una struttura che definisce un'interfaccia del 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 un InterfaceReference fornito dal driver routine che incrementa il conteggio dei riferimenti dell'interfaccia.

InterfaceDereference

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

Osservazioni

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 lo passa successivamente 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'utilizzo dell'interfaccia. Dopo aver chiamato la routine InterfaceDereference, un driver non può usare di nuovo l'interfaccia senza prima riapprelarla.

Fabbisogno

Requisito Valore
intestazione miniport.h (include Wdm.h, Ntddk.h, Ntifs.h, Miniport.h)

Vedere anche

IRP_MN_QUERY_INTERFACE

InterfaceDereference

InterfaceReference