ISyncMgrSyncItem::GetItemID 方法 (syncmgr.h)
取得同步專案的唯一標識符。
語法
HRESULT GetItemID(
[out] LPWSTR *ppszItemID
);
參數
[out] ppszItemID
類型: LPWSTR*
當這個方法傳回時,包含包含專案標識符之緩衝區的指標。 此字串長度上限MAX_SYNCMGR_ID包括終止 Null 字元。
傳回值
類型: HRESULT
如果此方法成功,則會傳回 S_OK。 否則,它會傳回 HRESULT 錯誤碼。
備註
這個方法所擷取的標識碼無法變更。 一般而言,標識碼的格式為 GUID 字串。 不過,這不是必要專案。 標識元可以是處理程序內容中唯一的任何字串。
如果 GetItemID 失敗,或在 ppszItemID 中傳回空字串,則同步處理專案不會顯示在處理程式的資料夾中,而且同步中心不會嘗試進行同步處理。
這個方法所擷取的標識碼可在資料夾 UI 中使用,作為 System.Sync.ItemID (PKEY_Sync_HandlerID) 屬性。
項目負責透過 CoTaskMemAlloc 配置 ppszComment 所指向的字串緩衝區。 同步中心會透過 CoTaskMemFree 解除分配字串緩衝區。
在較舊的同步管理員實作中,此數據是透過 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 |