структура 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 , предоставляемую мини-driver.

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 для выполнения методов в объекте потоковой передачи ядра, обрабатываемом мини-накопителем. Дополнительные сведения см. в разделе Методы KS.

Требования

Требование Значение
Заголовок ks.h (включая Ks.h)

См. также раздел

KSFASTMETHOD_ITEM

KSMETHOD

KStrSupportHandler