Metodo ILog::AppendRecord (txlogpub.h)
Scrivere un nuovo record alla fine del log.
Sintassi
HRESULT AppendRecord(
[in] BLOB *rgBlob,
[in] ULONG cBlob,
[in] BOOL fForceNow,
[in, out] LSN *plsn
);
Parametri
[in] rgBlob
Puntatore a una matrice di BLOB di dati da scrivere.
[in] cBlob
Dimensioni della matrice rgBlob , negli elementi.
[in] fForceNow
Indica se forzare i dati su disco. Se TRUE, il contenuto del log fino a questo record deve essere forzato a disco prima che la chiamata venga restituita. Se FALSE, questo record può essere memorizzato nel buffer in memoria da scrivere dopo che la chiamata restituisce correttamente.
[in, out] plsn
Puntatore all'LSN del record appena aggiunto. Se l'LSN del record appena aggiunto non è necessario, questo parametro può essere NULL.
Valore restituito
Se questo metodo ha esito positivo, restituisce S_OK. In caso contrario, restituisce un codice di errore HRESULT .
Commenti
Ogni record di log scritto o letto da ILog è un BLOB opaco di dati. Come praticità per i chiamanti, AppendRecord consente la concatenazione di più BLOB in un singolo record; poiché molte implementazioni di ILog copiano i record in un buffer in memoria, potrebbe essere inefficiente per il chiamante allocare memoria per concatenare le parti di un record. Tuttavia, una volta aggiunto un record al log, ILog non fornisce alcun metodo per estrarre singoli BLOB dal record. È responsabilità del chiamante analizzare i dati nei record letti dal log. Vedere ILog::ReadRecord.
Note ai chiamanti
Un valore restituito di errore indica che tutti i record aggiunti al log dall'ultima volta che è stato forzato non sono garantiti sul disco. L'interfaccia ILog non fornisce un metodo per determinare quali record sono stati scritti correttamente su disco. Se è necessario sapere quali record sono stati scritti correttamente su disco, è necessario forzare il log per ogni record.Note per gli implementatori
Se fForceNow è TRUE, è consigliabile scaricare buffer di file (ad esempio usando la funzione FlushFileBuffers ) prima di restituire da questo metodo.Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows XP [solo app desktop] |
Server minimo supportato | Windows Server 2003 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | txlogpub.h |