IOfflineFilesShareInfo
COM公式ドキュメント
キャッシュされた項目に関する共有固有の情報を提供します。
メソッド 3
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
項目に最も近い上位の共有を表すキャッシュ項目を検索します。
| ppShareItem | IOfflineFilesShareItem** | out | 共有項目上の IOfflineFilesShareItem インターフェイスのアドレスを受け取ります。 |
戻り値
成功した場合は S_OK を、それ以外の場合はエラー値を返します。
項目に最も近い上位の共有のキャッシュモード構成を取得します。
| pCachingMode | OFFLINEFILES_CACHING_MODE* | out | キャッシュモードを示す OFFLINEFILES_CACHING_MODE 列挙体の値を受け取ります。 返される可能性のある値は次のとおりです。 OFFLINEFILES_CACHING_MODE_NONE (0)キャッシュモードの値が見つかりませんでした。この値はメソッドが失敗した場合に返されることがあります。 OFFLINEFILES_CACHING_MODE_NOCACHING (1)共有はキャッシュを許可しないように構成されています。この値は、SHARE_INFO_1005 構造体の CSC_MASK 部分について NetShareGetInfo 関数が返す値 0 に対応します。 OFFLINEFILES_CACHING_MODE_MANUAL (2)共有は手動キャッシュを許可するように構成されています。この値は、SHARE_INFO_1005 構造体の CSC_MASK 部分について NetShareGetInfo 関数が返す値 CSC_CACHE_MANUAL_REINT に対応します。 OFFLINEFILES_CACHING_MODE_AUTO_DOC (3)共有はドキュメントの自動キャッシュを許可するように構成されています。この値は、SHARE_INFO_1005 構造体の CSC_MASK 部分について NetShareGetInfo 関数が返す値 CSC_CACHE_AUTO_REINT に対応します。 OFFLINEFILES_CACHING_MODE_AUTO_PROGANDDOC (4)共有はプログラムとドキュメントの自動キャッシュを許可するように構成されています。この値は、SHARE_INFO_1005 構造体の CSC_MASK 部分について NetShareGetInfo 関数が返す値 CSC_CACHE_VDO(仮想切断操作)に対応します。 |
戻り値
成功した場合は S_OK を、それ以外の場合はエラー値を返します。
解説(Remarks)
このメソッドは、最も近い共有項目を特定し、その完全修飾 UNC パスを取得して、SHARE_INFO_1005 の情報を得るために NetShareGetInfo を呼び出すことと同等です。
共有項目が DFS ジャンクションであるか、サーバー上の共有フォルダーであるかを判別します。
| pbIsDfsJunction | BOOL* | out | 項目が DFS ジャンクションの場合は TRUE を、共有がサーバー上の共有フォルダー(\server\share)の場合は FALSE を受け取ります。 |
戻り値
成功した場合は S_OK を、それ以外の場合はエラー値を返します。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IOfflineFilesShareInfo "{7BCC43E7-31CE-4CA4-8CCD-1CFF2DC494DA}" #usecom global IOfflineFilesShareInfo IID_IOfflineFilesShareInfo "{}" #comfunc global IOfflineFilesShareInfo_GetShareItem 3 sptr #comfunc global IOfflineFilesShareInfo_GetShareCachingMode 4 var #comfunc global IOfflineFilesShareInfo_IsShareDfsJunction 5 var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IOfflineFilesShareInfo "{7BCC43E7-31CE-4CA4-8CCD-1CFF2DC494DA}" #usecom global IOfflineFilesShareInfo IID_IOfflineFilesShareInfo "{}" #comfunc global IOfflineFilesShareInfo_GetShareItem 3 sptr #comfunc global IOfflineFilesShareInfo_GetShareCachingMode 4 sptr #comfunc global IOfflineFilesShareInfo_IsShareDfsJunction 5 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。