Compartilhar via


Função PdhGetRawCounterArrayA (pdh.h)

Retorna uma matriz de valores brutos do contador especificado. Use essa função quando quiser recuperar os valores brutos do contador de um contador que contém um caractere curinga para o nome da instância.

Sintaxe

PDH_FUNCTION PdhGetRawCounterArrayA(
  [in]      PDH_HCOUNTER            hCounter,
  [in, out] LPDWORD                 lpdwBufferSize,
  [out]     LPDWORD                 lpdwItemCount,
  [out]     PPDH_RAW_COUNTER_ITEM_A ItemBuffer
);

Parâmetros

[in] hCounter

Identificador do contador para cujos valores de instância bruta atuais você deseja recuperar. A função PdhAddCounter retorna esse identificador.

[in, out] lpdwBufferSize

Tamanho do buffer ItemBuffer, em bytes. 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 usado. Se o tamanho especificado na entrada for maior que zero, mas menor que o tamanho necessário, você não deverá contar com o tamanho retornado para realocar o buffer.

[out] lpdwItemCount

Número de valores brutos de contador no buffer ItemBuffer.

[out] ItemBuffer

Buffer alocado pelo chamador que recebe a matriz de estruturas de PDH_RAW_COUNTER_ITEM; as estruturas contêm os valores brutos do contador de instância. Defina como NULL se lpdwBufferSize for zero.

Valor de retorno

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_MORE_DATA
O itembuffer buffer não é grande o suficiente para conter o nome do objeto. Esse valor retornado será esperado se lpdwBufferSize 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á contar com o tamanho retornado para realocar o buffer.
PDH_INVALID_ARGUMENT
Um parâmetro não é válido ou está formatado incorretamente. 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_INVALID_HANDLE
O identificador do contador não é válido.

Observações

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

Os dados do contador são bloqueados durante a chamada para PdhGetRawCounterArray para evitar alterações durante o processamento da chamada.

Nota

O cabeçalho pdh.h define PdhGetRawCounterArray como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows XP [somente aplicativos da área de trabalho]
servidor com suporte mínimo Windows Server 2003 [somente aplicativos da área de trabalho]
da Plataforma de Destino Windows
cabeçalho pdh.h
biblioteca Pdh.lib
de DLL Pdh.dll

Consulte também

PDH_RAW_COUNTER_ITEM

PdhCalculateCounterFromRawValue

PdhGetFormattedCounterArray

PdhGetFormattedCounterValue