LockFileEx
9/8/2008
Essa função bloqueia o arquivo especificado para acessar exclusivo pela processo de chamada.
Syntax
BOOL LockFileEx(
HANDLE hFile,
DWORD dwFlags,
DWORD dwReserved,
DWORD nNumberOfBytesToLockLow,
DWORD nNumberOfBytesToLockHigh,
LPOVERLAPPED lpOverlapped
);
Parameters
- hFile
[no] Identificador para um aberto identificador para um arquivo que deve ter um intervalo de bytes bloqueados para compartilhado ou acessar exclusivo.
dwFlags
[no] Marca valor. A seguinte tabela mostra os valores possíveis.Valor Descrição LOCKFILE_EXCLUSIVE_LOCK
A função solicita um bloqueio exclusivo. Se este sinalizador não for especificado, a função solicita um bloqueio compartilhado.
LOCKFILE_FAIL_IMMEDIATELY
A função retorna imediatamente se ele for Não é possível adquirir o bloqueio solicitado. Se este sinalizador não é especificado, a função aguardar.
- dwReserved
Reservado. Definido como zero.
- nNumberOfBytesToLockLow
[no] Baixo-ordem 32 bits do comprimento do intervalo de byte para bloqueio.
- nNumberOfBytesToLockHigh
[no] Alto-ordem 32 bits do comprimento do intervalo de byte para bloqueio.
- lpOverlapped
[no] Ponteiro para uma estrutura OVERLAPPED que é usada com a solicitação bloqueio. Essa estrutura contém o arquivo deslocamento do início do intervalo de bloqueio.
Return Value
Nonzero indica sucesso. Zero indica falha. Para informações de erro estendidas, chamar GetLastError.
Remarks
Bloquear uma região de um arquivo adquire acessar compartilhado ou exclusivo para a região especificada, usando este identificador de arquivo. Se o identificador de arquivo é herdado por um processo criado pelo bloqueando processo, o processo filho não é concedido acessar à região bloqueada. Se o bloqueando processo abre o arquivo um tempo segundo, ele não é possível acessar a região especificada por este identificador segundo até que ele desbloqueia a região.
Bloquear uma parte de um arquivo para acessar exclusivo nega todos os outros processos tanto ler acesso de gravação para a região especificada do arquivo. Bloquear uma região que vai além de atual fim - do - arquivo posição não é um erro.
Bloquear uma parte de um arquivo para acessar compartilhada nega todos os processos acesso de gravação para a região especificada do arquivo, incluindo o processo que primeiro bloqueia a região. Todos os processos podem ler a região bloqueada.
Bloquear uma região de um arquivo não evitar ler de uma exibição arquivo mapeado.
Os bloqueios exclusivos não é possível região de um arquivo bloqueado sobreposição um existente. Compartilhada bloqueios pode sobreposição uma região bloqueada, bloqueios mantidos em que região fornecida são apenas compartilhada bloqueios.
Se um processo termina com uma parte de um arquivo bloqueado ou fecha um arquivo que tenha pendente bloqueios, os bloqueios são desbloqueados pela OS. No entanto, o tempo que leva para o OS para desbloquear esses bloqueios depende disponível recursos sistema. Portanto, bloqueado desbloquear explicitamente todos os arquivos quando termina um processo. Caso contrário, acessar a esses arquivos pode ser negado se a OS tem não ainda desbloqueada-los.
Requirements
Header | winbase.h |
Library | coredll.lib |
Windows Embedded CE | Windows CE 5.0 and later |
Windows Mobile | Windows Mobile Version 5.0 and later |