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 |