다음을 통해 공유


ISyncMgrSyncItem::GetObject 메서드(syncmgr.h)

항목과 관련된 특정 유형의 개체를 만듭니다.

구문

HRESULT GetObject(
  [in]  REFGUID rguidObjectID,
  [in]  REFIID  riid,
  [out] void    **ppv
);

매개 변수

[in] rguidObjectID

형식: REFGUID

만들 개체의 형식을 식별하는 GUID입니다. shlguid.h에 정의된 다음 값 중 하나입니다.

SYNCMGR_OBJECTID_BrowseContent

사용자가 항목의 내용을 찾아볼 수 있는 UI를 보여 주는 ISyncMgrUIOperation 인터페이스를 구현하는 개체입니다.

동기화 센터는 GetCapabilities에서 검색한 마스크에 SYNCMGR_ICM_CAN_BROWSE_CONTENT 기능 플래그가 설정된 경우에만 이 개체를 요청합니다.

SYNCMGR_OBJECTID_ConflictStore

항목이 충돌을 제공할 수 있도록 하는 ISyncMgrConflictStore 인터페이스를 구현하는 개체입니다. 이러한 충돌은 동기화 센터 충돌 폴더에 표시됩니다. 충돌 저장소는 항목에 대해서만 충돌을 포함해야 합니다. 모든 처리기의 항목에 대한 충돌을 포함하기 위해 동기화 센터는 GetObject를 호출합니다.

동기화 센터는 GetCapabilities에서 검색한 마스크에 SYNCMGR_ICM_CONFLICT_STORE 기능 플래그가 설정된 경우에만 이 개체를 요청합니다.

SYNCMGR_OBJECTID_EventStore

항목이 자체 이벤트 원본을 제공할 수 있도록 하는 ISyncMgrEventStore 인터페이스를 구현하는 개체입니다. 이러한 이벤트는 동기화 결과 폴더에 표시됩니다. 이벤트 저장소는 항목에 대한 이벤트만 포함해야 합니다. 모든 처리기 항목에 대한 이벤트를 포함하기 위해 동기화 센터는 GetObject를 호출합니다.

동기화 센터는 GetCapabilities에서 검색한 마스크에 SYNCMGR_ICM_EVENT_STORE 기능 플래그가 설정된 경우에만 이 개체를 요청합니다.

이벤트 저장소를 제공하기 위해 항목이 필요하지 않습니다. 동기화 센터에서 제공하는 기본 이벤트 저장소는 항목의 요구 사항을 충족하는 경우 사용할 수 있습니다.

SYNCMGR_OBJECTID_Icon

항목의 아이콘을 표시하는 데 사용되는 IExtractIcon 인터페이스를 구현하는 아이콘 추출 개체입니다. 이 개체는 항목이 런타임에 동적으로 아이콘을 가져오는 경우에만 제공해야 합니다. 아이콘을 제공하는 기본 메커니즘은 레지스트리에서 아이콘을 DefaultIcon으로 등록하는 것입니다.

동기화 센터는 GetCapabilities에서 검색한 마스크에 SYNCMGR_ICM_PROVIDES_ICON 기능 플래그가 설정된 경우에만 이 개체를 요청합니다.

SYNCMGR_OBJECTID_QueryBeforeDelete

사용자가 처리기의 폴더에서 항목을 선택한 다음 삭제 작업을 선택할 때 UI를 표시하는 ISyncMgrUIOperation 인터페이스를 구현하는 개체입니다. 이 개체를 요청하기 전에 동기화 센터는 이 작업에 대한 별도의 스레드와 항목의 새 instance 만듭니다.

동기화 센터는 GetCapabilities에서 검색한 마스크에 SYNCMGR_ICM_CAN_DELETE 및 SYNCMGR_ICM_QUERY_BEFORE_DELETE 기능 플래그가 설정된 경우에만 이 개체를 요청합니다.

SYNCMGR_OBJECTID_QueryBeforeEnable

사용자가 동기화 센터 폴더에서 항목을 선택한 다음 사용 작업을 선택할 때 UI를 표시하는 ISyncMgrUIOperation 인터페이스를 구현하는 개체입니다. 이 개체를 요청하기 전에 동기화 센터는 이 작업에 대한 별도의 스레드와 항목의 새 instance 만듭니다.

동기화 센터는 SYNCMGR_ICM_QUERY_BEFORE_ENABLE 기능 플래그가 설정되고 SYNCMGR_IPM_PREVENT_ENABLE정책 플래그 가 아닌 경우에만 이 개체를 요청합니다.

SYNCMGR_OBJECTID_QueryBeforeDisable

사용자가 처리기의 폴더에서 항목을 선택한 다음 사용 안 함 작업을 선택할 때 UI를 표시하는 ISyncMgrUIOperation 인터페이스를 구현하는 개체입니다. 이 개체를 요청하기 전에 동기화 센터는 이 작업에 대한 별도의 스레드와 항목의 새 instance 만듭니다.

동기화 센터는 SYNCMGR_ICM_QUERY_BEFORE_DELETE 기능 플래그가 설정되고 SYNCMGR_IPM_PREVENT_DISABLE정책 플래그 가 설정되지 않은 경우에만 이 개체를 요청합니다.

[in] riid

형식: REFIID

요청된 인터페이스의 IID입니다. rguidObjectID에 명명된 개체 형식에 따라 달라집니다.

[out] ppv

형식: void**

이 메서드가 반환되면 요청된 인터페이스에 대한 포인터의 주소가 포함됩니다.

반환 값

형식: HRESULT

성공하면 S_OK 반환하고, 그렇지 않으면 오류 값을 반환합니다. 항목이 요청된 개체 형식을 지원하지 않는 경우 E_INVALIDARG 반환합니다.

설명

항목은 해당 처리기에서 요청된 인터페이스를 구현하거나 다른 개체에서 구현할 수 있습니다.

예제

다음 예제에서는 이 메서드의 구현을 보여줍니다.

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;
}

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2008 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 syncmgr.h