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
指定完全指定方法所需的緩衝區大小下限。 此大小至少為 (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) |