Compartilhar via


Função PdhVbOpenLog

A função PdhVbOpenLog abre o arquivo de log especificado para leitura e gravação. Essa função chama PdhOpenLog.

Importante

A função que este tópico descreve pode ser alterada ou indisponível no futuro. Em vez disso, a Microsoft recomenda que você use as funções descritas em Funções de Contadores de Desempenho.

Function PdhVbOpenLog( _ ByVal szLogFileName As LPCTSTR, _ ByVal dwAccessFlags As DWORD, _ ByVal lpdwLogType As LPDWORD, _ ByVal hQuery As PDH_HQUERY, _ ByVal dwMaxSize As DWORD, _ ByVal szUserCaption As LPCSTR, _ ByRef phLog As PDH_HLOG _ ) As DWORD

Parâmetros

szLogFileName [in]

Ponteiro para uma cadeia de caracteres que especifica o nome do arquivo de log a ser aberto.

Se o arquivo de log contiver dados SQL, o formato do nome do arquivo de log será **SQL:DataSourceName!**LogFileName. Nesse caso, o valor do parâmetro lpdwLogType é PDH_LOG_TYPE_SQL.

dwAccessFlags [in]

Tipo de acesso a ser especificado quando o arquivo de log é aberto. Esse parâmetro pode usar um dos valores a seguir.

Valor Significado
PDH_LOG_READ_ACCESS
Um arquivo de log é aberto para uma operação de leitura.
PDH_LOG_WRITE_ACCESS
Um novo arquivo de log é aberto para uma operação de gravação.
PDH_LOG_UPDATE_ACCESS
Um arquivo de log existente é aberto para uma operação de gravação.

O valor selecionado na tabela anterior pode ser combinado usando o operador OR com um dos sinalizadores de acesso de criação a seguir.

Valor Significado
PDH_LOG_CREATE_NEW
Um novo arquivo de log com o nome especificado é criado.
PDH_LOG_CREATE_ALWAYS
Um novo arquivo de log com o nome especificado é criado e qualquer arquivo de log existente com o mesmo nome é apagado.
PDH_LOG_OPEN_EXISTING
Um arquivo de log existente com o nome especificado é aberto. Se um arquivo de log com o nome especificado não existir, isso será igual a PDH_LOG_CREATE_NEW.
PDH_LOG_OPEN_ALWAYS
Um arquivo de log existente com o nome especificado é aberto ou um novo arquivo de log com o nome especificado é criado.

lpdwLogType [in]

Ponteiro para uma variável que indica o tipo de arquivo de log a ser aberto. Esse parâmetro pode usar um dos valores a seguir.

Valor Significado
PDH_LOG_TYPE_UNDEFINED
Formato de arquivo de log indefinido.
PDH_LOG_TYPE_CSV
Arquivos de texto que contêm cabeçalhos de coluna na primeira linha e amostras de dados individuais em cada linha subsequente.
PDH_LOG_TYPE_SQL
Os dados no arquivo de log estão no SQL.
PDH_LOG_TYPE_TSV
O mesmo que PDH_LOG_TYPE_CSV.
PDH_LOG_TYPE_BINARY
Formato de arquivo de log binário. Inclui arquivos de log circulares.
PDH_LOG_TYPE_PERFMON
Formato de arquivo de log perfmon.

hQuery [in]

Identificador de consulta. Esse identificador é retornado pela função PdhVbOpenQuery .

Esse parâmetro poderá ser NULL se o arquivo de log for aberto para leitura.

dwMaxSize [in]

Tamanho máximo do arquivo de log, em bytes. Esse valor será usado somente se o arquivo de log for um arquivo de log circular ou de tamanho limitado.

szUserCaption [in]

Ponteiro para uma cadeia de caracteres que especifica o legenda definido pelo usuário do arquivo de log. Um arquivo de log legenda geralmente descreve o conteúdo do arquivo de log. Quando um arquivo de log existente é aberto, o valor desse parâmetro é ignorado.

phLog [in, ref]

Ponteiro para um buffer que recebe um identificador para o arquivo de log aberto.

Valor retornado

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

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_INSUFFICIENT_BUFFER
Os dados solicitados são maiores do que o buffer fornecido. Não é possível retornar os dados solicitados.
PDH_INVALID_ARGUMENT
Um ou mais buffers de cadeia de caracteres não é o tamanho correto.
PDH_INVALID_HANDLE
O identificador não é um objeto PDH válido.
PDH_LOG_FILE_OPEN_ERROR
Não é possível abrir o arquivo de log especificado.
PDH_FILE_NOT_FOUND
Não é possível localizar o arquivo especificado.

Comentários

Ao usar essa função para gravar dados de desempenho em um arquivo de log, uma consulta deve ser aberta primeiro usando PdhVbOpenQuery.

Deve haver uma consulta aberta no momento e os contadores desejados devem ser adicionados a ela, antes que essa função seja chamada.

Observe que os arquivos de log no formato Perfmon só podem ser abertos para leitura.

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]
Biblioteca
Pdh.lib
DLL
Pdh.dll

Confira também

PdhOpenLog

PdhVbGetLogFileSize

PdhVbUpdateLog