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(変数))。