Função SetFileIoOverlappedRange (fileapi.h)
Associa um intervalo de endereços virtuais ao identificador de arquivo especificado. Isso indica que o kernel deve otimizar quaisquer solicitações de E/S assíncronas adicionais com estruturas sobrepostas dentro desse intervalo. O intervalo sobreposto é bloqueado na memória e desbloqueado quando o arquivo é fechado. Depois que um intervalo é associado a um identificador de arquivo, ele não pode ser desassociado.
Sintaxe
BOOL SetFileIoOverlappedRange(
[in] HANDLE FileHandle,
[in] PUCHAR OverlappedRangeStart,
[in] ULONG Length
);
Parâmetros
[in] FileHandle
Um manipulador para o arquivo.
Esse identificador de arquivo deve ser aberto com FILE_READ_ATTRIBUTES direitos de acesso.
[in] OverlappedRangeStart
O endereço inicial do intervalo.
[in] Length
O comprimento do intervalo, em bytes.
Retornar valor
Retornará diferente de zero se tiver êxito ou zero caso contrário.
Para obter informações de erro estendidas, chame GetLastError.
Comentários
SetFileIoOverlappedRange pode ser usado para melhorar o desempenho em um aplicativo que emite um alto número de E/S assíncrona e usa um intervalo definido de estruturas sobrepostas. Como esse intervalo de estruturas está bloqueado na memória, o kernel pode evitar a aquisição de determinados bloqueios ao atualizar as estruturas sobrepostas com os resultados da solicitação de E/S.
SetFileIoOverlappedRange exige que o chamador tenha o privilégio de acesso SeLockMemoryPrivilege .
Essa função não tem efeito na E/S em buffer e síncrona.
No Windows 8 e Windows Server 2012, essa função é compatível com as tecnologias a seguir.
Tecnologia | Com suporte |
---|---|
Protocolo SMB (SMB) 3.0 | Sim |
TFO (Failover transparente) do SMB 3.0 | Sim |
SMB 3.0 com compartilhamentos de arquivos de expansão (SO) | Sim |
Sistema de arquivos de Volume Compartilhado Clusterizado (CsvFS) | Sim |
ReFS (Sistema de Arquivos Resiliente) | Sim |
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows Vista [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2008 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | fileapi.h (inclua Windows.h, WinBase.h) |
Biblioteca | Kernel32.lib |
DLL | Kernel32.dll |