estrutura KSMETHOD_ITEM (ks.h)

A estrutura KSMETHOD_ITEM descreve um único método dentro de um conjunto de métodos.

Sintaxe

typedef struct {
  ULONG        MethodId;
  union {
    PFNKSHANDLER MethodHandler;
    BOOLEAN      MethodSupported;
  };
  ULONG        MinMethod;
  ULONG        MinData;
  PFNKSHANDLER SupportHandler;
  ULONG        Flags;
} KSMETHOD_ITEM, *PKSMETHOD_ITEM;

Membros

MethodId

Especifica o identificador desse método dentro de seu conjunto de métodos.

MethodHandler

Ponteiro para uma rotina de retorno de chamada KStrMethodHandler fornecida por minidriver.

MethodSupported

Especifica se esse método tem suporte ou não.

MinMethod

Especifica o tamanho mínimo do buffer necessário para especificar o método completamente. Esse tamanho é pelo menos sizeof(KSMETHOD) bytes.

MinData

Especifica o buffer de tamanho mínimo necessário para especificar o buffer de dados do método. Esse buffer é usado para ler e/ou gravar informações relacionadas ao método .

SupportHandler

Ponteiro para uma rotina de retorno de chamada KStrSupportHandler fornecida por minidriver.

Flags

Especifica o tipo de solicitação dessa solicitação de método.

Valor Tipo de solicitação de método
KSMETHOD_TYPE_NONE Indica que o buffer de dados do manipulador não deve ser usado. Para métodos armazenados em buffer, embora o espaço seja alocado, nenhum dado é copiado para ou do buffer do sistema. Quando estiver no modo de origem (KSMETHOD_TYPE_SOURCE), nenhum MDL será criado.
KSMETHOD_TYPE_READ Indica que os parâmetros devem ser lidos do buffer de dados do manipulador. Quando armazenados em buffer, os dados são copiados para o buffer do sistema. Quando estão no modo de origem, os dados são investigados e bloqueados para IoReadAccess.
KSMETHOD_TYPE_WRITE Indica que os parâmetros devem ser gravados no buffer de dados do manipulador. Quando armazenados em buffer, os dados são copiados do buffer do sistema. Quando estiverem no modo de origem, os dados serão investigados e bloqueados para IoWriteAccess.
KSMETHOD_TYPE_MODIFY Indica que os parâmetros devem ser lidos e gravados no buffer de dados do manipulador. Os dados passados são substituídos pelos dados retornados. Isso pode implicar que uma estrutura passada pode ser meramente atualizada. Quando armazenados em buffer, os dados são copiados para o buffer do sistema e copiados de volta quando o IRP é concluído. Quando estão no modo de origem, os dados são investigados e bloqueados para IoModifyAccess.
KSMETHOD_TYPE_SOURCE Indica que o método deve ser processado no modo de origem. Um MDL é alocado e os dados são investigados e bloqueados. Para indicar um método armazenado em buffer, OU esse sinalizador com outros sinalizadores dessa lista.

Comentários

Um minidriver usa a estrutura KSMETHOD_ITEM para definir métodos em um conjunto de métodos. O minidriver implementa métodos e usa o membro MethodHandler para apontar para esses métodos. Um cliente pode usar a solicitação IOCTL_KS_METHOD juntamente com a estrutura KSMETHOD para executar métodos em um objeto de streaming de kernel que o minidriver manipula. Para obter mais informações, consulte Métodos KS.

Requisitos

Requisito Valor
Cabeçalho ks.h (inclua Ks.h)

Confira também

KSFASTMETHOD_ITEM

KSMETHOD

KStrSupportHandler