структура PCMETHOD_ITEM (portcls.h)
Структура PCMETHOD_ITEM описывает метод, поддерживаемый фильтром, закреплением или узлом.
Синтаксис
typedef struct {
const GUID *Set;
ULONG Id;
ULONG Flags;
PCPFNMETHOD_HANDLER Handler;
} PCMETHOD_ITEM, *PPCMETHOD_ITEM;
Члены
Set
Задает набор методов. Этот элемент является указателем на GUID, который однозначно идентифицирует набор методов.
Id
Указывает идентификатор метода. Этот элемент идентифицирует элемент метода в наборе методов. Если набор методов содержит n элементов, допустимыми идентификаторами методов являются целые числа в диапазоне от 0 до n-1.
Flags
Указывает тип передачи параметра и доступ к памяти, используемый методом. Для этого элемента можно задать побитовое ИЛИ одного или нескольких битов флагов в следующей таблице.
Бит флага | Значение |
---|---|
PCMETHOD_ITEM_FLAG_MODIFY | Метод считывает данные из буфера параметров и записывает их в нее. |
PCMETHOD_ITEM_FLAG_NONE | Метод не использует буфер параметров. |
PCMETHOD_ITEM_FLAG_READ | Метод считывает данные из буфера параметров. |
PCMETHOD_ITEM_FLAG_SOURCE | Метод проверяет и блокирует страницы памяти перед попыткой доступа к памяти. |
PCMETHOD_ITEM_FLAG_WRITE | Метод записывает данные в буфер параметров. |
Handler
Указатель на подпрограмму обработчика метода. Этот член является указателем функции типа PCPFNMETHOD_HANDLER, который определяется следующим образом:
typedef NTSTATUS (*PCPFNMETHOD_HANDLER)
(
IN PPCMETHOD_REQUEST MethodRequest
);
При вызове подпрограммы Handler вызывающий объект передает один параметр вызова, который является указателем на структуру типа PCMETHOD_REQUEST.
Комментарии
Аудиосистема WDM в настоящее время не поддерживает методы ни в экземплярах фильтра, ни в экземплярах закреплений. Это ограничение также исключает поддержку методов на узлах.
Структура PCAUTOMATION_TABLE содержит указатель на массив PCMETHOD_ITEM структур.
Требования
Требование | Значение |
---|---|
Заголовок | portcls.h (включая Portcls.h) |