Compartilhar via


estrutura PCMETHOD_ITEM (portcls.h)

A estrutura PCMETHOD_ITEM descreve um método compatível com um filtro, pino ou nó.

Sintaxe

typedef struct {
  const GUID          *Set;
  ULONG               Id;
  ULONG               Flags;
  PCPFNMETHOD_HANDLER Handler;
} PCMETHOD_ITEM, *PPCMETHOD_ITEM;

Membros

Set

Especifica o conjunto de métodos. Esse membro é um ponteiro para um GUID que identifica exclusivamente o conjunto de métodos.

Id

Especifica a ID do método. Esse membro identifica um item de método no conjunto de métodos. Se o conjunto de métodos contiver n itens, as IDs de método válidas serão inteiros no intervalo de 0 a n-1.

Flags

Especifica o tipo de passagem de parâmetro e o acesso à memória que um método usa. Esse membro pode ser definido como OR bit a bit de um ou mais bits de sinalizador na tabela a seguir.

Bit de sinalizador Significado
PCMETHOD_ITEM_FLAG_MODIFY O método lê e grava no buffer de parâmetros.
PCMETHOD_ITEM_FLAG_NONE O método não usa o buffer de parâmetros.
PCMETHOD_ITEM_FLAG_READ O método lê do buffer de parâmetros.
PCMETHOD_ITEM_FLAG_SOURCE O método investiga e bloqueia páginas de memória antes de tentar acessar a memória.
PCMETHOD_ITEM_FLAG_WRITE O método grava no buffer de parâmetros.

Handler

Ponteiro para a rotina do manipulador de métodos. Esse membro é um ponteiro de função do tipo PCPFNMETHOD_HANDLER, que é definido da seguinte maneira:

  typedef NTSTATUS (*PCPFNMETHOD_HANDLER)
  (
      IN PPCMETHOD_REQUEST  MethodRequest
  );

Ao chamar a rotina Handler , o chamador passa um único parâmetro de chamada, que é um ponteiro para uma estrutura do tipo PCMETHOD_REQUEST.

Comentários

Atualmente, o subsistema de áudio WDM não dá suporte a métodos em instâncias de filtro ou instâncias de fixação. Essa restrição também impede o suporte para métodos em nós.

A estrutura PCAUTOMATION_TABLE contém um ponteiro para uma matriz de estruturas PCMETHOD_ITEM.

Requisitos

Requisito Valor
Cabeçalho portcls.h (inclua Portcls.h)

Confira também

PCMETHOD_REQUEST