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 が指す文字列バッファーを割り当てる役割を担います。 Sync Center は 、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 |