Funzione ReadPreviousLogRestartArea (clfsw32.h)
Legge l'area di riavvio del log precedente relativa al record di riavvio corrente specificato nel contesto di lettura, pvReadContext. Questo contesto di lettura è quello creato in precedenza da una chiamata a ReadLogRestartArea.
Sintassi
CLFSUSER_API BOOL ReadPreviousLogRestartArea(
[in] PVOID pvReadContext,
[out] PVOID *ppvRestartBuffer,
[out] PULONG pcbRestartBuffer,
[out] PCLFS_LSN plsnRestart,
[in, out, optional] LPOVERLAPPED pOverlapped
);
Parametri
[in] pvReadContext
Puntatore a un contesto di lettura allocato dal sistema restituito da ReadLogRestartArea .
Anche quando queste funzioni restituiscono ERROR_IO_PENDING, restituiscono comunque un puntatore a un contesto di lettura valido. Per informazioni sul completamento asincrono, vedere la sezione Osservazioni di questo argomento.
[out] ppvRestartBuffer
Puntatore a una variabile che riceve un puntatore ai dati di riavvio.
[out] pcbRestartBuffer
Puntatore a una variabile che riceve le dimensioni dei dati di riavvio in *ppvRestartBuffer, in byte.
[out] plsnRestart
Puntatore a una struttura CLFS_LSN che riceve il numero di sequenza di log (LSN) dell'area di riavvio restituita da questa funzione.
[in, out, optional] pOverlapped
Puntatore a una struttura OVERLAPPED necessaria per l'operazione asincrona.
Questo parametro può essere NULL se l'operazione asincrona non viene usata.
Valore restituito
Se la funzione ha esito positivo, il valore restituito è diverso da zero.
Se la funzione ha esito negativo, il valore restituito è zero. Per informazioni dettagliate sull'errore, chiamare GetLastError.
L'elenco seguente identifica i possibili codici di errore:
Commenti
Il messaggio di errore ERROR_LOG_BLOCK_INCOMPLETE viene restituito se le dimensioni del blocco di log specificate da CreateLogMarshallingArea non sono sufficienti per contenere un blocco di log completo.
Se ReadPreviousLogRestartArea ha esito negativo con un codice di errore di ERROR_IO_PENDING, un puntatore a un contesto di lettura valido viene inserito nella variabile a cui punta il parametro ppvReadContext .
Per completare la copia del record di log, il client deve prima sincronizzarne l'esecuzione con il completamento posticipato dell'operazione di I/O sovrapposta usando GetOverlappedResult o una delle funzioni di attesa di sincronizzazione. Per altre informazioni, vedere Sincronizzazione e output sovrapposti.
Dopo aver completato ReadPreviousLogRestartArea in modo asincrono, l'area di riavvio richiesta viene letto dal disco, ma un puntatore valido non viene inserito in *ppvRestartBuffer.
Per ottenere un puntatore valido, il client deve chiamare ReadPreviousLogRestartArea una seconda volta.
I contesti di lettura CLFS non devono essere passati a più di una lettura asincrona alla volta oppure la funzione non riesce con ERROR_READ.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows Vista [solo app desktop] |
Server minimo supportato | Windows Server 2003 R2 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | clfsw32.h |
Libreria | Clfsw32.lib |
DLL | Clfsw32.dll |