INTERFACE 结构 (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 请求时。

InterfaceReference 例程必须由导出接口的驱动程序调用,每次驱动程序提供该接口以响应 IRP_MN_QUERY_INTERFACE。 同样,如果请求接口的驱动程序随后将其传递给另一个驱动程序,则传递接口的驱动程序必须代表接收接口的驱动程序调用 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