IOfflineFilesFileSysInfo
COM公式ドキュメント
オフラインファイルキャッシュ内のファイルシステム項目に関連付けられた標準的な情報を表します。
メソッド 3
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
項目の Win32 属性を取得します。
| copy | OFFLINEFILES_ITEM_COPY | in | 属性を取得する対象のコピー (ローカルまたはリモート) を示す OFFLINEFILES_ITEM_COPY 列挙値です。 Windows Vista: この値は OFFLINEFILES_ITEM_COPY_LOCAL でなければなりません。 |
| pdwAttributes | DWORD* | out | 項目のファイル属性マスクを受け取ります。Windows SDK で定義されている FILE_ATTRIBUTE_XXXXXX のうち 1 つ以上の値です。詳細については、GetFileAttributes 関数を参照してください。 |
戻り値
成功した場合は S_OK を返し、それ以外の場合はエラー値を返します。
項目に関連付けられた時刻値を取得します。
| copy | OFFLINEFILES_ITEM_COPY | in | 時刻値を取得する対象のコピー (ローカルまたはリモート) を示す OFFLINEFILES_ITEM_COPY 列挙値です。 Windows Vista: この値は OFFLINEFILES_ITEM_COPY_LOCAL でなければなりません。 |
| pftCreationTime | FILETIME* | out | 項目の作成時刻を格納した FILETIME 構造体へのポインターを受け取ります。 |
| pftLastWriteTime | FILETIME* | out | 項目の最終書き込み時刻を格納した FILETIME 構造体へのポインターを受け取ります。これは、項目のデータが最後に書き込まれた時刻です。 |
| pftChangeTime | FILETIME* | out | 項目の最終変更時刻を格納した FILETIME 構造体へのポインターを受け取ります。これは、項目のデータまたは属性が最後に変更された時刻です。 |
| pftLastAccessTime | FILETIME* | out | 項目の最終アクセス時刻を格納した FILETIME 構造体へのポインターを受け取ります。これは、項目が最後に読み取られた、または書き込まれた時刻です。 |
戻り値
成功した場合は S_OK を返し、それ以外の場合はエラー値を返します。
解説(Remarks)
返される時刻値は、NTFS ファイルシステムで使用される Win32 のファイル時刻値に直接対応します。
項目のサイズを取得します。
| copy | OFFLINEFILES_ITEM_COPY | in | サイズを取得する対象のコピー (ローカルまたはリモート) を示す OFFLINEFILES_ITEM_COPY 列挙値です。 Windows Vista: この値は OFFLINEFILES_ITEM_COPY_LOCAL でなければなりません。 |
| pSize | LONGLONG* | out | 項目のサイズ (バイト単位) を受け取ります。 |
戻り値
成功した場合は S_OK を返し、それ以外の場合はエラー値を返します。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IOfflineFilesFileSysInfo "{BC1A163F-7BFD-4D88-9C66-96EA9A6A3D6B}" #usecom global IOfflineFilesFileSysInfo IID_IOfflineFilesFileSysInfo "{}" #comfunc global IOfflineFilesFileSysInfo_GetAttributes 3 int,var #comfunc global IOfflineFilesFileSysInfo_GetTimes 4 int,var,var,var,var #comfunc global IOfflineFilesFileSysInfo_GetFileSize 5 int,var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。#define global IID_IOfflineFilesFileSysInfo "{BC1A163F-7BFD-4D88-9C66-96EA9A6A3D6B}" #usecom global IOfflineFilesFileSysInfo IID_IOfflineFilesFileSysInfo "{}" #comfunc global IOfflineFilesFileSysInfo_GetAttributes 3 int,sptr #comfunc global IOfflineFilesFileSysInfo_GetTimes 4 int,sptr,sptr,sptr,sptr #comfunc global IOfflineFilesFileSysInfo_GetFileSize 5 int,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。