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) |