Win32 API 日本語リファレンス
ホームStorage.OfflineFiles › IOfflineFilesEvents

IOfflineFilesEvents

COM
IIDe25585c1-0caa-4eb1-873b-1cae5b77c314継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

オフラインファイルに関連する重要なイベントを報告するために使用します。

メソッド 25

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 3 HRESULT CacheMoved(LPWSTR pszOldPath, LPWSTR pszNewPath)

このメソッドは将来の使用のために予約されています。(IOfflineFilesEvents.CacheMoved)

pszOldPathLPWSTRin移動前のキャッシュのパスを指定する。
pszNewPathLPWSTRin移動後のキャッシュのパスを指定する。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 4 HRESULT CacheIsFull()

このメソッドは将来の使用のために予約されています。(IOfflineFilesEvents.CacheIsFull)

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 5 HRESULT CacheIsCorrupted()

このメソッドは将来の使用のために予約されています。(IOfflineFilesEvents.CacheIsCorrupted)

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 6 HRESULT Enabled(BOOL bEnabled)

このメソッドは将来の使用のために予約されています。(IOfflineFilesEvents.Enabled)

bEnabledBOOLinオフラインファイル機能が有効になったか無効になったかを指定する。

戻り値

戻り値は無視されます。

vtbl 7 HRESULT EncryptionChanged(BOOL bWasEncrypted, BOOL bWasPartial, BOOL bIsEncrypted, BOOL bIsPartial)

このメソッドは将来の使用のために予約されています。(IOfflineFilesEvents.EncryptionChanged)

bWasEncryptedBOOLin変更前に暗号化されていたかどうかを指定する。
bWasPartialBOOLin変更前に部分的な暗号化状態だったかどうかを指定する。
bIsEncryptedBOOLin変更後に暗号化されているかどうかを指定する。
bIsPartialBOOLin変更後に部分的な暗号化状態であるかどうかを指定する。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 8 HRESULT SyncBegin(GUID* rSyncId)

オフラインファイルキャッシュが同期操作を開始したことを報告します。

rSyncIdGUID*inこのイベントを生成した同期操作の一意の識別子です。IOfflineFilesCache::SynchronizeIOfflineFilesCache::Pin、または IOfflineFilesCache::Unpin メソッドの呼び出し元が指定します。ID が指定されなかった場合は GUID_NULL になります。

戻り値

戻り値は無視されます。

解説(Remarks)

同期エンジンはオフラインファイルキャッシュの暗号化にも使用されます。そのため、暗号化および暗号化解除の操作でもこのイベントが生成されます。

vtbl 9 HRESULT SyncFileResult(GUID* rSyncId, LPWSTR pszFile, HRESULT hrResult)

特定のファイルの同期結果を報告します。

rSyncIdGUID*inこのイベントを生成した同期操作の一意の識別子です。IOfflineFilesCache::SynchronizeIOfflineFilesCache::Pin、または IOfflineFilesCache::Unpin メソッドの呼び出し元が指定します。ID が指定されなかった場合は GUID_NULL になります。
pszFileLPWSTRin処理されたファイルの完全修飾 UNC パスです。
hrResultHRESULTinこのファイルに対する同期操作の結果です。操作が正常に完了した場合、このパラメーターには S_OK が格納されます。それ以外の場合は別の値が格納されます。

戻り値

戻り値は無視されます。

vtbl 10 HRESULT SyncConflictRecAdded(LPWSTR pszConflictPath, FILETIME* pftConflictDateTime, OFFLINEFILES_SYNC_STATE ConflictSyncState)

同期の競合が検出され、同期競合ログに記録されたことを報告します。

pszConflictPathLPWSTRin競合しているアイテムの UNC パスです。
pftConflictDateTimeFILETIME*in競合が検出された日時を格納する FILETIME 構造体へのポインターです。値は UTC です。
ConflictSyncStateOFFLINEFILES_SYNC_STATEin

競合しているローカルアイテムとリモートアイテムの状態を示します。OFFLINEFILES_SYNC_STATE の同期状態値のいずれかで、たとえば次のような値です。

OFFLINEFILES_SYNC_STATE_FileChangedOnClient_ChangedOnServer

戻り値

戻り値は無視されます。

vtbl 11 HRESULT SyncConflictRecUpdated(LPWSTR pszConflictPath, FILETIME* pftConflictDateTime, OFFLINEFILES_SYNC_STATE ConflictSyncState)

同期の競合が検出され、その競合の記録が同期競合ログに既に存在していたことを報告します。

pszConflictPathLPWSTRin競合しているアイテムの UNC パスです。
pftConflictDateTimeFILETIME*in競合が検出された日時を格納する FILETIME 構造体へのポインターです。値は UTC です。
ConflictSyncStateOFFLINEFILES_SYNC_STATEin

競合しているローカルアイテムとリモートアイテムの状態を示します。OFFLINEFILES_SYNC_STATE の同期状態値のいずれかで、たとえば次のような値です。

OFFLINEFILES_SYNC_STATE_FileChangedOnClient_ChangedOnServer

戻り値

戻り値は無視されます。

vtbl 12 HRESULT SyncConflictRecRemoved(LPWSTR pszConflictPath, FILETIME* pftConflictDateTime, OFFLINEFILES_SYNC_STATE ConflictSyncState)

同期の競合が解消され、その記録が同期競合ログから削除されたことを報告します。

pszConflictPathLPWSTRin競合していたアイテムの UNC パスです。
pftConflictDateTimeFILETIME*in削除された競合が検出された日時を格納する FILETIME 構造体へのポインターです。値は UTC です。
ConflictSyncStateOFFLINEFILES_SYNC_STATEin

競合しているローカルアイテムとリモートアイテムの状態を示します。OFFLINEFILES_SYNC_STATE の同期状態値のいずれかで、たとえば次のような値です。

OFFLINEFILES_SYNC_STATE_FileChangedOnClient_ChangedOnServer

戻り値

戻り値は無視されます。

vtbl 13 HRESULT SyncEnd(GUID* rSyncId, HRESULT hrResult)

オフラインファイルキャッシュが同期操作を終了したことを報告します。

rSyncIdGUID*inこのイベントを生成した同期操作の一意の識別子です。IOfflineFilesCache::SynchronizeIOfflineFilesCache::Pin、または IOfflineFilesCache::Unpin メソッドの呼び出し元が指定します。ID が指定されなかった場合は GUID_NULL になります。
hrResultHRESULTin同期操作が終了した理由を示す結果値です。操作が正常に完了した場合は S_OK、操作が中止された場合は HRESULT_FROM_WIN32(ERROR_CANCELLED)、その他の障害により操作が途中で終了した場合はエラー値になります。

戻り値

戻り値は無視されます。

解説(Remarks)

同期エンジンはオフラインファイルキャッシュの暗号化にも使用されます。そのため、暗号化または暗号化解除の操作でもこのイベントが生成されます。

vtbl 14 HRESULT NetTransportArrived()

オフラインファイル機能がネットワークトランスポートの到達を検出したことを報告します。

戻り値

戻り値は無視されます。

vtbl 15 HRESULT NoNetTransports()

オフラインファイル機能が、利用可能なネットワークトランスポートが存在しないことを検出したと報告します。

戻り値

戻り値は無視されます。

vtbl 16 HRESULT ItemDisconnected(LPWSTR pszPath, OFFLINEFILES_ITEM_TYPE ItemType)

オフラインファイルキャッシュ内のアイテムがオンラインからオフラインに遷移したことを報告します。

pszPathLPWSTRinアイテムの UNC パス文字列です。
ItemTypeOFFLINEFILES_ITEM_TYPEinアイテムの種類を示す OFFLINEFILES_ITEM_TYPE 列挙値です。

戻り値

戻り値は無視されます。

vtbl 17 HRESULT ItemReconnected(LPWSTR pszPath, OFFLINEFILES_ITEM_TYPE ItemType)

オフラインファイルキャッシュ内のアイテムがオフラインからオンラインに遷移したことを報告します。

pszPathLPWSTRinアイテムの UNC パス文字列です。
ItemTypeOFFLINEFILES_ITEM_TYPEinアイテムの種類を示す OFFLINEFILES_ITEM_TYPE 列挙値です。

戻り値

戻り値は無視されます。

vtbl 18 HRESULT ItemAvailableOffline(LPWSTR pszPath, OFFLINEFILES_ITEM_TYPE ItemType)

オフラインファイルキャッシュ内のアイテムが、リモートコピーが利用できなくなった場合でもオフラインで使用可能になったことを報告します。

pszPathLPWSTRinアイテムの UNC パス文字列です。
ItemTypeOFFLINEFILES_ITEM_TYPEinアイテムの種類を示す OFFLINEFILES_ITEM_TYPE 列挙値です。

戻り値

戻り値は無視されます。

vtbl 19 HRESULT ItemNotAvailableOffline(LPWSTR pszPath, OFFLINEFILES_ITEM_TYPE ItemType)

オフラインファイルキャッシュ内のアイテムが、リモートコピーが利用できなくなった場合にオフラインで使用できなくなったことを報告します。

pszPathLPWSTRinアイテムの UNC パス文字列です。
ItemTypeOFFLINEFILES_ITEM_TYPEinアイテムの種類を示す OFFLINEFILES_ITEM_TYPE 列挙値です。

戻り値

戻り値は無視されます。

解説(Remarks)

このイベントを受け取っても、ファイルがキャッシュから削除されたことを意味するわけではありません。アイテムが削除された場合は、ItemDeletedFromCache イベントが送信されます。

vtbl 20 HRESULT ItemPinned(LPWSTR pszPath, OFFLINEFILES_ITEM_TYPE ItemType)

オフラインファイルキャッシュ内のアイテムが固定(ピン留め)され、リモートコピーが利用できなくなった場合でもオフラインで使用できることが保証されたことを報告します。

pszPathLPWSTRinアイテムの UNC パス文字列です。
ItemTypeOFFLINEFILES_ITEM_TYPEinアイテムの種類を示す OFFLINEFILES_ITEM_TYPE 列挙値です。

戻り値

戻り値は無視されます。

vtbl 21 HRESULT ItemNotPinned(LPWSTR pszPath, OFFLINEFILES_ITEM_TYPE ItemType)

オフラインファイルキャッシュ内のアイテムの固定(ピン留め)が解除されたことを報告します。

pszPathLPWSTRinアイテムの UNC パス文字列です。
ItemTypeOFFLINEFILES_ITEM_TYPEinアイテムの種類を示す OFFLINEFILES_ITEM_TYPE 列挙値です。

戻り値

戻り値は無視されます。

vtbl 22 HRESULT ItemModified(LPWSTR pszPath, OFFLINEFILES_ITEM_TYPE ItemType, BOOL bModifiedData, BOOL bModifiedAttributes)

オフラインファイルキャッシュ内のアイテムが変更されたことを報告します。

pszPathLPWSTRinアイテムの UNC パス文字列です。
ItemTypeOFFLINEFILES_ITEM_TYPEinアイテムの種類を示す OFFLINEFILES_ITEM_TYPE 列挙値です。
bModifiedDataBOOLinアイテムのデータが変更された場合は TRUE、それ以外の場合は FALSE です。
bModifiedAttributesBOOLinアイテムの属性が 1 つ以上変更された場合は TRUE、それ以外の場合は FALSE です。

戻り値

戻り値は無視されます。

vtbl 23 HRESULT ItemAddedToCache(LPWSTR pszPath, OFFLINEFILES_ITEM_TYPE ItemType)

アイテムがオフラインファイルキャッシュに追加されたことを報告します。

pszPathLPWSTRinアイテムの UNC パス文字列です。
ItemTypeOFFLINEFILES_ITEM_TYPEinアイテムの種類を示す OFFLINEFILES_ITEM_TYPE 列挙値です。

戻り値

戻り値は無視されます。

解説(Remarks)

キャッシュに追加されたことは、そのアイテムがオフラインで使用可能になったことを意味しない点に注意してください。アイテムはまだ部分的にしかキャッシュされていない可能性があります。アイテムがオフラインで使用可能になると、ItemAvailableOffline イベントが送信されます。

vtbl 24 HRESULT ItemDeletedFromCache(LPWSTR pszPath, OFFLINEFILES_ITEM_TYPE ItemType)

アイテムがオフラインファイルキャッシュから削除されたことを報告します。

pszPathLPWSTRinアイテムの UNC パス文字列です。
ItemTypeOFFLINEFILES_ITEM_TYPEinアイテムの種類を示す OFFLINEFILES_ITEM_TYPE 列挙値です。

戻り値

戻り値は無視されます。

vtbl 25 HRESULT ItemRenamed(LPWSTR pszOldPath, LPWSTR pszNewPath, OFFLINEFILES_ITEM_TYPE ItemType)

オフラインファイルキャッシュ内のアイテムのパスが変更(名前変更)されたことを報告します。

pszOldPathLPWSTRinアイテムの元の UNC パス文字列です。
pszNewPathLPWSTRinアイテムの新しい UNC パス文字列です。
ItemTypeOFFLINEFILES_ITEM_TYPEinアイテムの種類を示す OFFLINEFILES_ITEM_TYPE 列挙値です。

戻り値

戻り値は無視されます。

解説(Remarks)

このイベントは、キャッシュ内のサーバー、共有、ディレクトリ、またはファイルの名前が変更されたときに送信されます。これはファイルシステムの名前変更操作によって生じた名前変更であり、IOfflineFilesCache::RenameItemIOfflineFilesCache2::RenameItemEx によるものではない点に注意してください。(RenameItem または RenameItemEx に応じた名前変更は、オフラインファイルサービスが動作を開始する前に、システム起動時にオフラインファイルドライバーによって実行されます。)

vtbl 26 HRESULT DataLost()

このイベントシンク宛ての 1 つ以上のイベントが失われ、配信されないことを報告します。

戻り値

戻り値は無視されます。

解説(Remarks)

このイベントは IOfflineFilesEventsFilter インターフェイスを使用して除外することはできません。

vtbl 27 HRESULT Ping()

このイベントは、登録されているすべてのイベントサブスクライバーに対して定期的に配信されます。

戻り値

戻り値は無視されます。

解説(Remarks)

受信側が応答しない場合、オフラインファイルサービスは COM エラーを受け取り、そのサブスクライバーの接続を削除します。オフラインファイルサービスは、この仕組みによって IConnectionPoint::Unadvise を呼び出さずに終了したイベントサブスクライバープロセスを検出します。

このイベントは IOfflineFilesEventsFilter インターフェイスを使用して除外することはできません。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
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 方式にも切替可。