Compartilhar via


Função PdhReadRawLogRecord (pdh.h)

Lê as informações no arquivo de log de rastreamento binário especificado.

Sintaxe

PDH_FUNCTION PdhReadRawLogRecord(
  [in]  PDH_HLOG            hLog,
  [in]  FILETIME            ftRecord,
  [out] PPDH_RAW_LOG_RECORD pRawLogRecord,
  [in]  LPDWORD             pdwBufferLength
);

Parâmetros

[in] hLog

Manipule para o arquivo de log. A função PdhOpenLog ou PdhBindInputDataSource retorna esse identificador.

[in] ftRecord

Carimbo de data/hora do registro a ser lido. Se o carimbo de data/hora não corresponder a um registro no arquivo de log, a função retornará o registro que tem um carimbo de data/hora mais próximo de (mas não maior que) o carimbo de data/hora fornecido.

[out] pRawLogRecord

Buffer alocado pelo chamador que recebe uma estrutura PDH_RAW_LOG_RECORD ; a estrutura contém as informações de registro do arquivo de log. Defina como NULL se pdwBufferLength for zero.

[in] pdwBufferLength

Tamanho do buffer pRawLogRecord , em TCHARs. Se zero na entrada, a função retornará PDH_MORE_DATA e definirá esse parâmetro como o tamanho do buffer necessário. Se o buffer for maior que o tamanho necessário, a função definirá esse parâmetro como o tamanho real do buffer que foi usado. Se o tamanho especificado na entrada for maior que zero, mas menor que o tamanho necessário, você não deverá depender do tamanho retornado para realocar o buffer.

Retornar valor

Se a função for bem-sucedida, ela retornará ERROR_SUCCESS.

Se a função falhar, o valor retornado será um código de erro do sistema ou um código de erro PDH. Veja a seguir os valores possíveis.

Código de retorno Descrição
PDH_INVALID_ARGUMENT
Um parâmetro não é válido. Por exemplo, em algumas versões, você poderá receber esse erro se o tamanho especificado na entrada for maior que zero, mas menor que o tamanho necessário.
PDH_MORE_DATA
O buffer pRawLogRecord é muito pequeno para conter os elementos de caminho. Esse valor retornado será esperado se pdwBufferLength for zero na entrada. Se o tamanho especificado na entrada for maior que zero, mas menor que o tamanho necessário, você não deverá depender do tamanho retornado para realocar o buffer.
PDH_MEMORY_ALLOCATION_FAILURE
Não é possível alocar memória para concluir a função.

Comentários

Você deve chamar essa função duas vezes, a primeira vez para obter o tamanho do buffer necessário (defina pRawLogRecord como NULL e pdwBufferLength como 0) e a segunda vez para obter os dados.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho pdh.h
Biblioteca Pdh.lib
DLL Pdh.dll

Confira também

PDH_RAW_LOG_RECORD

PdhCollectQueryData

PdhFormatFromRawValue