Partilhar via


KSMETHOD_ITEM estrutura (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 um KStrMethodHandler fornecido pelo minidriver rotina de retorno de chamada.

MethodSupported

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

MinMethod

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

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 um KStrSupportHandler fornecido pelo minidriver rotina de retorno de chamada.

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 Data do manipulador não deve ser usado. Para métodos 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 Data do manipulador. Quando armazenados em buffer, os dados são copiados para o buffer do sistema. 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 Data do manipulador. Quando armazenados em buffer, os dados são copiados do buffer do sistema. Quando no modo de origem, os dados são investigados e bloqueados para IoWriteAccess.
KSMETHOD_TYPE_MODIFY Indica que os parâmetros devem ser lidos e gravados no buffer Data 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 novamente quando o IRP é concluído. Quando 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 em buffer, OU esse sinalizador com outros sinalizadores dessa lista.

Observações

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 MethodHandler membro para apontar para esses métodos. Um cliente pode usar a solicitação IOCTL_KS_METHOD junto 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 (incluir Ks.h)

Consulte também

KSFASTMETHOD_ITEM

KSMETHOD

KStrSupportHandler