Método ISyncMgrHandler::GetObject (syncmgr.h)
Crea un tipo específico de objeto relacionado con el controlador.
Sintaxis
HRESULT GetObject(
[in] REFGUID rguidObjectID,
[in] REFIID riid,
[out] void **ppv
);
Parámetros
[in] rguidObjectID
Tipo: REFGUID
GUID que identifica el tipo de objeto que se va a crear. Uno de los siguientes valores, tal como se define en shlguid.h.
SYNCMGR_OBJECTID_BrowseContent
Objeto que implementa la interfaz ISyncMgrUIOperation que muestra la interfaz de usuario que permite al usuario examinar el contenido del elemento administrado por el controlador, como una carpeta, un dispositivo, un equipo en una red o una aplicación.
El Centro de sincronización solo solicita este objeto si la marca de funcionalidad de SYNCMGR_HCM_CAN_BROWSE_CONTENT está establecida en la máscara recuperada por GetCapabilities.
SYNCMGR_OBJECTID_ConflictStore
Objeto que implementa la interfaz ISyncMgrConflictStore que permite a un controlador proporcionar conflictos. Estos conflictos se muestran en la carpeta Conflictos del Centro de sincronización. El almacén de conflictos debe incluir conflictos para el controlador, así como conflictos para todos sus elementos. Para incluir conflictos solo para un elemento específico, el Centro de sincronización llama a GetObject.
El Centro de sincronización solo solicita este objeto si la marca de funcionalidad SYNCMGR_HCM_CONFLICT_STORE está establecida en la máscara recuperada por GetCapabilities.
SYNCMGR_OBJECTID_EventLinkClick
Objeto que implementa la interfaz ISyncMgrEventLinkUIOperation que implementa la acción de clic de un vínculo proporcionado en un evento que se muestra en la carpeta Resultados de sincronización.
SYNCMGR_OBJECTID_EventStore
Objeto que implementa la interfaz ISyncMgrEventStore que permite a un controlador proporcionar su propio origen de eventos. Estos eventos se muestran en la carpeta Resultados de sincronización. El almacén de eventos debe incluir eventos para el controlador, así como para todos sus elementos. Para incluir solo eventos para un elemento específico, el Centro de sincronización llama a GetObject. Se pide al almacén de eventos que elimine los eventos del controlador la próxima vez que se sincronice el controlador. El almacén de eventos predeterminado purga sus eventos cuando el usuario cierra sesión.
El Centro de sincronización solo solicita este objeto si la marca de funcionalidad SYNCMGR_HCM_EVENT_STORE está establecida en la máscara recuperada por GetCapabilities.
No es necesario un controlador para proporcionar un almacén de eventos. El almacén de eventos predeterminado proporcionado por el Centro de sincronización se puede usar si cumple los requisitos del controlador.
SYNCMGR_OBJECTID_Icon
Objeto de extracción de iconos que implementa la interfaz IExtractIcon utilizada para mostrar un icono para el controlador. Este objeto solo se debe proporcionar si el controlador obtiene su icono dinámicamente en tiempo de ejecución. El mecanismo preferido para proporcionar el icono es registrar el icono como DefaultIcon en el registro.
El Centro de sincronización solo solicita este objeto si la marca de funcionalidad SYNCMGR_HCM_PROVIDES_ICON está establecida en la máscara recuperada por GetCapabilities.
SYNCMGR_OBJECTID_QueryBeforeActivate
Objeto que implementa la interfaz ISyncMgrUIOperation que muestra la interfaz de usuario que permite al usuario configurar un controlador. Esta interfaz de usuario se muestra cuando el usuario selecciona el controlador en la carpeta Configuración de sincronización y, a continuación, selecciona la tarea De instalación . Antes de solicitar este objeto, el Centro de sincronización crea un subproceso independiente para esta operación y una nueva instancia del controlador.
El Centro de sincronización solo solicita este objeto si la marca de funcionalidad SYNCMGR_HCM_QUERY_BEFORE_ACTIVATE está establecida en la máscara recuperada por GetCapabilities y la marca de directiva SYNCMGR_HPM_PREVENT_ACTIVATE no está establecida en la máscara recuperada por GetPolicies.
SYNCMGR_OBJECTID_QueryBeforeDeactivate
Objeto que implementa la interfaz ISyncMgrUIOperation que muestra la interfaz de usuario cuando el usuario selecciona el controlador en la carpeta Centro de sincronización y, a continuación, selecciona la tarea Eliminar . Antes de solicitar este objeto, el Centro de sincronización crea un subproceso independiente para esta operación y una nueva instancia del controlador.
El Centro de sincronización solo solicita este objeto si la marca de funcionalidad SYNCMGR_HCM_QUERY_BEFORE_DEACTIVATE está establecida en la máscara recuperada por GetCapabilities y la marca de directiva SYNCMGR_HPM_PREVENT_DEACTIVATE no está establecida en la máscara recuperada por GetPolicies.
SYNCMGR_OBJECTID_QueryBeforeEnable
Objeto que implementa la interfaz ISyncMgrUIOperation que muestra la interfaz de usuario cuando el usuario selecciona el controlador en la carpeta Centro de sincronización y, a continuación, selecciona la tarea Habilitar . Antes de solicitar este objeto, el Centro de sincronización crea un subproceso independiente para esta operación y una nueva instancia del controlador.
El Centro de sincronización solo solicita este objeto si las marcas de funcionalidad SYNCMGR_HCM_CAN_ENABLE y SYNCMGR_HCM_QUERY_BEFORE_ENABLE se establecen en la máscara recuperada por GetCapabilities.
SYNCMGR_OBJECTID_QueryBeforeDisable
Objeto que implementa la interfaz ISyncMgrUIOperation que muestra la interfaz de usuario cuando el usuario selecciona el controlador en la carpeta Centro de sincronización y, a continuación, selecciona la tarea Deshabilitar . Antes de solicitar este objeto, el Centro de sincronización crea un subproceso independiente para esta operación y una nueva instancia del controlador.
El Centro de sincronización solo solicita este objeto si las marcas de funcionalidad SYNCMGR_HCM_CAN_DISABLE y SYNCMGR_HCM_QUERY_BEFORE_DISABLE se establecen en la máscara recuperada por GetCapabilities.
SYNCMGR_OBJECTID_ShowSchedule
Objeto que implementa la interfaz ISyncMgrUIOperation que muestra la interfaz de usuario que permite al usuario configurar la programación para el controlador. Antes de solicitar este objeto, el Centro de sincronización crea un subproceso independiente para esta operación y una nueva instancia del controlador.
El Centro de sincronización solo solicita este objeto si la marca de funcionalidad de SYNCMGR_HCM_CAN_SHOW_SCHEDULE está establecida en la máscara recuperada por GetCapabilities.
[in] riid
Tipo: REFIID
El IID de la interfaz solicitada. Esto depende del tipo de objeto denominado en rguidObjectID.
[out] ppv
Tipo: void**
Cuando este método devuelve , contiene la dirección de un puntero a la interfaz solicitada.
Valor devuelto
Tipo: HRESULT
Devuelve S_OK si se realiza correctamente; de lo contrario, un valor de error. Devuelve E_NOTIMPL si el controlador no admite el tipo de objeto solicitado.
Comentarios
El controlador puede implementar la interfaz solicitada en sí misma o puede implementarla en un objeto diferente.
Ejemplos
En el ejemplo siguiente se muestra una implementación de este método.
STDMETHODIMP CMyDeviceHandler::GetObject( __in REFGUID rguidObjectID,
__in REFIID riid,
__out void **ppv)
{
HRESULT hr = E_NOTIMPL;
*ppv = NULL;
if (rguidObjectID == SYNCMGR_OBJECTID_QueryBeforeActivate)
{
hr = _CreateSetupObject(riid, ppv);
}
else if (rguidObjectID == SYNCMGR_OBJECTID_EventStore)
{
hr = _CreateEventStore(NULL, riid, ppv);
}
return hr;
}
Requisitos
Cliente mínimo compatible | Windows Vista [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2008 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | syncmgr.h |