IOfflineFilesEvents
COM公式ドキュメント
オフライン ファイルに関連する重要なイベントを報告するために使用します。
メソッド 25
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
このメソッドは将来の使用のために予約されています。(IOfflineFilesEvents.CacheMoved)
| pszOldPath | LPWSTR | in | 移動前のキャッシュのパスを指定する。 |
| pszNewPath | LPWSTR | in | 移動後のキャッシュのパスを指定する。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラー コードを返します。
このメソッドは将来の使用のために予約されています。(IOfflineFilesEvents.CacheIsFull)
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラー コードを返します。
このメソッドは将来の使用のために予約されています。(IOfflineFilesEvents.CacheIsCorrupted)
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラー コードを返します。
このメソッドは将来の使用のために予約されています。(IOfflineFilesEvents.Enabled)
| bEnabled | BOOL | in | オフラインファイル機能が有効になったか無効になったかを指定する。 |
戻り値
戻り値は無視されます。
このメソッドは将来の使用のために予約されています。(IOfflineFilesEvents.EncryptionChanged)
| bWasEncrypted | BOOL | in | 変更前に暗号化されていたかどうかを指定する。 |
| bWasPartial | BOOL | in | 変更前に部分的な暗号化状態だったかどうかを指定する。 |
| bIsEncrypted | BOOL | in | 変更後に暗号化されているかどうかを指定する。 |
| bIsPartial | BOOL | in | 変更後に部分的な暗号化状態であるかどうかを指定する。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラー コードを返します。
オフライン ファイル キャッシュが同期操作を開始したことを報告します。
| rSyncId | GUID* | in | このイベントを生成した同期操作の一意な識別子です。IOfflineFilesCache::Synchronize、IOfflineFilesCache::Pin、または IOfflineFilesCache::Unpin メソッドの呼び出し元から提供されます。ID が指定されなかった場合は GUID_NULL になります。 |
戻り値
戻り値は無視されます。
解説(Remarks)
同期エンジンはオフライン ファイル キャッシュの暗号化にも使用されます。そのため、暗号化および暗号化解除の操作でもこのイベントが生成されます。
特定のファイルの同期結果を報告します。
| rSyncId | GUID* | in | このイベントを生成した同期操作の一意な識別子です。IOfflineFilesCache::Synchronize、IOfflineFilesCache::Pin、または IOfflineFilesCache::Unpin メソッドの呼び出し元から提供されます。ID が指定されなかった場合は GUID_NULL になります。 |
| pszFile | LPWSTR | in | 処理されたファイルの完全修飾 UNC パスです。 |
| hrResult | HRESULT | in | このファイルに対する同期操作の結果です。操作が正常に完了した場合は S_OK が格納され、それ以外の場合は別の値が格納されます。 |
戻り値
戻り値は無視されます。
同期の競合が検出され、同期競合ログに記録されたことを報告します。
| pszConflictPath | LPWSTR | in | 競合しているアイテムの UNC パスです。 |
| pftConflictDateTime | FILETIME* | in | 競合が検出された日時を格納する FILETIME 構造体へのポインターです。値は UTC です。 |
| ConflictSyncState | OFFLINEFILES_SYNC_STATE | in | 競合しているローカル アイテムとリモート アイテムの状態を示します。OFFLINEFILES_SYNC_STATE の同期状態値のいずれかで、たとえば次のような値です。 OFFLINEFILES_SYNC_STATE_FileChangedOnClient_ChangedOnServer 。 |
戻り値
戻り値は無視されます。
同期の競合が検出され、その競合のレコードが同期競合ログに既に存在していたことを報告します。
| pszConflictPath | LPWSTR | in | 競合しているアイテムの UNC パスです。 |
| pftConflictDateTime | FILETIME* | in | 競合が検出された日時を格納する FILETIME 構造体へのポインターです。値は UTC です。 |
| ConflictSyncState | OFFLINEFILES_SYNC_STATE | in | 競合しているローカル アイテムとリモート アイテムの状態を示します。OFFLINEFILES_SYNC_STATE の同期状態値のいずれかで、たとえば次のような値です。 OFFLINEFILES_SYNC_STATE_FileChangedOnClient_ChangedOnServer 。 |
戻り値
戻り値は無視されます。
同期の競合が解消され、そのレコードが同期競合ログから削除されたことを報告します。
| pszConflictPath | LPWSTR | in | 競合していたアイテムの UNC パスです。 |
| pftConflictDateTime | FILETIME* | in | 削除された競合が検出された日時を格納する FILETIME 構造体へのポインターです。値は UTC です。 |
| ConflictSyncState | OFFLINEFILES_SYNC_STATE | in | 競合しているローカル アイテムとリモート アイテムの状態を示します。OFFLINEFILES_SYNC_STATE の同期状態値のいずれかで、たとえば次のような値です。 OFFLINEFILES_SYNC_STATE_FileChangedOnClient_ChangedOnServer 。 |
戻り値
戻り値は無視されます。
オフライン ファイル キャッシュが同期操作を終了したことを報告します。
| rSyncId | GUID* | in | このイベントを生成した同期操作の一意な識別子です。IOfflineFilesCache::Synchronize、IOfflineFilesCache::Pin、または IOfflineFilesCache::Unpin メソッドの呼び出し元から提供されます。ID が指定されなかった場合は GUID_NULL になります。 |
| hrResult | HRESULT | in | 同期操作が終了した理由を示す結果値です。操作が正常に完了した場合は S_OK、操作が中止された場合は HRESULT_FROM_WIN32(ERROR_CANCELLED)、その他の失敗により操作が途中で終了した場合はエラー値になります。 |
戻り値
戻り値は無視されます。
解説(Remarks)
同期エンジンはオフライン ファイル キャッシュの暗号化にも使用されます。そのため、暗号化または暗号化解除の操作でもこのイベントが生成されます。
オフライン ファイル機能がネットワーク トランスポートの到着を検出したことを報告します。
戻り値
戻り値は無視されます。
オフライン ファイル機能が、利用可能なネットワーク トランスポートが存在しないことを検出したと報告します。
戻り値
戻り値は無視されます。
オフライン ファイル キャッシュ内のアイテムがオンラインからオフラインへ遷移したことを報告します。
| pszPath | LPWSTR | in | アイテムの UNC パス文字列です。 |
| ItemType | OFFLINEFILES_ITEM_TYPE | in | アイテムの種類を示す OFFLINEFILES_ITEM_TYPE 列挙値です。 |
戻り値
戻り値は無視されます。
オフライン ファイル キャッシュ内のアイテムがオフラインからオンラインへ遷移したことを報告します。
| pszPath | LPWSTR | in | アイテムの UNC パス文字列です。 |
| ItemType | OFFLINEFILES_ITEM_TYPE | in | アイテムの種類を示す OFFLINEFILES_ITEM_TYPE 列挙値です。 |
戻り値
戻り値は無視されます。
オフライン ファイル キャッシュ内のアイテムが、リモート コピーを利用できなくなった場合でもオフラインで使用できるようになったことを報告します。
| pszPath | LPWSTR | in | アイテムの UNC パス文字列です。 |
| ItemType | OFFLINEFILES_ITEM_TYPE | in | アイテムの種類を示す OFFLINEFILES_ITEM_TYPE 列挙値です。 |
戻り値
戻り値は無視されます。
オフライン ファイル キャッシュ内のアイテムが、リモート コピーを利用できなくなった場合にオフラインで使用できなくなったことを報告します。
| pszPath | LPWSTR | in | アイテムの UNC パス文字列です。 |
| ItemType | OFFLINEFILES_ITEM_TYPE | in | アイテムの種類を示す OFFLINEFILES_ITEM_TYPE 列挙値です。 |
戻り値
戻り値は無視されます。
解説(Remarks)
このイベントを受信しても、ファイルがキャッシュから削除されたことを意味するわけではありません。アイテムが削除された場合には ItemDeletedFromCache イベントが送信されます。
オフライン ファイル キャッシュ内のアイテムがピン留めされ、リモート コピーを利用できなくなった場合でもオフラインで使用できることが保証されたことを報告します。
| pszPath | LPWSTR | in | アイテムの UNC パス文字列です。 |
| ItemType | OFFLINEFILES_ITEM_TYPE | in | アイテムの種類を示す OFFLINEFILES_ITEM_TYPE 列挙値です。 |
戻り値
戻り値は無視されます。
オフライン ファイル キャッシュ内のアイテムのピン留めが解除されたことを報告します。
| pszPath | LPWSTR | in | アイテムの UNC パス文字列です。 |
| ItemType | OFFLINEFILES_ITEM_TYPE | in | アイテムの種類を示す OFFLINEFILES_ITEM_TYPE 列挙値です。 |
戻り値
戻り値は無視されます。
オフライン ファイル キャッシュ内のアイテムが変更されたことを報告します。
| pszPath | LPWSTR | in | アイテムの UNC パス文字列です。 |
| ItemType | OFFLINEFILES_ITEM_TYPE | in | アイテムの種類を示す OFFLINEFILES_ITEM_TYPE 列挙値です。 |
| bModifiedData | BOOL | in | アイテムのデータが変更された場合は TRUE、それ以外の場合は FALSE です。 |
| bModifiedAttributes | BOOL | in | アイテムの属性が 1 つ以上変更された場合は TRUE、それ以外の場合は FALSE です。 |
戻り値
戻り値は無視されます。
アイテムがオフライン ファイル キャッシュに追加されたことを報告します。
| pszPath | LPWSTR | in | アイテムの UNC パス文字列です。 |
| ItemType | OFFLINEFILES_ITEM_TYPE | in | アイテムの種類を示す OFFLINEFILES_ITEM_TYPE 列挙値です。 |
戻り値
戻り値は無視されます。
解説(Remarks)
キャッシュに追加されたことは、そのアイテムがオフラインで使用できることを意味しない点に注意してください。まだ部分的にしかキャッシュされていない場合があります。アイテムがオフラインで使用できるようになると、ItemAvailableOffline イベントが送信されます。
アイテムがオフライン ファイル キャッシュから削除されたことを報告します。
| pszPath | LPWSTR | in | アイテムの UNC パス文字列です。 |
| ItemType | OFFLINEFILES_ITEM_TYPE | in | アイテムの種類を示す OFFLINEFILES_ITEM_TYPE 列挙値です。 |
戻り値
戻り値は無視されます。
オフライン ファイル キャッシュ内のアイテムのパスが変更されたことを報告します。
| pszOldPath | LPWSTR | in | アイテムの元の UNC パス文字列です。 |
| pszNewPath | LPWSTR | in | アイテムの新しい UNC パス文字列です。 |
| ItemType | OFFLINEFILES_ITEM_TYPE | in | アイテムの種類を示す OFFLINEFILES_ITEM_TYPE 列挙値です。 |
戻り値
戻り値は無視されます。
解説(Remarks)
このイベントは、キャッシュ内でサーバー、共有、ディレクトリ、またはファイルの名前が変更されるたびに送信されます。これはファイル システムの名前変更操作による名前変更であり、IOfflineFilesCache::RenameItem や IOfflineFilesCache2::RenameItemEx によるものではない点に注意してください。(RenameItem または RenameItemEx に応じた名前変更は、オフライン ファイル サービスが動作を開始する前に、システム起動時にオフライン ファイル ドライバーによって実行されます。)
このイベント シンク宛てのイベントが 1 つ以上失われ、配信されないことを報告します。
戻り値
戻り値は無視されます。
解説(Remarks)
このイベントは IOfflineFilesEventsFilter インターフェースを使用してフィルターで除外することはできません。
このイベントは、登録されているすべてのイベント サブスクライバーに定期的に配信されます。
戻り値
戻り値は無視されます。
解説(Remarks)
受信側が応答しない場合、オフライン ファイル サービスは COM エラーを受け取り、そのサブスクライバーの接続は削除されます。オフライン ファイル サービスはこの仕組みによって、IConnectionPoint::Unadvise を呼び出す前に終了したイベント サブスクライバー プロセスを検出します。
このイベントは IOfflineFilesEventsFilter インターフェースを使用してフィルターで除外することはできません。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IOfflineFilesEvents "{E25585C1-0CAA-4EB1-873B-1CAE5B77C314}" #usecom global IOfflineFilesEvents IID_IOfflineFilesEvents "{}" #comfunc global IOfflineFilesEvents_CacheMoved 3 wstr,wstr #comfunc global IOfflineFilesEvents_CacheIsFull 4 #comfunc global IOfflineFilesEvents_CacheIsCorrupted 5 #comfunc global IOfflineFilesEvents_Enabled 6 int #comfunc global IOfflineFilesEvents_EncryptionChanged 7 int,int,int,int #comfunc global IOfflineFilesEvents_SyncBegin 8 var #comfunc global IOfflineFilesEvents_SyncFileResult 9 var,wstr,int #comfunc global IOfflineFilesEvents_SyncConflictRecAdded 10 wstr,var,int #comfunc global IOfflineFilesEvents_SyncConflictRecUpdated 11 wstr,var,int #comfunc global IOfflineFilesEvents_SyncConflictRecRemoved 12 wstr,var,int #comfunc global IOfflineFilesEvents_SyncEnd 13 var,int #comfunc global IOfflineFilesEvents_NetTransportArrived 14 #comfunc global IOfflineFilesEvents_NoNetTransports 15 #comfunc global IOfflineFilesEvents_ItemDisconnected 16 wstr,int #comfunc global IOfflineFilesEvents_ItemReconnected 17 wstr,int #comfunc global IOfflineFilesEvents_ItemAvailableOffline 18 wstr,int #comfunc global IOfflineFilesEvents_ItemNotAvailableOffline 19 wstr,int #comfunc global IOfflineFilesEvents_ItemPinned 20 wstr,int #comfunc global IOfflineFilesEvents_ItemNotPinned 21 wstr,int #comfunc global IOfflineFilesEvents_ItemModified 22 wstr,int,int,int #comfunc global IOfflineFilesEvents_ItemAddedToCache 23 wstr,int #comfunc global IOfflineFilesEvents_ItemDeletedFromCache 24 wstr,int #comfunc global IOfflineFilesEvents_ItemRenamed 25 wstr,wstr,int #comfunc global IOfflineFilesEvents_DataLost 26 #comfunc global IOfflineFilesEvents_Ping 27 ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。#define global IID_IOfflineFilesEvents "{E25585C1-0CAA-4EB1-873B-1CAE5B77C314}" #usecom global IOfflineFilesEvents IID_IOfflineFilesEvents "{}" #comfunc global IOfflineFilesEvents_CacheMoved 3 wstr,wstr #comfunc global IOfflineFilesEvents_CacheIsFull 4 #comfunc global IOfflineFilesEvents_CacheIsCorrupted 5 #comfunc global IOfflineFilesEvents_Enabled 6 int #comfunc global IOfflineFilesEvents_EncryptionChanged 7 int,int,int,int #comfunc global IOfflineFilesEvents_SyncBegin 8 sptr #comfunc global IOfflineFilesEvents_SyncFileResult 9 sptr,wstr,int #comfunc global IOfflineFilesEvents_SyncConflictRecAdded 10 wstr,sptr,int #comfunc global IOfflineFilesEvents_SyncConflictRecUpdated 11 wstr,sptr,int #comfunc global IOfflineFilesEvents_SyncConflictRecRemoved 12 wstr,sptr,int #comfunc global IOfflineFilesEvents_SyncEnd 13 sptr,int #comfunc global IOfflineFilesEvents_NetTransportArrived 14 #comfunc global IOfflineFilesEvents_NoNetTransports 15 #comfunc global IOfflineFilesEvents_ItemDisconnected 16 wstr,int #comfunc global IOfflineFilesEvents_ItemReconnected 17 wstr,int #comfunc global IOfflineFilesEvents_ItemAvailableOffline 18 wstr,int #comfunc global IOfflineFilesEvents_ItemNotAvailableOffline 19 wstr,int #comfunc global IOfflineFilesEvents_ItemPinned 20 wstr,int #comfunc global IOfflineFilesEvents_ItemNotPinned 21 wstr,int #comfunc global IOfflineFilesEvents_ItemModified 22 wstr,int,int,int #comfunc global IOfflineFilesEvents_ItemAddedToCache 23 wstr,int #comfunc global IOfflineFilesEvents_ItemDeletedFromCache 24 wstr,int #comfunc global IOfflineFilesEvents_ItemRenamed 25 wstr,wstr,int #comfunc global IOfflineFilesEvents_DataLost 26 #comfunc global IOfflineFilesEvents_Ping 27 ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。