Função KsReadFile (ks.h)
A função KsReadFile executa uma leitura no objeto de arquivo especificado. Supõe-se que o chamador está serializando o acesso ao arquivo para operações em um objeto de arquivo FO_SYNCHRONOUS_IO. A função tenta usar FastIoDispatch , se possível, ou gera uma solicitação de leitura no objeto do dispositivo. Todas as estatísticas relevantes são atualizadas.
Sintaxe
KSDDKAPI NTSTATUS KsReadFile(
[in] PFILE_OBJECT FileObject,
[in, optional] PKEVENT Event,
[in, optional] PVOID PortContext,
[out] PIO_STATUS_BLOCK IoStatusBlock,
[out] PVOID Buffer,
[in] ULONG Length,
[in, optional] ULONG Key,
[in] KPROCESSOR_MODE RequestorMode
);
Parâmetros
[in] FileObject
Especifica o objeto de arquivo no qual executar a leitura.
[in, optional] Event
Opcionalmente, contém o evento a ser usado na leitura. Se nenhum evento for passado, a chamada será considerada em um objeto de arquivo síncrono. Caso contrário, o chamador está aguardando o evento do objeto de arquivo ou pode ser concluído de forma assíncrona. Se o arquivo tiver sido aberto para E/S síncrona, ele deverá ser NULL. Se a variável for usada, ela deverá ser um evento alocado pelo gerenciador de objetos.
[in, optional] PortContext
Opcionalmente, contém informações de contexto para uma porta de conclusão.
[out] IoStatusBlock
Especifica o endereço em que as informações de status devem ser retornadas. Isso sempre é considerado um endereço válido, independentemente do modo solicitante.
[out] Buffer
Especifica o buffer no qual os dados serão lidos. Se o buffer precisar ser investigado e bloqueado, um manipulador de exceção será usado, juntamente com RequesterMode.
[in] Length
Especifica o tamanho do buffer passado.
[in, optional] Key
Opcionalmente, contém uma chave ou zero se nenhuma
[in] RequestorMode
Indica o modo de processador a ser colocado no IRP de leitura se precisar ser gerado. Além disso, ele será usado se o buffer precisar ser investigado e bloqueado. Essa variável também determina se uma chamada de E/S rápida pode ser executada. Se o modo solicitante não for KernelMode, mas o modo anterior fosse, a E/S rápida não poderá ser usada.
Retornar valor
A função KsReadFile retornará STATUS_SUCCESS se tiver êxito, STATUS_PENDING se a ação estiver pendente ou retornará um erro de leitura se não tiver êxito.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Universal |
Cabeçalho | ks.h (inclua Ks.h) |
Biblioteca | Ks.lib |