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)

另請參閱

KSFASTMETHOD_ITEM

KSMETHOD

KStrSupportHandler