FLT_PARAMETERS para união IRP_MJ_READ
O componente de união a seguir é usado quando o campo MajorFunction da estrutura FLT_IO_PARAMETER_BLOCK para a operação é IRP_MJ_READ.
Sintaxe
typedef union _FLT_PARAMETERS {
... ;
struct {
ULONG Length;
ULONG POINTER_ALIGNMENT Key;
LARGE_INTEGER ByteOffset;
PVOID ReadBuffer;
PMDL MdlAddress;
} Read;
... ;
} FLT_PARAMETERS, *PFLT_PARAMETERS;
Membros
Leia: Estrutura que contém os seguintes membros.
Comprimento: comprimento, em bytes, dos dados a serem lidos.
Chave: valor da chave associado a um bloqueio de intervalo de bytes no arquivo de destino.
ByteOffset: deslocamento de bytes inicial no arquivo dos dados a serem lidos.
ReadBuffer: ponteiro para um buffer que recebe os dados lidos do arquivo. Esse membro é opcional e pode ser NULL se um MDL for fornecido em MdlAddress. Veja os Comentários.
MdlAddress: endereço de uma MDL (lista de descritores de memória) que descreve o buffer para o qual o membro ReadBuffer aponta. Esse membro é opcional e pode ser NULL se um buffer for fornecido no ReadBuffer. Veja os Comentários.
Comentários
A estrutura FLT_PARAMETERS para operações de IRP_MJ_READ contém os parâmetros de uma operação de leitura representada por uma estrutura de dados de retorno de chamada (FLT_CALLBACK_DATA). Ele está contido em uma estrutura FLT_IO_PARAMETER_BLOCK.
Se um buffer ReadBuffer e MdlAddress for fornecido, é recomendável que os minifiltros usem o MDL. A memória para a qual o ReadBuffer aponta é válida quando é um endereço de modo de usuário que está sendo acessado no contexto do processo de chamada ou se é um endereço no modo kernel.
Se um minifiltro alterar o valor de MdlAddress, após o retorno de chamada pós-operação, o Gerenciador de Filtros liberará o MDL armazenado atualmente em MdlAddress e restaurará o valor anterior de MdlAddress.
IRP_MJ_READ pode ser uma operação baseada em IRP ou uma operação de E/S rápida.
Requisitos
Tipo de Requisito | Requisito |
---|---|
parâmetro | Fltkernel.h (inclua Fltkernel.h) |
Confira também
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de