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