Compartilhar via


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