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