Função KsWriteFile (ks.h)
A função KsWriteFile executa uma gravação 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 gravação no objeto do dispositivo. Todas as estatísticas relevantes são atualizadas.
Sintaxe
KSDDKAPI NTSTATUS KsWriteFile(
[in] PFILE_OBJECT FileObject,
[in, optional] PKEVENT Event,
[in, optional] PVOID PortContext,
[out] PIO_STATUS_BLOCK IoStatusBlock,
[in] 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 gravação. Se nenhum evento for passado, supõe-se que a chamada esteja em um objeto de arquivo síncrono ou o chamador esteja aguardando o evento do objeto de arquivo. Se a chamada não estiver em um objeto de arquivo síncrono, ela poderá ser concluída de forma assíncrona. Se o arquivo tiver sido aberto para E/S síncrona, essa variável deverá ser NULL. Se essa 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
Indica o local no qual retornar as informações de status. Isso sempre é considerado um endereço válido, independentemente do modo solicitante.
[in] Buffer
Especifica o buffer do qual gravar os dados. 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 um 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 do 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 KsWriteFile 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 |