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