INTERFACE 結構 (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 要求。
InterfaceReference 例程必須由匯出介面的驅動程式呼叫,每次驅動程式提供該介面以回應 IRP_MN_QUERY_INTERFACE。 同樣地,如果要求介面的驅動程式後續將它傳遞給另一個驅動程式,則傳遞介面的驅動程序必須代表接收介面的驅動程式呼叫 InterfaceReference。
匯入介面的每個驅動程式(無論是透過傳送 IRP_MN_QUERY_INTERFACE 還是從另一個驅動程式接收介面),都必須在使用介面完成之後呼叫 InterfaceDereference 例程。 呼叫 InterfaceDereference 例程之後,驅動程式無法再次使用 介面,而不需要先重新執行介面。
要求
要求 | 價值 |
---|---|
標頭 | miniport.h (包括 Wdm.h、Ntddk.h、Ntifs.h、Miniport.h) |