KSMETHOD_ITEM结构 (ks.h)

KSMETHOD_ITEM结构描述方法集中的单个方法。

语法

typedef struct {
  ULONG        MethodId;
  union {
    PFNKSHANDLER MethodHandler;
    BOOLEAN      MethodSupported;
  };
  ULONG        MinMethod;
  ULONG        MinData;
  PFNKSHANDLER SupportHandler;
  ULONG        Flags;
} KSMETHOD_ITEM, *PKSMETHOD_ITEM;

成员

MethodId

在其方法集中指定此方法的标识符。

MethodHandler

指向微型驱动程序提供的 KStrMethodHandler 回调例程的指针。

MethodSupported

指定是否支持此方法。

MinMethod

指定完全指定方法所需的最小缓冲区大小。 此大小至少为 sizeof(KSMETHOD) 字节。

MinData

指定指定方法数据缓冲区所需的最小大小缓冲区。 此缓冲区用于读取和/或写入与该方法相关的信息。

SupportHandler

指向微型驱动程序提供的 KStrSupportHandler 回调例程的指针。

Flags

指定此方法请求的请求类型。

价值 方法请求的类型
KSMETHOD_TYPE_NONE 指示不应使用处理程序的 数据 缓冲区。 对于缓冲方法,尽管分配了空间,但不会向系统缓冲区或从系统缓冲区复制任何数据。 在源模式(KSMETHOD_TYPE_SOURCE)中时,不会创建 MDL。
KSMETHOD_TYPE_READ 指示参数应从处理程序的 数据 缓冲区读取。 缓冲后,数据将复制到系统缓冲区。 在源模式下,将探测并锁定 IoReadAccess的数据。
KSMETHOD_TYPE_WRITE 指示参数应写入处理程序 数据 缓冲区。 缓冲后,数据将从系统缓冲区复制。 在源模式下,将探测并锁定 IoWriteAccess的数据。
KSMETHOD_TYPE_MODIFY 指示参数应读取并写入处理程序的 Data 缓冲区。 传入的数据将被返回的数据覆盖。 这可能意味着传入的结构可能只是更新。 缓冲后,数据将复制到系统缓冲区,并在 IRP 完成后复制回。 在源模式下,将探测并锁定 IoModifyAccess的数据。
KSMETHOD_TYPE_SOURCE 指示方法将在源模式下进行处理。 分配 MDL 并探测并锁定数据。 若要指示缓冲方法,请使用此列表中的其他标志或此标志。

言论

微型驱动程序使用KSMETHOD_ITEM结构来定义方法集中的方法。 微型驱动程序实现方法,并使用 MethodHandler 成员指向这些方法。 然后,客户端可以使用IOCTL_KS_METHOD请求和 KSMETHOD 结构在微型驱动程序处理的内核流对象上执行方法。 有关详细信息,请参阅 KS 方法

要求

要求 价值
标头 ks.h (包括 Ks.h)

另请参阅

KSFASTMETHOD_ITEM

KSMETHOD

KStrSupportHandler