IOfflineFilesChangeInfo
COM公式ドキュメント
オフライン作業中に項目に対して行われたローカルの変更に関する情報を表します。
メソッド 6
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
オフラインファイルのキャッシュ内の項目が変更されているかどうかを判定します。
| pbDirty | BOOL* | out | オフライン作業中に項目が何らかの形で変更されている場合は TRUE、それ以外の場合は FALSE を受け取ります。 |
戻り値
成功した場合は S_OK を返します。それ以外の場合はエラー値を返します。
解説(Remarks)
項目がオフラインで変更されると、その項目は「ダーティ (dirty)」としてマークされます。このような項目は、項目の「ダーティ」プロパティを解除するために同期する必要があります。オフラインファイルサービスは、オフラインのスコープがオンラインに移行したときに項目を自動的に同期します。
オフライン作業中に、項目がオフラインファイルのキャッシュから削除されたかどうかを判定します。
| pbDeletedOffline | BOOL* | out | オフライン作業中に項目がオフラインファイルのキャッシュから削除された場合は TRUE、それ以外の場合は FALSE を受け取ります。 |
戻り値
成功した場合は S_OK を返します。それ以外の場合はエラー値を返します。
オフライン作業中に、項目がオフラインファイルのキャッシュ内に作成されたかどうかを判定します。
| pbCreatedOffline | BOOL* | out | オフライン作業中に項目がオフラインファイルのキャッシュ内に作成された場合は TRUE、それ以外の場合は FALSE を受け取ります。 |
戻り値
成功した場合は S_OK を返します。それ以外の場合はエラー値を返します。
オフライン作業中に、項目のデータが変更されたかどうかを判定します。
| pbLocallyModifiedData | BOOL* | out | オフライン作業中に、オフラインファイルのキャッシュ内で項目のデータが変更された場合は TRUE、それ以外の場合は FALSE を受け取ります。 |
戻り値
成功した場合は S_OK を返します。それ以外の場合はエラー値を返します。
オフライン作業中に、項目の属性が 1 つ以上変更されたかどうかを判定します。
| pbLocallyModifiedAttributes | BOOL* | out | オフライン作業中に、オフラインファイルのキャッシュ内で項目の属性が 1 つ以上変更された場合は TRUE、それ以外の場合は FALSE を受け取ります。 |
戻り値
成功した場合は S_OK を返します。それ以外の場合はエラー値を返します。
解説(Remarks)
項目の Win32 ファイル属性を調べるには、IOfflineFilesFileSysInfo::GetAttributes を使用します。
オフライン作業中に、項目の時刻値が 1 つ以上変更されたかどうかを判定します。
| pbLocallyModifiedTime | BOOL* | out | オフライン作業中に、オフラインファイルのキャッシュ内で項目の時刻値が 1 つ以上変更された場合は TRUE、それ以外の場合は FALSE を受け取ります。 |
戻り値
成功した場合は S_OK を返します。それ以外の場合はエラー値を返します。
解説(Remarks)
項目に関連付けられた時刻値を調べるには、IOfflineFilesFileSysInfo::GetTimes を使用します。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IOfflineFilesChangeInfo "{A96E6FA4-E0D1-4C29-960B-EE508FE68C72}" #usecom global IOfflineFilesChangeInfo IID_IOfflineFilesChangeInfo "{}" #comfunc global IOfflineFilesChangeInfo_IsDirty 3 var #comfunc global IOfflineFilesChangeInfo_IsDeletedOffline 4 var #comfunc global IOfflineFilesChangeInfo_IsCreatedOffline 5 var #comfunc global IOfflineFilesChangeInfo_IsLocallyModifiedData 6 var #comfunc global IOfflineFilesChangeInfo_IsLocallyModifiedAttributes 7 var #comfunc global IOfflineFilesChangeInfo_IsLocallyModifiedTime 8 var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。#define global IID_IOfflineFilesChangeInfo "{A96E6FA4-E0D1-4C29-960B-EE508FE68C72}" #usecom global IOfflineFilesChangeInfo IID_IOfflineFilesChangeInfo "{}" #comfunc global IOfflineFilesChangeInfo_IsDirty 3 sptr #comfunc global IOfflineFilesChangeInfo_IsDeletedOffline 4 sptr #comfunc global IOfflineFilesChangeInfo_IsCreatedOffline 5 sptr #comfunc global IOfflineFilesChangeInfo_IsLocallyModifiedData 6 sptr #comfunc global IOfflineFilesChangeInfo_IsLocallyModifiedAttributes 7 sptr #comfunc global IOfflineFilesChangeInfo_IsLocallyModifiedTime 8 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。