Função ReadNextLogRecord (clfsw32.h)
Lê o próximo registro em uma sequência iniciada por uma chamada para ReadLogRecord ou ReadLogRestartArea. Usando ReadNextLogRecord iterativamente, um cliente pode ler todos os registros de um tipo especificado em um log. A direção da enumeração é determinada especificando o modo de contexto ao iniciar a sequência de leitura.
Sintaxe
CLFSUSER_API BOOL ReadNextLogRecord(
[in, out] PVOID pvReadContext,
[out] PVOID *ppvBuffer,
[out] PULONG pcbBuffer,
[in, out] PCLFS_RECORD_TYPE peRecordType,
[in, optional] PCLFS_LSN plsnUser,
[out] PCLFS_LSN plsnUndoNext,
[out] PCLFS_LSN plsnPrevious,
[out] PCLFS_LSN plsnRecord,
[in, out, optional] LPOVERLAPPED pOverlapped
);
Parâmetros
[in, out] pvReadContext
Um ponteiro para um contexto de leitura que o sistema aloca e cria durante uma chamada bem-sucedida para ReadLogRecord ou ReadLogRestartArea.
Se a função adiar a conclusão de uma operação, ela retornará um ponteiro para um contexto de leitura válido e um erro status de ERROR_IO_PENDING. Para obter informações sobre como lidar com a conclusão assíncrona, consulte a seção Comentários deste tópico.
[out] ppvBuffer
Um ponteiro para uma variável que recebe um ponteiro para os dados de leitura.
[out] pcbBuffer
Um ponteiro para uma variável que recebe o tamanho dos dados de leitura retornados no ppvReadBuffer, em bytes.
[in, out] peRecordType
Um ponteiro que, na entrada, especifica o filtro de tipo de registro da próxima leitura de registro e na saída especifica o tipo de registro retornado.
Os clientes podem especificar qualquer um dos tipos de registro a seguir.
[in, optional] plsnUser
Um ponteiro para uma estrutura CLFS_LSN que especifica o cliente de log para ler esse LSN (número de sequência de log) como o próximo LSN em vez de ler para o próximo registro, ler o LSN anterior ou ler o LSN de desfazer próximo.
Esse parâmetro fornece aos clientes de log a capacidade de cursor por meio de cadeias LSN definidas pelo usuário em buffers de cliente. A relação desse parâmetro com o LSN atual mantido pelo contexto de leitura deve ser consistente com o modo de contexto, ecxMode, especificado nos pontos de entrada ReadLogRecord ; caso contrário, um código de erro de ERROR_INVALID_PARAMETER é retornado.
[out] plsnUndoNext
Um ponteiro para uma estrutura CLFS_LSN que recebe o LSN do próximo registro em uma cadeia de registros desfazer.
[out] plsnPrevious
Um ponteiro para uma estrutura CLFS_LSN que recebe o LSN do próximo registro na cadeia de registros anterior.
[out] plsnRecord
Um ponteiro para uma estrutura CLFS_LSN que recebe o LSN do registro atual lido no contexto de leitura.
[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
Se ReadNextLogRecord retornar com um código status de ERROR_IO_PENDING, o cliente deverá 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 ReadNextLogRecord for concluído de forma assíncrona, o registro solicitado será lido do disco, mas não será resolvido para um ponteiro em *ppvReadBuffer. Para obter um ponteiro válido para o registro, o cliente deve chamar ReadNextLogRecord uma segunda vez.
Os contextos de leitura do 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 |