структура 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
);
При вызове подпрограммы обработчика обработчик вызывающий объект передает один параметр вызова, который является указателем на структуру типа PCMETHOD_REQUEST.
Замечания
В настоящее время подсистема звука WDM не поддерживает методы в экземплярах фильтра или закреплении экземпляров. Это ограничение также исключает поддержку методов на узлах.
Структура PCAUTOMATION_TABLE содержит указатель на массив PCMETHOD_ITEM структур.
Требования
Требование | Ценность |
---|---|
заголовка | portcls.h (include Portcls.h) |