Función GetNames
Recupera un subconjunto o todos los nombres de las propiedades de un objeto.
Nota
Esta API es solo para uso interno. No está pensada para usarla desde código del desarrollador.
Sintaxis
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 no se usa.
ptr
[in] El valor de este parámetro se corresponde con un puntero que apunta a una instancia de la interfaz IWbemClassObject.
wszQualifierName
[in] El valor de este parámetro se corresponde con un puntero que apunta a un valor LPCWSTR
válido donde se especifica un nombre de calificador, que se usa como parte de un filtro. Para más información, vea la sección Comentarios. Este parámetro puede ser null
.
lFlags
[in] El valor de este parámetro se corresponde con una combinación de campos de bits. Para más información, vea la sección Comentarios.
pQualifierValue
[in] El valor de este parámetro se corresponde con un puntero que apunta a una estructura VARIANT
válida que se inicializa en un valor de filtro. Este parámetro puede ser null
.
pstrNames
[out] El valor de este parámetro se corresponde con una estructura SAFEARRAY
donde se incluyen nombres de propiedad. En la entrada de esta función, este parámetro siempre debe ser un puntero que apunte a un valor null
. Consulte la sección Comentarios para obtener más información.
Valor devuelto
Los siguientes valores que devuelve esta función se definen en el archivo de encabezado WbemCli.h, aunque también puede definirlos como constantes en el código. Puede consultarlos a continuación:
Constante | Value | Descripción |
---|---|---|
WBEM_E_FAILED |
0x80041001 | Si se devuelve este valor, significará que se ha producido un error general. |
WBEM_E_INVALID_PARAMETER |
0x80041008 | Si se devuelve este valor, significará que uno o varios parámetros no fueron válidos o que se especificó una combinación incorrecta de marcas y parámetros. |
WBEM_E_OUT_OF_MEMORY |
0x80041006 | Memoria insuficiente para completar la operación. |
WBEM_S_NO_ERROR |
0 | Si se devuelve este valor, significará que la llamada a la función se realizó correctamente. |
Comentarios
Al usar esta función, se ajusta una llamada al método IWbemClassObject::GetNames.
Para controlar los nombres que se devuelven, se usa una combinación de marcas y parámetros. Por ejemplo, la función puede devolver los nombres de todas las propiedades o tan solo los de las propiedades de clave. El filtro principal se especifica en el parámetro lFlags
y los demás parámetros varían en función de este.
Los valores de marca del parámetro lFlags
son campos de bits.
Las marcas que se pueden pasar en el argumento lEnumFlags
constituyen campos de bits que se definen en el archivo de encabezado WbemCli.h, aunque también puede definirlas como constantes en el código. Puede combinar una marca de cada grupo con cualquier marca de cualquier otro grupo. Sin embargo, no es posible combinar marcas que pertenezcan a un mismo grupo.
Marcas del grupo 1 | Valor | Descripción |
---|---|---|
WBEM_FLAG_ALWAYS |
0 | Este valor se usa para obtener todos los nombres de propiedad. En este caso, los valores strQualifierName y pQualifierVal no se usan. |
WBEM_FLAG_ONLY_IF_TRUE |
1 | Este valor se usa para obtener únicamente las propiedades que tengan un calificador del nombre que se especifique en el parámetro strQualifierName . Si se usa esta marca, deberá especificarse el valor strQualifierName . |
WBEM_FLAG_ONLY_IF_FALSE |
2 | Este valor se usa para obtener únicamente las propiedades que no tengan un calificador del nombre que se especifique en el parámetro strQualifierName . Si se usa esta marca, deberá especificarse el valor strQualifierName . |
WBEM_FLAG_ONLY_IF_IDENTICAL |
3 | Este valor se usa para obtener únicamente las propiedades que tengan un calificador del nombre que se especifique en el parámetro wszQualifierName y también tengan un valor idéntico al que se especifica en la estructura pQualifierVal . Si se usa esta marca, deberán especificarse los valores wszQualifierName y pQualifierValue . |
Marcas del grupo 2 | Valor | Descripción |
---|---|---|
WBEM_FLAG_KEYS_ONLY |
0x4 | Este valor se usa para obtener únicamente los nombres de las propiedades en las que se definen las claves. |
WBEM_FLAG_REFS_ONLY |
0x8 | Este valor se usa para obtener únicamente los nombres de propiedad que constituyan referencias de objeto. |
Marcas del grupo 3 | Valor | Descripción |
---|---|---|
WBEM_FLAG_LOCAL_ONLY |
0x10 | Este valor se usa para obtener únicamente los nombres de propiedad que pertenecen a la clase más derivada. Además, se excluyen las propiedades de las clases primarias. |
WBEM_FLAG_PROPAGATED_ONLY |
0x20 | Este valor se usa para obtener únicamente los nombres de propiedad que pertenezcan a las clases primarias. |
WBEM_FLAG_SYSTEM_ONLY |
0x30 | Este valor se usa para obtener únicamente los nombres de las propiedades del sistema. |
WBEM_FLAG_NONSYSTEM_ONLY |
0x40 | Este valor se usa para obtener únicamente los nombres de las propiedades que no sean del sistema. |
Al usar esta función, siempre se asigna una nueva matriz SAFEARRAY
si se devuelve el valor WBEM_S_NO_ERROR
y si el parámetro pstrNames
establece de forma que siempre apunte a esta. La matriz que se devuelve puede contener 0 elementos si no hay ninguna propiedad que coincida con los filtros especificados. Si el uso de la función devuelve un valor distinto de WBM_S_NO_ERROR
, no se devolverá una nueva estructura SAFEARRAY
.
Requisitos
Plataformas: Vea Requisitos de sistema.
Encabezado: WMINet_Utils.idl
Versiones de .NET Framework: está disponible desde la versión 4.7.2