介面結構 (wdm.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 例程之後,驅動程式無法再次使用介面,而不需要先重新處理它。

引進新版的現有介面時,請建立新的 GUID,而不是修改此結構的 [大小 ] 或 [ 版本 ] 字段。 如需詳細資訊,請參閱 使用 Driver-Defined 介面

規格需求

需求
標頭 wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h、Miniport.h)

另請參閱

IRP_MN_QUERY_INTERFACE

InterfaceDereference