Usar modelos de cadeia de caracteres padrão

Vários consumidores, como o Consumidor de Eventos de Script Ativo ou o Consumidor de Eventos de Linha de Comando, têm propriedades de cadeia de caracteres com o qualificador Template. Essas propriedades usam modelos de cadeia de caracteres padrão para construir uma cadeia de caracteres configurada em parte pela instância do consumidor e, em parte, por um evento. A estrutura de um modelo de cadeia de caracteres padrão é semelhante à especificação de variável de ambiente do Microsoft Windows.

A lista a seguir mostra alguns exemplos da linguagem de modelo:

  • A cadeia de caracteres "Algum texto aqui" sempre produz a cadeia de caracteres "Algum texto aqui".
  • "%CPUUtilization%" sempre produz o valor da propriedade CPUUtilization do evento que está sendo entregue. Se a propriedade não for uma cadeia de caracteres, ela será convertida em uma cadeia de caracteres; por exemplo, "90" ou "TRUE".
  • "A utilização da CPU desse processador é %CPUUtilization% no momento" insere o valor da propriedade CPUUtilization do evento na cadeia de caracteres, produzindo algo como" A utilização da CPU desse processador é de 90 neste momento".
  • "%TargetInstance.CPUUtilization%" recupera o valor da propriedade CPUUtilization na instância inserida da propriedade TargetInstance.
  • "%%" produz um único sinal de %.
  • Se a propriedade que está sendo recuperada for uma matriz, toda a matriz será produzida no seguinte formato: "(1,5,10,1024)". Se houver apenas um elemento na matriz, os parênteses serão omitidos. Se não houver elementos na matriz, "()" será produzido.
  • Se uma propriedade for um objeto inserido, a representação do MOF do objeto será produzida (semelhante ao método IWbemClassObject::GetObjectText).
  • Se uma propriedade de uma matriz inserida de objetos for solicitada, ela será tratada como uma propriedade com um valor de matriz. Por exemplo: %MyEvents.TargetInstance.DriverLetter% poderá produzir "("C:","D:")" se MyEvents for uma matriz de eventos de modificação de instância inserida.

Literais de cadeia de caracteres

Qualquer coisa entre aspas é considerada um literal de cadeia de caracteres e não será substituída.

O exemplo a seguir mostra a cadeia de caracteres que o compilador vê para "A utilização da CPU é %CPUUtilization%".

CPU utilization is %CPUUtilization%

Essa cadeia de caracteres produz a saída a seguir.

CPU utilization is 90

Por outro lado, a cadeia de caracteres "A utilização da CPU é \"%CPUUtilization%\"" é vista pelo compilador da seguinte maneira.

CPU utilization is "%CPUUtilization%"

Essa cadeia de caracteres produz a saída a seguir, sem substituição de variável.

CPU utilization is "%CPUUtilization%"

Como monitorar e responder a eventos com consumidores padrão