Partilhar via


Função GetNames

Obtém um subconjunto ou todos os nomes das propriedades de um objeto.

Nota

Esta API destina-se apenas a utilização interna. Não se destina a ser utilizado a partir do código do programador.

Sintaxe

HRESULT GetNames (
   [in] int                 vFunc,
   [in] IWbemClassObject*   ptr,
   [in] LPCWSTR             wszQualifierName,
   [in] LONG                lFlags,
   [in] VARIANT*            pQualifierValue,
   [out] SAFEARRAY (BSTR)** pstrNames
);

Parâmetros

vFunc
[in] Este parâmetro não é utilizado.

ptr
[in] Um ponteiro para uma instância IWbemClassObject .

wszQualifierName
[in] Um ponteiro para um válido LPCWSTR que especifica um nome de qualificação que funciona como parte de um filtro. Para obter mais informações, consulte a secção Observações . Este parâmetro pode ser null.

lFlags
[in] Uma combinação de campos de bits. Para obter mais informações, consulte a secção Observações .

pQualifierValue [in] Um ponteiro para uma estrutura válida VARIANT inicializada para um valor de filtro. Este parâmetro pode ser null.

pstrNames
[fora] Uma SAFEARRAY estrutura que contém nomes de propriedades. Na entrada, este parâmetro tem de ser sempre um ponteiro para null. Consulte a secção Observações para obter mais informações.

Valor devolvido

Os seguintes valores devolvidos por esta função são definidos no ficheiro de cabeçalho WbemCli.h ou pode defini-los como constantes no seu código:

Constante Valor Descrição
WBEM_E_FAILED 0x80041001 Ocorreu uma falha geral.
WBEM_E_INVALID_PARAMETER 0x80041008 Um ou mais parâmetros não são válidos ou foi especificada uma combinação incorreta de sinalizadores e parâmetros.
WBEM_E_OUT_OF_MEMORY 0x80041006 Não existe memória suficiente disponível para concluir a operação.
WBEM_S_NO_ERROR 0 A chamada de função foi efetuada com êxito.

Observações

Esta função encapsula uma chamada para o método IWbemClassObject::GetNames .

O nome devolvido é controlado por uma combinação de sinalizadores e parâmetros. Por exemplo, a função pode devolver os nomes de todas as propriedades ou apenas os nomes das propriedades da chave. O filtro primário é especificado no lFlags parâmetro e os outros parâmetros variam consoante o mesmo.

Os valores do sinalizador em lFlags são campos de bits

Os sinalizadores que podem ser transmitidos como argumento lEnumFlags são campos de bits definidos no ficheiro de cabeçalho WbemCli.h ou pode defini-los como constantes no seu código. Pode combinar um sinalizador de cada grupo com qualquer sinalizador de qualquer outro grupo. No entanto, os sinalizadores do mesmo grupo são mutuamente exclusivos.

Sinalizadores do Grupo 1 Valor Descrição
WBEM_FLAG_ALWAYS 0 Devolver todos os nomes de propriedades. strQualifierName e pQualifierVal não são utilizados.
WBEM_FLAG_ONLY_IF_TRUE 1 Devolver apenas propriedades que tenham um qualificador do nome especificado pelo strQualifierName parâmetro. Se este sinalizador for utilizado, tem de especificar strQualifierName.
WBEM_FLAG_ONLY_IF_FALSE 2 Devolver apenas as propriedades que não têm um qualificador do nome especificado pelo strQualifierName parâmetro. Se este sinalizador for utilizado, tem de especificar strQualifierName.
WBEM_FLAG_ONLY_IF_IDENTICAL 3 Devolver apenas as propriedades que têm um qualificador do nome especificado pelo wszQualifierName parâmetro e também têm um valor idêntico ao especificado pela pQualifierVal estrutura. Se este sinalizador for utilizado, tem de especificar um wszQualifierName e um pQualifierValue.
Sinalizadores do Grupo 2 Valor Descrição
WBEM_FLAG_KEYS_ONLY 0x4 Devolver apenas os nomes das propriedades que definem as chaves.
WBEM_FLAG_REFS_ONLY 0x8 Devolver apenas nomes de propriedades que sejam referências de objetos.
Sinalizadores de grupo 3 Valor Descrição
WBEM_FLAG_LOCAL_ONLY 0x10 Devolver apenas nomes de propriedades que pertencem à classe mais derivada. Exclua as propriedades das classes principais.
WBEM_FLAG_PROPAGATED_ONLY 0x20 Devolver apenas nomes de propriedades que pertencem às classes principais.
WBEM_FLAG_SYSTEM_ONLY 0x30 Devolver apenas os nomes das propriedades do sistema.
WBEM_FLAG_NONSYSTEM_ONLY 0x40 Devolver apenas os nomes de propriedades que não são do sistema.

A função aloca sempre uma nova SAFEARRAY se devolver WBEM_S_NO_ERRORe pstrNames estiver sempre definida para apontar para a mesma. A matriz devolvida pode ter 0 elementos se nenhuma propriedade corresponder aos filtros especificados. Se a função devolver um valor diferente de WBM_S_NO_ERROR, não será devolvida uma nova SAFEARRAY estrutura.

Requisitos

Plataformas: Veja Requisitos do Sistema.

Cabeçalho: WMINet_Utils.idl

.NET Framework Versões: Disponível desde 4.7.2

Ver também