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) |