Método ISyncMgrSyncItem::GetObject (syncmgr.h)
Crea un tipo específico de objeto relacionado con el elemento.
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.
El Centro de sincronización solo solicita este objeto si la marca de funcionalidad SYNCMGR_ICM_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 elemento proporcionar conflictos. Estos conflictos se muestran en la carpeta Conflictos del Centro de sincronización. El almacén de conflictos debe incluir conflictos solo para el elemento. Para incluir conflictos para todos los elementos de un controlador, el Centro de sincronización llama a GetObject.
El Centro de sincronización solo solicita este objeto si la marca de funcionalidad SYNCMGR_ICM_CONFLICT_STORE está establecida en la máscara recuperada por GetCapabilities.
SYNCMGR_OBJECTID_EventStore
Objeto que implementa la interfaz ISyncMgrEventStore que permite a un elemento proporcionar su propio origen de eventos. Estos eventos se muestran en la carpeta Resultados de sincronización. El almacén de eventos debe incluir solo eventos para el elemento. Para incluir eventos para todos los elementos de un controlador, el Centro de sincronización llama a GetObject.
El Centro de sincronización solo solicita este objeto si la marca de funcionalidad SYNCMGR_ICM_EVENT_STORE está establecida en la máscara recuperada por GetCapabilities.
Un elemento no es necesario 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 elemento.
SYNCMGR_OBJECTID_Icon
Objeto de extracción de iconos que implementa la interfaz IExtractIcon utilizada para mostrar un icono para el elemento. Este objeto solo se debe proporcionar si el elemento 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_ICM_PROVIDES_ICON está establecida en la máscara recuperada por GetCapabilities.
SYNCMGR_OBJECTID_QueryBeforeDelete
Objeto que implementa la interfaz ISyncMgrUIOperation que muestra la interfaz de usuario cuando el usuario selecciona el elemento en la carpeta del controlador 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 elemento.
El Centro de sincronización solo solicita este objeto si las marcas de funcionalidad SYNCMGR_ICM_CAN_DELETE y SYNCMGR_ICM_QUERY_BEFORE_DELETE se establecen en la máscara recuperada por GetCapabilities.
SYNCMGR_OBJECTID_QueryBeforeEnable
Objeto que implementa la interfaz ISyncMgrUIOperation que muestra la interfaz de usuario cuando el usuario selecciona el elemento 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 elemento.
El Centro de sincronización solo solicita este objeto si se establece la marca de funcionalidad SYNCMGR_ICM_QUERY_BEFORE_ENABLE y la marca de directiva SYNCMGR_IPM_PREVENT_ENABLE no.
SYNCMGR_OBJECTID_QueryBeforeDisable
Objeto que implementa la interfaz ISyncMgrUIOperation que muestra la interfaz de usuario cuando el usuario selecciona el elemento en la carpeta del controlador 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 elemento.
El Centro de sincronización solo solicita este objeto si se establece la marca de funcionalidad SYNCMGR_ICM_QUERY_BEFORE_DELETE y la marca de directiva SYNCMGR_IPM_PREVENT_DISABLE no.
[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_INVALIDARG si el elemento no admite el tipo de objeto solicitado.
Comentarios
El elemento puede implementar la interfaz solicitada en su controlador o puede implementarla en un objeto diferente.
Ejemplos
En el ejemplo siguiente se muestra una implementación de este método.
STDMETHODIMP CMyDeviceSyncItem::GetObject(__in REFGUID rguidObjectID,
__in REFIID riid,
__out void **ppv)
{
HRESULT hr = E_INVALIDARG;
*ppv = NULL;
if (rguidObjectID == SYNCMGR_OBJECTID_QueryBeforeDelete)
{
hr = _CreateQueryBeforeDeleteObject(riid, ppv);
}
else if (rguidObjectID == SYNCMGR_OBJECTID_EventStore)
{
hr = _CreateEventStore(_pszItemID, riid, ppv);
}
return hr;
}
Requisitos
Requisito | Value |
---|---|
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 |