Función SHGetPropertyStoreForWindow (shellapi.h)

Recupera un objeto que representa la colección de propiedades de una ventana específica, que permite consultar o establecer esas propiedades.

Sintaxis

SHSTDAPI SHGetPropertyStoreForWindow(
  [in]  HWND   hwnd,
  [in]  REFIID riid,
  [out] void   **ppv
);

Parámetros

[in] hwnd

Tipo: HWND

Identificador de la ventana cuyas propiedades se recuperan.

[in] riid

Tipo: REFIID

Referencia al IID del objeto de almacén de propiedades que se va a recuperar a través de ppv. Esto suele ser IID_IPropertyStore.

[out] ppv

Tipo: void**

Cuando se devuelve esta función, contiene el puntero de interfaz solicitado en riid. Normalmente, es IPropertyStore.

Valor devuelto

Tipo: HRESULT

Si esta función se realiza correctamente, devuelve S_OK. De lo contrario, devuelve un código de error de HRESULT.

Comentarios

Una aplicación puede usar esta función para obtener acceso al almacén de propiedades de una ventana para que pueda establecer un identificador explícito del modelo de usuario de aplicación (AppUserModelID) en la propiedad System.AppUserModel.ID .

Las propiedades de una ventana deben quitarse antes de cerrar la ventana. Si esto no se hace, los recursos usados por esas propiedades no se devuelven al sistema. Se quita una propiedad estableciendo en el tipo PROPVARIANT VT_EMPTY.

Cuando se realiza una llamada a IPropertyStore::SetValue en el objeto recuperado a través de ppv, las propiedades y los valores se almacenan inmediatamente en la ventana. Por lo tanto, no se necesita ninguna llamada a IPropertyStore::Commit . No se produce ningún error si se llama a , pero no tiene ningún efecto.

Una aplicación establece AppUserModelIDs en ventanas individuales para controlar la agrupación de la barra de tareas de la aplicación y el contenido de jump List. Por ejemplo, es posible que una aplicación de conjunto de aplicaciones quiera proporcionar un botón de barra de tareas diferente para cada una de sus subfeatures, con las ventanas relacionadas con esa subfeature agrupadas en ese botón. Sin appUserModelID de nivel de ventana, esas ventanas se agruparían en el proceso principal.

Las aplicaciones también deben usar este almacén de propiedades para establecer estas propiedades de relanzamiento para que el sistema pueda devolver la aplicación a ese estado.

Requisitos

   
Cliente mínimo compatible Windows 7 [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 R2 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado shellapi.h
Library Shell32.lib
Archivo DLL Shell32.dll (versión 6.1 o posterior)

Consulte también

Identificadores de modelo de usuario de aplicación (AppUserModelID)