Função NtFlushBuffersFileEx (ntifs.h)
A rotina de NtFlushBuffersFileEx do envia uma solicitação de liberação para um determinado arquivo para o sistema de arquivos. Um sinalizador de operação de liberação opcional pode ser definido para controlar como os dados do arquivo são gravados no armazenamento.
Sintaxe
__kernel_entry NTSYSCALLAPI NTSTATUS NtFlushBuffersFileEx(
[in] HANDLE FileHandle,
[in] ULONG Flags,
[in] PVOID Parameters,
[in] ULONG ParametersSize,
[out] PIO_STATUS_BLOCK IoStatusBlock
);
Parâmetros
[in] FileHandle
Identificador retornado por NtCreateFile ou NtOpenFile para o arquivo cujos buffers serão liberados. Esse parâmetro é necessário e não pode ser NULL.
[in] Flags
Liberar sinalizadores de operação. Flags pode ser um dos seguintes valores:
Valor | Significado |
---|---|
0 (normal) | Os dados do arquivo e os metadados no cache de arquivos serão gravados e o armazenamento subjacente será sincronizado para liberar seu cache. Sistemas de arquivos do Windows com suporte: NTFS, ReFS, FAT, exFAT. |
FLUSH_FLAGS_FILE_DATA_ONLY | Os dados do arquivo no cache de arquivos serão gravados. Nenhum metadado é gravado e o armazenamento subjacente não é sincronizado para liberar seu cache. Esse sinalizador não é válido com identificadores de volume. Sistemas de arquivos do Windows com suporte: NTFS, FAT, exFAT. |
FLUSH_FLAGS_NO_SYNC | Os dados do arquivo e os metadados no cache de arquivos serão gravados. O armazenamento subjacente não é sincronizado para liberar seu cache. Esse sinalizador não é válido com identificadores de volume. Sistemas de arquivos do Windows com suporte: NTFS, FAT, exFAT. |
FLUSH_FLAGS_FILE_DATA_SYNC_ONLY | Os dados do arquivo especificado serão gravados no cache na memória do Windows. Somente os metadados necessários para a recuperação de dados serão liberados (a atualização do carimbo de data/hora será ignorada o máximo possível). O armazenamento subjacente é sincronizado para liberar seu cache. Esse sinalizador não é válido com identificadores de volume ou diretório. Sistemas de arquivos do Windows com suporte: NTFS. |
[in] Parameters
Ponteiro para um bloco com parâmetros adicionais. No momento, esse parâmetro deve ser definido como NULL.
[in] ParametersSize
O tamanho, em bytes, do bloco ao qual parâmetros apontar. No momento, esse parâmetro deve ser definido como 0.
[out] IoStatusBlock
Endereço do bloco de status de E/S do chamador. Esse parâmetro é necessário e não pode ser NULL.
Valor de retorno
NtFlushBuffersFileEx retorna STATUS_SUCCESS ou um valor NTSTATUS apropriado, como um dos seguintes:
Código de retorno | Descrição |
---|---|
STATUS_MEDIA_WRITE_PROTECTED | O arquivo reside em um volume protegido por gravação; este é um código de erro. |
STATUS_VOLUME_DISMOUNTED | O arquivo reside em um volume que não está montado no momento; este é um código de erro. |
STATUS_ACCESS_DENIED | O arquivo não tem acesso de gravação nem acréscimo. |
Observações
Os drivers de minifiltro devem chamar FltFlushBuffers2 em vez de chamar NtFlushBuffersFileEx.
Um driver de filtro do sistema de arquivos herdado pode chamar NtFlushBuffersFileEx para emitir uma solicitação IRP_MJ_FLUSH_BUFFERS ao sistema de arquivos para um determinado arquivo. A operação de liberação é síncrona.
Os chamadores de NtFlushBuffersFileEx devem estar em execução em IRQL = PASSIVE_LEVEL e com APCs de kernel especiais habilitadas.
Para chamadas de drivers no modo kernel, as versões NtXxx e Zwxxx versões de uma rotina dos Serviços de Sistema Nativo do Windows podem se comportar de forma diferente na maneira como lidam e interpretam parâmetros de entrada. Para obter mais informações sobre a relação entre as versões NtXxx e ZwXxx de uma rotina, consulte Usando versões Nt e Zw das rotinas de serviços do sistema nativo.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Windows 8 |
da Plataforma de Destino | Universal |
cabeçalho | ntifs.h (inclua Ntifs.h) |
biblioteca | NtosKrnl.lib |
de DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL (consulte a seção Comentários.) |
Consulte também
usando versões Nt e Zw das rotinas de serviços do sistema nativo