Поделиться через


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

См. также

PCMETHOD_REQUEST