Funzione WriteLogRestartArea (clfsw32.h)

Aggiunge una nuova area di riavvio client a un log e, facoltativamente, sposta il numero di sequenza di log di base (LSN) del log.

Dopo la scrittura in un disco, l'ultimo LSN del log viene modificato nell'LSN del record di riavvio aggiunto. In genere, WriteLogRestartArea viene usato dalle applicazioni che salvano regolarmente uno stato valido noto e l'area di riavvio contiene i nomi LSN per le catene di record di log esistenti.

Sintassi

CLFSUSER_API BOOL WriteLogRestartArea(
  [in, out]           PVOID        pvMarshal,
  [in]                PVOID        pvRestartBuffer,
  [in]                ULONG        cbRestartBuffer,
  [in, optional]      PCLFS_LSN    plsnBase,
  [in]                ULONG        fFlags,
  [out, optional]     PULONG       pcbWritten,
  [out, optional]     PCLFS_LSN    plsnNext,
  [in, out, optional] LPOVERLAPPED pOverlapped
);

Parametri

[in, out] pvMarshal

Puntatore al contesto di marshalling allocato tramite la funzione CreateLogMarshallingArea .

[in] pvRestartBuffer

Puntatore a un buffer contenente i dati di riavvio.

[in] cbRestartBuffer

Dimensioni di pvRestartBuffer, in byte.

[in, optional] plsnBase

Puntatore a una struttura CLFS_LSN che specifica il nuovo LSN di base del log dopo aver scritto correttamente l'area di riavvio.

Questo valore non può essere esterno all'intervallo del log attivo. Deve essere almeno il valore dell'LSN di base corrente e non maggiore del LSN restituito nell'ultimo parametroLSN dalla chiamata più recente a ReserveAndAppendLog. Se si omette questo parametro facoltativo, l'LSN di base non cambia.

[in] fFlags

Flag che specificano il comportamento di questa funzione.

È possibile combinare uno o più dei valori seguenti.

Valore Significato
CLFS_FLAG_NO_FLAGS
Assegna nessun flag.
CLFS_FLAG_USE_RESERVATION
Aggiunge il record corrente usando lo spazio riservato nell'area di marshalling.

[out, optional] pcbWritten

Puntatore a una variabile che riceve il numero di byte scritti al termine di un'operazione.

[out, optional] plsnNext

Puntatore a una struttura CLFS_LSN che specifica l'LSN dell'area di riavvio scritta.

[in, out, optional] pOverlapped

Puntatore a una struttura OVERLAPPED .

Questo parametro può essere NULL se non viene utilizzata un'operazione asincrona.

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

WriteLogRestartArea causa sia lo scaricamento di tutti i record di log memorizzati nel buffer corrente che uno scaricamento dei metadati del log.

Se un client chiama WriteLogRestartArea in un log creato per supportare operazioni asincrone, ad esempio se il parametro fFlagsAndAttributes di CreateLogFile è impostato su FILE_FLAG_OVERLAPPED quando viene creato il log, il client deve fornire un puntatore a una struttura OVERLAPPED valida nel parametro pOverlapped di WriteLogRestartArea.

Quindi, se WriteLogRestartArea ha esito negativo con un errore di ERROR_IO_PENDING, nella variabile a cui punta il parametro ppvReadContext viene inserito un puntatore a un contesto di lettura valido.

Per completare la chiamata, il client deve 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 input e output sovrapposti.

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

Vedi anche

CLFS_LSN

Funzioni comuni del file system di log

SOVRAPPOSTA