Compartir a través de


Función MMCFreeNotifyHandle (mmc.h)

Un complemento llama a la función MMCFreeNotifyHandle para liberar el identificador a un mensaje de notificación de MMCN_PROPERTY_CHANGE enviado al complemento por MMC en respuesta a una llamada MMCPropertyChangeNotify realizada por una hoja de propiedades.

Sintaxis

HRESULT MMCFreeNotifyHandle(
  [in] LONG_PTR lNotifyHandle
);

Parámetros

[in] lNotifyHandle

Valor que especifica un identificador proporcionado por la consola durante una llamada A IExtendPropertySheet2::CreatePropertyPages .

Valor devuelto

Esta función de devolución de llamada puede devolver uno de estos valores.

Comentarios

El identificador de la notificación se pasa al complemento a través de una llamada al método IExtendPropertySheet2::CreatePropertyPages . Si el complemento devuelve un código correcto (S_OK, S_FALSE) de este método, el complemento debe llamar a MMCFreeNotifyHandle. Si el complemento devuelve un código de error, MMC libera inmediatamente el identificador.

El complemento puede liberar el controlador en cualquier momento, ya que MMC no usa el identificador después de que se le dé al complemento. El complemento solo debe llamar a MMCFreeNotifyHandle una vez y no debe usar el identificador en una llamada MMCPropertyChangeNotify después de liberarlo.

Tenga en cuenta que el complemento solo debe llamar a MMCFreeNotifyHandle si se llama al método IExtendPropertySheet2::CreatePropertyPages . MMC no llamará a IExtendPropertySheet2::CreatePropertyPages si el complemento usa IPropertySheetCallback para agregar páginas de propiedades y, a continuación, llama a IPropertySheetProvider::AddPrimaryPages con un primer parámetro NULL . Llamar a AddPrimaryPages de esta manera informa a MMC de que las páginas ya se han agregado, por lo que no es necesario llamar al método IExtendPropertySheet2::CreatePropertyPages del complemento. Para obtener más información, vea Agregar páginas del Asistente: Detalles de implementación.

La lista siguiente contiene escenarios que muestran situaciones en las que el complemento puede llamar a MMCFreeNotifyHandle:

  • En IExtendPropertySheet2::CreatePropertyPages, el complemento no agrega ninguna página de propiedades. Si CreatePropertyPages no devuelve un resultado de error, el complemento puede llamar a MMCFreeNotifyHandle antes de devolverlo. De lo contrario, MMC liberará el controlador.
  • En IExtendPropertySheet2::CreatePropertyPages, el complemento agrega páginas de propiedades, pero no pasa el identificador a las páginas. De nuevo, si CreatePropertyPages no devuelve un resultado de error, el complemento puede llamar a MMCFreeNotifyHandle antes de devolverlo.
  • En IExtendPropertySheet2::CreatePropertyPages, el complemento agrega páginas de propiedades y también pasa el identificador a las páginas. Sin embargo, las páginas de propiedades no llaman a MMCPropertyChangeNotify. En este caso, el complemento puede llamar a MMCFreeNotifyHandle en el destructor de las páginas de propiedades o antes de devolver (sin un resultado de error) desde CreatePropertyPages.
  • En IExtendPropertySheet2::CreatePropertyPages, el complemento agrega páginas de propiedades y también pasa el identificador a las páginas. Las páginas de propiedades llaman a MMCPropertyChangeNotify. En este caso, el complemento debe llamar a MMCFreeNotifyHandle en el destructor de las páginas de propiedades. Tenga en cuenta que no se recomienda llamar a MMCFreeNotifyHandle en el controlador de notificaciones MMCN_PROPERTY_CHANGE del complemento, ya que varias páginas pueden enviar notificaciones o la misma página podría enviar varias notificaciones (una cada vez que el usuario hace clic en el botón Aplicar ).

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista
Servidor mínimo compatible Windows Server 2008
Plataforma de destino Windows
Encabezado mmc.h

Consulte también

IComponent

IExtendPropertySheet2::CreatePropertyPages

MMCPropertyChangeNotify