Função GetNames
Recupera um subconjunto ou todos os nomes das propriedades de um objeto.
Observação
Esta API é somente para uso interno. Ela não é destinada ao uso do código do desenvolvedor.
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] Esse parâmetro não está em uso.
ptr
[in] Um ponteiro para uma instância IWbemClassObject.
wszQualifierName
[in] Um ponteiro para um LPCWSTR
válido que especifica um nome qualificador que opera como parte de um filtro. Para obter mais informações, consulte a seção Comentários. Esse parâmetro pode ser null
.
lFlags
[in] Uma combinação de campos de bits. Para obter mais informações, consulte a seção Comentários.
pQualifierValue
[in] Um ponteiro para uma estrutura válida VARIANT
inicializada para um valor de filtro. Esse parâmetro pode ser null
.
pstrNames
[out] Uma estrutura SAFEARRAY
que contém nomes de propriedade. Na entrada, esse parâmetro deve ser sempre um ponteiro para null
. Consulte a seção Comentários para obter mais informações.
Valor retornado
Os seguintes valores retornados por essa função são definidos no arquivo de cabeçalho WbemCli.h, ou você pode defini-los como constantes em seu código:
Constante | Valor | Descrição |
---|---|---|
WBEM_E_FAILED |
0x80041001 | Houve uma falha geral. |
WBEM_E_INVALID_PARAMETER |
0x80041008 | Um ou mais parâmetros não são válidos ou uma combinação incorreta de sinalizadores e parâmetros foi especificada. |
WBEM_E_OUT_OF_MEMORY |
0x80041006 | Não há memória disponível suficiente para concluir a operação. |
WBEM_S_NO_ERROR |
0 | A chamada de função foi bem-sucedida. |
Comentários
Essa função encapsula uma chamada para o método IWbemClassObject::GetNames.
Os nomeados retornados são controlados por uma combinação de sinalizadores e parâmetros. Por exemplo, a função pode retornar os nomes de todas as propriedades ou apenas os nomes das propriedades da chave. O filtro primário é especificado no parâmetro lFlags
e os outros parâmetros variam dependendo dele.
Os valores de sinalizador em lFlags
são campos de bit
Os sinalizadores que podem ser passados como o argumento lEnumFlags
são são campos de bit definidos no arquivo de cabeçalho WbemCli.h ou você pode defini-los como constantes em seu código. Você 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 | Retornar todos os nomes de propriedade. strQualifierName e pQualifierVal não são utilizados. |
WBEM_FLAG_ONLY_IF_TRUE |
1 | Retornam somente propriedades que tenham um qualificador do nome especificado pelo parâmetro strQualifierName . Se esse sinalizador for usado, você deverá especificar strQualifierName . |
WBEM_FLAG_ONLY_IF_FALSE |
2 | Retornam somente propriedades que não tenham um qualificador do nome especificado pelo parâmetro strQualifierName . Se esse sinalizador for usado, você deverá especificar strQualifierName . |
WBEM_FLAG_ONLY_IF_IDENTICAL |
3 | Retornam somente propriedades que têm um qualificador do nome especificado pelo parâmetro wszQualifierName e também têm um valor idêntico ao especificado pela estrutura pQualifierVal . Se esse sinalizador for usado, você deverá especificar um wszQualifierName e um pQualifierValue . |
Sinalizadores do grupo 2 | Valor | Descrição |
---|---|---|
WBEM_FLAG_KEYS_ONLY |
0x4 | Retornam apenas os nomes das propriedades que definem as chaves. |
WBEM_FLAG_REFS_ONLY |
0x8 | Retornam apenas nomes de propriedade que são referências de objeto. |
Sinalizadores do grupo 3 | Valor | Descrição |
---|---|---|
WBEM_FLAG_LOCAL_ONLY |
0x10 | Retornam apenas nomes de propriedade que pertencem à classe mais derivada. Excluem propriedades das classes pai. |
WBEM_FLAG_PROPAGATED_ONLY |
0x20 | Retornam apenas nomes de propriedade que pertencem às classes pai. |
WBEM_FLAG_SYSTEM_ONLY |
0x30 | Retornam somente os nomes das propriedades do sistema. |
WBEM_FLAG_NONSYSTEM_ONLY |
0x40 | Retornam somente os nomes das propriedades que não são do sistema. |
A função sempre aloca um novo SAFEARRAY
se retornar WBEM_S_NO_ERROR
, e pstrNames
sempre é definida para apontar para ela. A matriz retornada poderá ter 0 elementos se nenhuma propriedade corresponder aos filtros especificados. Se a função retornar um valor diferente de WBM_S_NO_ERROR
, uma nova estrutura SAFEARRAY
não será retornada.
Requisitos
Plataformas: confira Requisitos do sistema.
Header: WMINet_Utils.idl
Versões do .NET Framework: Disponível desde 4.7.2