Поделиться через


структура 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

Указатель на подпрограмму обратного вызова, предоставленного мини-driver, KStrMethodHandler.

MethodSupported

Указывает, поддерживается ли этот метод.

MinMethod

Указывает минимальный размер буфера, необходимый для полного указания метода. Этот размер по крайней мере размер(KSMETHOD) байтов.

MinData

Указывает минимальный буфер размера, необходимый для указания буфера данных метода. Этот буфер используется для чтения и записи сведений, связанных с методом.

SupportHandler

Указатель на подпрограмму обратного вызова, предоставленного мини-drive r, KStrSupportHandler.

Flags

Указывает тип запроса этого запроса метода.

Ценность Тип запроса метода
KSMETHOD_TYPE_NONE Указывает, что буфер данных обработчика не будет использоваться. Для буферных методов, хотя пространство выделяется, данные не копируются в системный буфер или из нее. При использовании исходного режима (KSMETHOD_TYPE_SOURCE) не создается MDL.
KSMETHOD_TYPE_READ Указывает, что параметры будут считываться из буфера данных обработчика. При буферизации данные копируются в системный буфер. При использовании исходного режима данные пробуются и блокируются для IoReadAccess.
KSMETHOD_TYPE_WRITE Указывает, что параметры должны записываться в буфер данных обработчика. При буферизации данные копируются из системного буфера. При использовании исходного режима данные пробуются и блокируются для IoWriteAccess.
KSMETHOD_TYPE_MODIFY Указывает, что параметры должны быть прочитаны и записаны в буфер данных обработчика. Передаваемые данные перезаписываются возвращаемыми данными. Это может означать, что структура, переданная в нее, может быть просто обновлена. При буферизации данные копируются в системный буфер и копируются обратно при завершении IRP. При использовании исходного режима данные пробуются и блокируются для IoModifyAccess.
KSMETHOD_TYPE_SOURCE Указывает, что метод должен обрабатываться в исходном режиме. MDL выделяется, и данные пробуются и блокируются. Чтобы указать буферный метод, или этот флаг с другими флагами из этого списка.

Замечания

Мини-driver использует структуру KSMETHOD_ITEM для определения методов в наборе методов. Мини-driver реализует методы и использует элемент MethodHandler, чтобы указать на эти методы. Затем клиент может использовать запрос IOCTL_KS_METHOD вместе со структурой KSMETHOD для выполнения методов в объекте потоковой передачи ядра, который обрабатывает мини-driver. Дополнительные сведения см. в методах KS.

Требования

Требование Ценность
заголовка ks.h (include Ks.h)

См. также

KSFASTMETHOD_ITEM

KSMETHOD

KStrSupportHandler