Condividi tramite


Funzione ClfsReadLogRecord (wdm.h)

La routine ClfsReadLogRecord legge un record di destinazione in un flusso CLFS e restituisce un contesto di lettura che il chiamante può usare per leggere i record precedenti o seguenti nel flusso.

Sintassi

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
);

Parametri

[in] pvMarshalContext

Puntatore a un contesto opaco che rappresenta un'area di marshalling. Il chiamante ha ottenuto in precedenza questo puntatore chiamando ClfsCreateMarshallingArea.

[in, out] plsnFirst

Puntatore a una struttura CLFS_LSN che fornisce l'LSN del record di destinazione nel log.

[in] peContextMode

Valore dell'enumerazione CLFS_CONTEXT_MODE che specifica la modalità iniziale (ClfsContextUndoNext, ClfsContextPrevious o ClfsContextForward) del contesto di lettura restituito in ppvReadContext.

[out] ppvReadBuffer

Puntatore a una variabile che riceve un puntatore al buffer di dati del record di destinazione.

[out] pcbReadBuffer

Puntatore a una variabile tipizzata ULONG che riceve le dimensioni, in byte, del buffer a cui punta *ppvReadBuffer. Si tratta della lunghezza del buffer di dati del record di destinazione.

[out] peRecordType

Puntatore a una variabile di tipo CLFS_RECORD_TYPE che riceve uno dei valori seguenti.

Valore Significato
ClfsDataRecord Il record di destinazione è un record di dati.
ClfsRestartRecord Il record di destinazione è un record di riavvio.

[out] plsnUndoNext

Puntatore a una struttura CLFS_LSN che riceve l'LSN di annullamento successivo del record di destinazione.

[out] plsnPrevious

Puntatore a una struttura CLFS_LSN che riceve l'LSN precedente del record di destinazione.

[out] ppvReadContext

Puntatore a una variabile che riceve un puntatore a un contesto di lettura opaco. Il client passa ripetutamente questo contesto a ClfsReadNextLogRecord per leggere i record rimanenti in una sequenza. Dopo che il client ha letto tutti i record nella sequenza, chiama ClfsTerminateReadLog per liberare il contesto di lettura.

Valore restituito

ClfsReadLogRecord restituisce STATUS_SUCCESS se ha esito positivo; in caso contrario, restituisce uno dei codici di errore definiti in Ntstatus.h.

Commenti

È necessario chiamare ClfsTerminateReadLog al termine dell'uso del contesto di lettura per evitare una perdita di memoria.

Per una spiegazione dei concetti e della terminologia CLFS, vedere Common Log File System.

Per informazioni sulla lettura dei record dai flussi CLFS, vedere Lettura di record di dati da un Stream CLFS e lettura di record di riavvio da un Stream CLFS.

I contesti di lettura non sono thread-safe. I client sono responsabili della serializzazione dell'accesso ai contesti di lettura.

Requisiti

Requisito Valore
Client minimo supportato Disponibile in Windows Server 2003 R2, Windows Vista e versioni successive di Windows.
Piattaforma di destinazione Desktop
Intestazione wdm.h (include Wdm.h)
Libreria Clfs.lib
DLL Clfs.sys
IRQL <= APC_LEVEL

Vedi anche

ClfsReadNextLogRecord

ClfsTerminateReadLog