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) |