Función DumpLogRecords (clfsw32.h)
Examina un registro especificado; filtra los registros basados en el tipo de registro; y coloca los registros en un flujo de archivo de salida que abre el autor de la llamada.
Sintaxis
CLFSUSER_API BOOL DumpLogRecords(
[in] PWSTR pwszLogFileName,
[in] CLFS_RECORD_TYPE fRecordType,
[in, optional] PCLFS_LSN plsnStart,
[in, optional] PCLFS_LSN plsnEnd,
[in, optional] PFILE pstrmOut,
[in, optional] CLFS_PRINT_RECORD_ROUTINE pfnPrintRecord,
[in, optional] CLFS_BLOCK_ALLOCATION pfnAllocBlock,
[in, optional] CLFS_BLOCK_DEALLOCATION pfnFreeBlock,
[in, optional] PVOID pvBlockAllocContext,
[in] ULONG cbBlock,
[in] ULONG cMaxBlocks
);
Parámetros
[in] pwszLogFileName
Nombre de la secuencia de registro.
Este nombre se especifica al crear el registro mediante CreateLogFile. En el ejemplo siguiente se identifica el formato que se va a usar:
Registro:<log name>[::<log stream name>]
<nombre del> registro corresponde a una ruta de acceso de archivo válida en el sistema de archivos.
<nombre >de flujo de registro es el nombre único de una secuencia de registro en el registro.
Para obtener más información, consulte Tipos de registro.
[in] fRecordType
Tipo de registros que se van a leer.
Este parámetro puede ser una o varias de las siguientes CLFS_RECORD_TYPE Constantes.
[in, optional] plsnStart
Puntero a un CLFS_LSN que especifica el número de secuencia de registro inicial (LSN) para la secuencia de volcado de registro.
Si se especifica este parámetro, el LSN debe ser la dirección de un registro válido en la parte activa del registro; de lo contrario, se produce un error en la llamada con el estado ERROR_INVALID_PARAMETER.
Si no se especifica este parámetro, el inicio de la secuencia de volcado es el principio del registro activo.
[in, optional] plsnEnd
Puntero a un CLFS_LSN que especifica el LSN donde debe finalizar la secuencia de volcado.
Si este LSN está más allá del final del intervalo LSN, la función devuelve ERROR_HANDLE_EOF.
A diferencia de plsnStart, este valor no tiene que ser el LSN de un registro válido en el registro activo, pero puede ser cualquier LSN válido. Solo los registros con un valor LSN menor o igual que plsnEnd se colocan en el flujo de salida.
Si este parámetro es NULL, la función de volcado usa el último LSN en el registro activo (en el encabezado del registro).
[in, optional] pstrmOut
Puntero a un flujo de salida abierto donde se colocan los registros de registro.
Si no se especifica este parámetro, se usa "stdout" como valor predeterminado.
[in, optional] pfnPrintRecord
Rutina de devolución de llamada definida por el usuario que da formato a los búferes definidos por el usuario e los imprime en el flujo de salida pstrmOut.
La función DumpLogRecords genera de forma nativa sus encabezados de registro internos en pstrmOut, pero depende de la devolución de llamada definida por el usuario para dar formato a los búferes de usuario.
Si este parámetro es NULL, DumpLogRecords coloca los datos de registro de usuario en el flujo de salida como dígitos hexadecimales.
[in, optional] pfnAllocBlock
Función de devolución de llamada que asigna memoria para bloques de registro.
Si este parámetro es NULL, Common Log File System (CLFS) proporciona una función de asignación de bloques predeterminada. Este parámetro no puede ser NULL si se especifica una devolución de llamada de libreción de bloques mediante el parámetro pfnFreeBuffer .
En el ejemplo siguiente se identifica la sintaxis de la función de devolución de llamada de asignación de bloques:
typedef PVOID (* CLFS_BLOCK_ALLOCATION) (voidULONG cbBufferSize, PVOID pvUserContext);
[in, optional] pfnFreeBlock
Función de devolución de llamada que libera los bloques de registro asignados por pfnAllocBuffer.
Si este parámetro es NULL, CLFS proporciona una función predeterminada de desasignación de bloques. Este parámetro no puede ser NULL si se especifica una devolución de llamada de asignación de bloques mediante el parámetro pfnAllocBuffer .
En el ejemplo siguiente se identifica la sintaxis de la función de devolución de llamada de libreción de bloques:
typedef void (* CLFS_BLOCK_DEALLOCATION) (PVOID pvBuffer, PVOID pvUserContext);
El parámetro de búfer de "ClfsBlockDeallocProc" debe apuntar a un bloque que se asigna mediante la devolución de llamada a la que apunta pfnAllocBuffer.
[in, optional] pvBlockAllocContext
Puntero a un búfer que se pasa como contexto de usuario a las rutinas de asignación y desasignación de bloques, si se especifica un búfer.
Si pfnAllocBuffer es NULL, este parámetro se omite.
[in] cbBlock
Tamaño del búfer en el que se calculan las referencias de los registros, en bytes.
Los registros no se pueden anexar ni leer si son más largos que este valor.
[in] cMaxBlocks
Número máximo de bloques que se pueden asignar en cualquier momento para las operaciones de lectura.
Los contextos de lectura usan al menos un bloque de lectura.
Valor devuelto
Si la función se realiza correctamente, el valor devuelto es distinto de cero.
Si la función no se realiza correctamente, el valor devuelto es cero (0). Para obtener información de error extendida, llame a GetLastError. En la lista siguiente se identifican los posibles códigos de error:
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows Vista [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2003 R2 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | clfsw32.h |
Library | Clfsw32.lib |
Archivo DLL | Clfsw32.dll |