Método IPropertyStorage::WritePropertyNames (propidlbase.h)
El método WritePropertyNames asigna nombres de cadena IPropertyStorage a una matriz especificada de identificadores de propiedad en el conjunto de propiedades actual.
Sintaxis
HRESULT WritePropertyNames(
[in] ULONG cpropid,
[in] const PROPID [] rgpropid,
[in] const LPOLESTR [] rglpwstrName
);
Parámetros
[in] cpropid
Tamaño de la entrada del rgpropid de la matriz. Puede ser cero. Sin embargo, hacer que no sea cero hace que este método se convierta en no operativo.
[in] rgpropid
Matriz de los identificadores de propiedad para los que se van a establecer los nombres.
[in] rglpwstrName
Matriz de nombres nuevos que se asignarán a los identificadores de propiedad correspondientes en la matriz rgpropid . Estos nombres no pueden superar los 255 caracteres (sin incluir el terminador NULL ).
Valor devuelto
Este método admite el valor devuelto estándar E_UNEXPECTED, además de lo siguiente:
Comentarios
Para obtener más información sobre los conjuntos de propiedades y la administración de memoria, vea Managing Property Sets.
IPropertyStorage::WritePropertyNames asigna nombres de cadena a identificadores de propiedad pasados al método en la matriz rgpropid . Asocia cada nombre de cadena en la matriz rglpwstrName con el identificador de propiedad respectivo en rgpropid. Es explícitamente válido definir un nombre para un identificador de propiedad que no está presente actualmente en el objeto de almacenamiento de propiedades.
También es válido cambiar la asignación de un nombre de cadena existente (determinado por una coincidencia que no distingue mayúsculas de minúsculas). Es decir, puede usar el método WritePropertyNames para asignar un nombre existente a un nuevo identificador de propiedad o para asignar un nuevo nombre a un identificador de propiedad que ya tiene un nombre en el diccionario. En cualquier caso, se elimina la asignación original. Los nombres de propiedad deben ser únicos (como son los identificadores de propiedad) dentro del conjunto de propiedades.
El almacenamiento de nombres de propiedad de cadena conserva el caso. A menos que PROPSETFLAG_CASE_SENSITIVE se pase a IPropertySetStorage::Create, los nombres de conjunto de propiedades no distinguen mayúsculas de minúsculas de forma predeterminada. Con los conjuntos de propiedades que no distinguen mayúsculas de minúsculas, las cadenas de nombre pasadas por el autor de la llamada se interpretan según la configuración regional del conjunto de propiedades, según lo especificado por la propiedad PID_LOCALE . Si el conjunto de propiedades no tiene ninguna propiedad de configuración regional, se asume el usuario actual de forma predeterminada. Los nombres de propiedad de cadena tienen una longitud limitada a 128 caracteres. Los nombres de propiedad que comienzan con los caracteres Unicode binarios 0x0001 a través de 0x001F están reservados para su uso futuro.
Si el valor de un elemento del parámetro de matriz rgpropid se establece en 0xffffffff (PID_ILLEGAL), IPropertyStorage::WritePropertyNames omite el nombre correspondiente. Por ejemplo, si se llama a este método con un parámetro cpropid de 3, pero el primer elemento de la matriz, rgpropid[1], se establece en PID_ILLEGAL, solo se escriben dos nombres de propiedad. Se omite el elemento rgpropid[1].
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 2000 Professional [aplicaciones de escritorio | Aplicaciones para UWP] |
Servidor mínimo compatible | Windows 2000 Server [aplicaciones de escritorio | Aplicaciones para UWP] |
Plataforma de destino | Windows |
Encabezado | propidlbase.h (include Objbase.h, Propidlbase.h) |
Library | Uuid.lib |
Archivo DLL | Ole32.dll |
Consulte también
IPropertyStorage::ReadMultiple
IPropertyStorage::ReadPropertyNames