Compartilhar via


Função ClfsReadLogRecord (wdm.h)

A rotina ClfsReadLogRecord lê um registro de destino em um fluxo CLFS e retorna um contexto de leitura que o chamador pode usar para ler os registros anteriores ou segui-los no fluxo.

Sintaxe

CLFSUSER_API NTSTATUS ClfsReadLogRecord(
  [in]      PVOID             pvMarshalContext,
  [in, out] PCLFS_LSN         plsnFirst,
  [in]      CLFS_CONTEXT_MODE peContextMode,
  [out]     PVOID             *ppvReadBuffer,
  [out]     PULONG            pcbReadBuffer,
  [out]     PCLFS_RECORD_TYPE peRecordType,
  [out]     PCLFS_LSN         plsnUndoNext,
  [out]     PCLFS_LSN         plsnPrevious,
  [out]     PVOID             *ppvReadContext
);

Parâmetros

[in] pvMarshalContext

Um ponteiro para um contexto opaco que representa uma área de marshalling. O chamador obteve esse ponteiro anteriormente chamando ClfsCreateMarshallingArea.

[in, out] plsnFirst

Um ponteiro para uma estrutura CLFS_LSN que fornece o LSN do registro de destino no log.

[in] peContextMode

Um valor da enumeração CLFS_CONTEXT_MODE que especifica o modo inicial (ClfsContextUndoNext, ClfsContextPrevious ou ClfsContextForward) do contexto de leitura retornado em ppvReadContext.

[out] ppvReadBuffer

Um ponteiro para uma variável que recebe um ponteiro para o buffer de dados do registro de destino.

[out] pcbReadBuffer

Um ponteiro para uma variável do tipo ULONG que recebe o tamanho, em bytes, do buffer apontado por *ppvReadBuffer. Esse é o comprimento do buffer de dados do registro de destino.

[out] peRecordType

Um ponteiro para uma variável do tipo CLFS_RECORD_TYPE que recebe um dos valores a seguir.

Valor Significado
ClfsDataRecord O registro de destino é um registro de dados.
ClfsRestartRecord O registro de destino é um registro de reinicialização.

[out] plsnUndoNext

Um ponteiro para uma estrutura CLFS_LSN que recebe o LSN desfazer-próximo do registro de destino.

[out] plsnPrevious

Um ponteiro para uma estrutura CLFS_LSN que recebe o LSN anterior do registro de destino.

[out] ppvReadContext

Um ponteiro para uma variável que recebe um ponteiro para um contexto de leitura opaco. O cliente passa repetidamente esse contexto para ClfsReadNextLogRecord para ler os registros restantes em uma sequência. Depois que o cliente ler todos os registros na sequência, ele chamará ClfsTerminateReadLog para liberar o contexto de leitura.

Retornar valor

ClfsReadLogRecord retornará STATUS_SUCCESS se for bem-sucedido; caso contrário, ele retornará um dos códigos de erro definidos em Ntstatus.h.

Comentários

Você deve chamar ClfsTerminateReadLog quando terminar de usar o contexto de leitura para evitar uma perda de memória.

Para obter uma explicação dos conceitos e terminologia do CLFS, consulte Common Log File System.

Para obter informações sobre como ler registros de fluxos CLFS, consulte Lendo registros de dados de um Stream CLFS e Lendo registros de reinicialização de um Stream CLFS.

Os contextos de leitura não são thread-safe. Os clientes são responsáveis por serializar o acesso a contextos de leitura.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível no Windows Server 2003 R2, Windows Vista e versões posteriores do Windows.
Plataforma de Destino Área de Trabalho
Cabeçalho wdm.h (include Wdm.h)
Biblioteca Clfs.lib
DLL Clfs.sys
IRQL <= APC_LEVEL

Confira também

ClfsReadNextLogRecord

ClfsTerminateReadLog