interface structure (miniport.h)
INTERFACE 結構描述由驅動程式導出以供其他驅動程式使用的介面。
語法
typedef struct _INTERFACE {
USHORT Size;
USHORT Version;
PVOID Context;
PINTERFACE_REFERENCE InterfaceReference;
PINTERFACE_DEREFERENCE InterfaceDereference;
} INTERFACE, *PINTERFACE;
成員
Size
定義驅動程式介面之結構的大小,以位元組為單位,包括這個結構和介面特定成員。
Version
驅動程式定義的介面版本。
Context
介面特定內容資訊的指標。
InterfaceReference
驅動程式提供的 InterfaceReference 例程指標,此例程會遞增介面的參考計數。
InterfaceDereference
驅動程式提供的 InterfaceDereference 例程指標,該例程會遞減介面的參考計數。
備註
INTERFACE 結構必須包含為所有結構的第一個成員,這些結構會描述驅動程式傳回的介面,以回應IRP_MN_QUERY_INTERFACE要求。
每次驅動程式提供介面以回應IRP_MN_QUERY_INTERFACE時,都必須呼叫 InterfaceReference 例程。 同樣地,如果要求介面的驅動程序接著將它傳遞給另一個驅動程式,則傳遞介面的驅動程序必須代表接收介面的驅動程式呼叫 InterfaceReference 。
每個匯入介面的驅動程式 (是透過傳送 IRP_MN_QUERY_INTERFACE ,還是從另一個驅動程式接收介面,) 必須在介面完成之後呼叫 InterfaceDereference 例程。 呼叫 InterfaceDereference 例程之後,驅動程式無法再次使用介面,而不需要先重新處理它。
規格需求
需求 | 值 |
---|---|
標頭 | miniport.h (包括 Wdm.h、Ntddk.h、Ntifs.h、Miniport.h) |