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

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

PCMETHOD_REQUEST