Função ReadPreviousLogRestartArea (clfsw32.h)
Lê a área de reinicialização de log anterior relativa ao registro de reinicialização atual especificado no contexto de leitura, pvReadContext. Esse contexto de leitura é aquele criado anteriormente por uma chamada para ReadLogRestartArea.
Sintaxe
CLFSUSER_API BOOL ReadPreviousLogRestartArea(
[in] PVOID pvReadContext,
[out] PVOID *ppvRestartBuffer,
[out] PULONG pcbRestartBuffer,
[out] PCLFS_LSN plsnRestart,
[in, out, optional] LPOVERLAPPED pOverlapped
);
Parâmetros
[in] pvReadContext
Um ponteiro para um contexto de leitura alocado pelo sistema que ReadLogRestartArea retorna.
Mesmo quando essas funções retornam ERROR_IO_PENDING, elas ainda retornam um ponteiro para um contexto de leitura válido. Para obter informações sobre a conclusão assíncrona, consulte a seção Comentários deste tópico.
[out] ppvRestartBuffer
Um ponteiro para uma variável que recebe um ponteiro para os dados de reinicialização.
[out] pcbRestartBuffer
Um ponteiro para uma variável que recebe o tamanho dos dados de reinicialização em *ppvRestartBuffer, em bytes.
[out] plsnRestart
Um ponteiro para uma estrutura CLFS_LSN que recebe o LSN (número de sequência de log) da área de reinicialização retornada por essa função.
[in, out, optional] pOverlapped
Um ponteiro para uma estrutura OVERLAPPED necessária para a operação assíncrona.
Esse parâmetro poderá ser NULL se a 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
A mensagem de erro ERROR_LOG_BLOCK_INCOMPLETE será retornada se o tamanho do bloco de log especificado por CreateLogMarshallingArea não for grande o suficiente para manter um bloco de log completo.
Se ReadPreviousLogRestartArea falhar com um código de 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 cópia de registro de log, o cliente deve primeiro 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.
Depois que ReadPreviousLogRestartArea for concluída de forma assíncrona, a área de reinicialização solicitada será lida do disco, mas um ponteiro válido para ele não será colocado em *ppvRestartBuffer.
Para obter um ponteiro válido, o cliente deve chamar ReadPreviousLogRestartArea uma segunda vez.
Os contextos de leitura CLFS não devem ser passados para mais de uma leitura assíncrona por vez ou a função falha com ERROR_READ.
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 |