Função DumpLogRecords (clfsw32.h)
Verifica um log especificado; filtra registros de log com base no tipo de registro; e coloca os registros em um fluxo de arquivo de saída que o chamador abre.
Sintaxe
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
O nome do fluxo de log.
Esse nome é especificado quando você cria o log usando CreateLogFile. O exemplo a seguir identifica o formato a ser usado:
Log:<nome>do log[::nome do< fluxo de log]>
<nome> do log corresponde a um caminho de arquivo válido no sistema de arquivos.
<nome >do fluxo de log é o nome exclusivo de um fluxo de log no log.
Para obter mais informações, consulte Tipos de log.
[in] fRecordType
O tipo de registros a serem lidos.
Esse parâmetro pode ser uma ou mais das seguintes constantes de CLFS_RECORD_TYPE.
[in, optional] plsnStart
Um ponteiro para um CLFS_LSN que especifica o LSN (número de sequência de log) inicial para a sequência de despejo de log.
Se esse parâmetro for especificado, o LSN deverá ser o endereço de um registro de log válido na parte ativa do log; caso contrário, a chamada falhará com status ERROR_INVALID_PARAMETER.
Se esse parâmetro não for especificado, o início da sequência de despejo será o início do log ativo.
[in, optional] plsnEnd
Um ponteiro para um CLFS_LSN que especifica o LSN em que a sequência de despejo deve terminar.
Se esse LSN estiver além do final do intervalo LSN, a função retornará ERROR_HANDLE_EOF.
Ao contrário de plsnStart, esse valor não precisa ser o LSN de um registro válido no log ativo, mas pode ser qualquer LSN válido. Somente os registros com um valor LSN menor ou igual a plsnEnd são colocados no fluxo de saída.
Se esse parâmetro for NULL, a função de despejo usará o último LSN no log ativo (no cabeçalho do log).
[in, optional] pstrmOut
Um ponteiro para um fluxo de saída aberto em que os registros de log são colocados.
Se esse parâmetro não for especificado, "stdout" será usado como o padrão.
[in, optional] pfnPrintRecord
Uma rotina de retorno de chamada definida pelo usuário que formata buffers definidos pelo usuário e os imprime no pstrmOut do fluxo de saída.
A função DumpLogRecords gera nativamente seus cabeçalhos de registro interno para pstrmOut, mas depende do retorno de chamada definido pelo usuário para formatar os buffers de usuário.
Se esse parâmetro for NULL, DumpLogRecords colocará dados de registro do usuário no fluxo de saída como dígitos hexadecimal.
[in, optional] pfnAllocBlock
Uma função de retorno de chamada que aloca memória para blocos de log.
Se esse parâmetro for NULL, o CLFS (Common Log File System) fornecerá uma função de alocação de bloco padrão. Esse parâmetro não poderá ser NULL se um retorno de chamada de liberação de blocos for especificado usando o parâmetro pfnFreeBuffer .
O exemplo a seguir identifica a sintaxe da função de retorno de chamada de alocação de bloco:
typedef PVOID (* CLFS_BLOCK_ALLOCATION) (voidULONG cbBufferSize, PVOID pvUserContext);
[in, optional] pfnFreeBlock
Uma função de retorno de chamada que libera blocos de log alocados por pfnAllocBuffer.
Se esse parâmetro for NULL, o CLFS fornecerá uma função de desalocação de bloco padrão. Esse parâmetro não poderá ser NULL se um retorno de chamada de alocação de bloco for especificado usando o parâmetro pfnAllocBuffer .
O exemplo a seguir identifica a sintaxe da função de retorno de chamada de liberação de blocos:
typedef void (* CLFS_BLOCK_DEALLOCATION) (PVOID pvBuffer, PVOID pvUserContext);
O parâmetro buffer de "ClfsBlockDeallocProc" deve apontar para um bloco alocado usando o retorno de chamada apontado por pfnAllocBuffer.
[in, optional] pvBlockAllocContext
Um ponteiro para um buffer que é passado como um contexto de usuário para as rotinas de alocação e desalocação de blocos, se um buffer for especificado.
Se pfnAllocBuffer for NULL, esse parâmetro será ignorado.
[in] cbBlock
O tamanho do buffer no qual os registros são empacotados, em bytes.
Os registros não podem ser acrescentados ou lidos se forem maiores que esse valor.
[in] cMaxBlocks
O número máximo de blocos que podem ser alocados a qualquer momento para operações de leitura.
Os contextos de leitura usam pelo menos um bloco de leitura.
Valor retornado
Se a função for bem-sucedida, o valor retornado será diferente de zero.
Se a função falhar, o valor retornado será 0 (zero). Para obter informações de erro estendidas, chame GetLastError. A lista a seguir identifica os possíveis códigos de erro:
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows Vista [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2003 R2 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | clfsw32.h |
Biblioteca | Clfsw32.lib |
DLL | Clfsw32.dll |