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