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 |
---|---|
|
Não atribui sinalizadores. |
|
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 |