Struttura INTERFACE (miniport.h)
La struttura INTERFACE descrive un'interfaccia esportata da un driver da usare da 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, tra cui questa struttura e membri specifici dell'interfaccia.
Version
Versione dell'interfaccia definita dal driver.
Context
Puntatore alle 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 l'interfaccia in risposta alla 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 invia IRP_MN_QUERY_INTERFACE o riceve l'interfaccia da un altro driver) deve chiamare la routine InterfaceDereference dopo aver completato l'uso dell'interfaccia. Dopo aver chiamato la routine InterfaceDereference , un driver non può usare di nuovo l'interfaccia senza prima riappare.
Requisiti
Requisito | Valore |
---|---|
Intestazione | miniport.h (include Wdm.h, Ntddk.h, Ntifs.h, Miniport.h) |