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