Função WriteLogRestartArea (clfsw32.h)

Acrescenta uma nova área de reinicialização do cliente a um log e, opcionalmente, avança o LSN (número de sequência de log) base do log.

Depois que ele é gravado com êxito em um disco, o último LSN do log é alterado para o LSN do registro de reinicialização acrescentado. Normalmente, WriteLogRestartArea é usado por aplicativos que salvam regularmente um bom estado conhecido e a área de reinicialização contém os LSNs para cadeias de registros de log existentes.

Sintaxe

CLFSUSER_API BOOL WriteLogRestartArea(
  [in, out]           PVOID        pvMarshal,
  [in]                PVOID        pvRestartBuffer,
  [in]                ULONG        cbRestartBuffer,
  [in, optional]      PCLFS_LSN    plsnBase,
  [in]                ULONG        fFlags,
  [out, optional]     PULONG       pcbWritten,
  [out, optional]     PCLFS_LSN    plsnNext,
  [in, out, optional] LPOVERLAPPED pOverlapped
);

Parâmetros

[in, out] pvMarshal

Um ponteiro para o contexto de marshaling alocado usando a função CreateLogMarshallingArea .

[in] pvRestartBuffer

Um ponteiro para um buffer que contém dados de reinicialização.

[in] cbRestartBuffer

O tamanho de pvRestartBuffer, em bytes.

[in, optional] plsnBase

Um ponteiro para uma estrutura CLFS_LSN que especifica o novo LSN base do log depois de gravar com êxito a área de reinicialização.

Esse valor não pode estar fora do intervalo do log ativo. Ele deve ser pelo menos o valor do LSN base atual e não maior que o LSN retornado no parâmetro lastLSN da última chamada para ReserveAndAppendLog. Se você omitir esse parâmetro opcional, o LSN base não será alterado.

[in] fFlags

Os sinalizadores que especificam o comportamento dessa função.

Um ou mais dos valores a seguir podem ser combinados.

Valor Significado
CLFS_FLAG_NO_FLAGS
Não atribui sinalizadores.
CLFS_FLAG_USE_RESERVATION
Acrescenta o registro atual usando o espaço reservado na área de marshaling.

[out, optional] pcbWritten

Um ponteiro para uma variável que recebe o número de bytes gravados quando uma operação é concluída.

[out, optional] plsnNext

Um ponteiro para uma estrutura CLFS_LSN que especifica o LSN da área de reinicialização que é gravada.

[in, out, optional] pOverlapped

Um ponteiro para uma estrutura OVERLAPPED.

Esse parâmetro poderá ser NULL se uma operação assíncrona não for usada.

Valor retornado

Se a função for bem-sucedida, o valor retornado será diferente de zero.

Se a função falhar, o valor retornado será zero. Para obter informações de erro estendidas, chame GetLastError.

A lista a seguir identifica os possíveis códigos de erro:

Comentários

O WriteLogRestartArea causa uma liberação de todos os registros de log armazenados em buffer atuais e uma liberação dos metadados de log.

Se um cliente chamar WriteLogRestartArea em um log criado para dar suporte a operações assíncronas (por exemplo, se o parâmetro fFlagsAndAttributes de CreateLogFile for definido como FILE_FLAG_OVERLAPPED quando o log for criado), o cliente deverá fornecer um ponteiro para uma estrutura OVERLAPPED válida no parâmetro pOverlapped de WriteLogRestartArea.

Em seguida, se WriteLogRestartArea falhar com um erro de ERROR_IO_PENDING, um ponteiro para um contexto de leitura válido será colocado na variável apontada pelo parâmetro ppvReadContext .

Para concluir a chamada, o cliente deve sincronizar sua execução com a conclusão adiada da operação de E/S sobreposta usando GetOverlappedResult ou uma das funções de espera de sincronização. Para obter mais informações, consulte Sincronização e Entrada e saída sobrepostas.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 R2 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho clfsw32.h
Biblioteca Clfsw32.lib
DLL Clfsw32.dll

Confira também

CLFS_LSN

Funções comuns do sistema de arquivos de log

OVERLAPPED