PCMETHOD_ITEM 结构 (portcls.h)

PCMETHOD_ITEM结构描述筛选器、引脚或节点支持的方法。

语法

typedef struct {
  const GUID          *Set;
  ULONG               Id;
  ULONG               Flags;
  PCPFNMETHOD_HANDLER Handler;
} PCMETHOD_ITEM, *PPCMETHOD_ITEM;

成员

Set

指定方法集。 此成员是指向唯一标识方法集的 GUID 的指针。

Id

指定方法 ID。 此成员标识方法集中的方法项。 如果方法集包含 n 个项,则有效的方法 ID 是 0 到 n-1 范围内的整数。

Flags

指定方法使用的传递参数和内存访问的类型。 此成员可以设置为下表中一个或多个标志位的按位 OR。

标志位 含义
PCMETHOD_ITEM_FLAG_MODIFY 方法从参数缓冲区读取和写入参数缓冲区。
PCMETHOD_ITEM_FLAG_NONE 方法不使用参数缓冲区。
PCMETHOD_ITEM_FLAG_READ 方法从参数缓冲区读取 。
PCMETHOD_ITEM_FLAG_SOURCE 方法在尝试内存访问之前探测并锁定内存页。
PCMETHOD_ITEM_FLAG_WRITE 方法写入参数缓冲区。

Handler

指向方法处理程序例程的指针。 此成员是 PCPFNMETHOD_HANDLER 类型的函数指针,定义如下:

  typedef NTSTATUS (*PCPFNMETHOD_HANDLER)
  (
      IN PPCMETHOD_REQUEST  MethodRequest
  );

调用 Handler 例程时,调用方传入单个调用参数,该参数是指向 PCMETHOD_REQUEST 类型的结构的指针。

注解

WDM 音频子系统当前不支持筛选器实例或引脚实例上的方法。 此限制还排除了对节点上方法的支持。

PCAUTOMATION_TABLE 结构包含指向PCMETHOD_ITEM结构数组的指针。

要求

要求
Header portcls.h (包括 Portcls.h)

另请参阅

PCMETHOD_REQUEST