Método ILog::ReadRecord (txlogpub.h)
Lea un registro del registro.
Sintaxis
HRESULT ReadRecord(
[in] LSN lsnToRead,
[in, out] LSN *plsnPrev,
[in, out] LSN *plsnNext,
[out] BYTE **ppbData,
[out] ULONG *pcbData
);
Parámetros
[in] lsnToRead
LSN del registro que se va a leer.
[in, out] plsnPrev
Puntero al LSN del registro anterior (el registro inmediatamente anterior al registro que se va a leer). Este parámetro puede ser NULL si no se necesita el LSN del registro anterior. Este parámetro es 0 si no hay ningún registro anterior en el registro o si se produce un error.
[in, out] plsnNext
Puntero al LSN del siguiente registro (el registro inmediatamente después del registro que se va a leer). Este parámetro puede ser NULL si no se necesita el LSN del siguiente registro. Este parámetro es MAXLSN (0x7FFFFFFFFFFFFFFF) si no hay ningún registro siguiente en el registro. Este parámetro es 0 si se produce un error.
[out] ppbData
Puntero a una variable que contendrá un puntero a los datos de registro al devolver. ReadRecord asigna la memoria de estos datos y la libera el autor de la llamada (consulte CoTaskMemFree). Este parámetro es NULL si se produce un error.
[out] pcbData
Puntero a una variable que recibe el tamaño de los datos de registro, en bytes, al devolver.
Valor devuelto
Este método puede devolver los siguientes valores, así como otros valores HRESULT .
Código devuelto | Descripción |
---|---|
|
El registro se leyó correctamente desde el registro. |
|
lsnToRead está fuera de los límites actuales del registro. Consulte ILog::GetLogLimits. |
|
lsnToRead se encuentra dentro de los límites actuales del registro, pero no es el LSN de un registro en el registro. |
|
No se devolvió el registro debido a una falta de memoria. |
Comentarios
Aunque los registros anexados al registro mediante ILog::AppendRecord se pueden concatenar desde varios BLOB, ReadRecord devuelve el registro como un único blob opaco de datos. ILog no proporciona ningún método para extraer blobs individuales del registro. Es responsabilidad del autor de la llamada analizar los datos de los registros devueltos por ReadRecord.
Notas a los autores de llamadas
Si el registro contiene registros muy grandes, este método puede producir un error porque ReadRecord no pudo asignar memoria suficiente para los datos de registro. Si el tamaño de los registros está limitado o si solo necesita una parte inicial del registro, puede ser más eficaz llamar a ILog::ReadRecordPrefix.Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows XP [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2003 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | txlogpub.h |