ISyncMgrSyncItem::GetItemID 메서드(syncmgr.h)
동기화 항목의 고유 ID를 가져옵니다.
구문
HRESULT GetItemID(
[out] LPWSTR *ppszItemID
);
매개 변수
[out] ppszItemID
형식: LPWSTR*
이 메서드가 반환되면 항목의 ID를 포함하는 버퍼에 대한 포인터가 포함됩니다. 이 문자열은 종료 null 문자를 포함하여 MAX_SYNCMGR_ID 최대 길이입니다.
반환 값
형식: HRESULT
메서드가 성공하면 S_OK를 반환하고, 그러지 않으면 HRESULT 오류 코드를 반환합니다.
설명
이 메서드에서 검색한 ID는 변경할 수 없습니다. 일반적으로 ID는 GUID 문자열 형식입니다. 그러나 이것은 요구 사항이 아닙니다. ID는 처리기의 컨텍스트에서 고유한 문자열일 수 있습니다.
GetItemID가 실패하거나 빈 문자열이 ppszItemID에 반환되면 동기화 항목이 처리기의 폴더에 표시되지 않으며 동기화 센터에서 동기화를 시도하지 않습니다.
이 메서드에서 검색한 ID는 폴더 UI에서 System.Sync.ItemID(PKEY_Sync_HandlerID) 속성으로 사용할 수 있습니다.
항목은 CoTaskMemAlloc을 통해 ppszComment에서 가리키는 문자열 버퍼를 할당합니다. 동기화 센터는 CoTaskMemFree를 통해 문자열 버퍼의 할당을 취소합니다.
이전 Sync Manager 구현에서 이 데이터는 SYNCMGRITEM 구조를 통해 검색되었습니다.
예제
다음 예제에서는 이 메서드의 구현을 보여줍니다.
STDMETHODIMP CMyDeviceSyncItem::GetItemID(__out LPWSTR *ppszItemID)
{
HRESULT hr = S_OK;
*ppszName = NULL;
// Generate the string version of the ID.
if (_pszItemID == NULL)
{
LPOLESTR pszItemID = NULL;
hr = StringFromCLSID(_guidItemID, &_pszItemID);
}
if (SUCCEEDED(hr))
{
// Duplicate the item ID string for the caller.
hr = SHCoAllocString(_pszItemID, ppszItemID);
}
return hr;
}
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2008 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | syncmgr.h |