共用方式為


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)

另請參閱

IRP_MN_QUERY_INTERFACE

InterfaceDereference

InterfaceReference