CF_CALLBACK_INFO 構造体 (cfapi.h)
コールバックの種類、コールバックをトリガーするユーザー プロセス、コールバックが要求されるファイルに関する基本情報など、一般的なコールバック情報が含まれます。
構文
typedef struct CF_CALLBACK_INFO {
DWORD StructSize;
CF_CONNECTION_KEY ConnectionKey;
LPVOID CallbackContext;
PCWSTR VolumeGuidName;
PCWSTR VolumeDosName;
DWORD VolumeSerialNumber;
LARGE_INTEGER SyncRootFileId;
LPCVOID SyncRootIdentity;
DWORD SyncRootIdentityLength;
LARGE_INTEGER FileId;
LARGE_INTEGER FileSize;
LPCVOID FileIdentity;
DWORD FileIdentityLength;
PCWSTR NormalizedPath;
CF_TRANSFER_KEY TransferKey;
UCHAR PriorityHint;
PCORRELATION_VECTOR CorrelationVector;
CF_PROCESS_INFO *ProcessInfo;
CF_REQUEST_KEY RequestKey;
} CF_CALLBACK_INFO;
メンバー
StructSize
CF_CALLBACK_INFOのサイズ。
ConnectionKey
CfConnectSyncRoot によって作成された、同期プロバイダーによって管理される同期ルートの不透明なハンドル。 ConnectionKey は便利な方法として返されるため、同期プロバイダーは手動で追跡する必要はありません。
CallbackContext
同期プロバイダーが同期ルート接続時に提供する不透明な BLOB を指します。 CallbackContext は便利な方法として返されるため、同期プロバイダーは手動で追跡する必要はありません。
VolumeGuidName
サービス対象のプレースホルダー ファイル/ディレクトリが存在するボリュームの GUID 名。 形式は "\?\Volume{GUID}" です。
VolumeDosName
"X:" の形式のボリュームの DOS ドライブ文字 。 X はドライブ文字です。
VolumeSerialNumber
ボリュームのシリアル番号。
SyncRootFileId
サービス対象のプレースホルダー ファイルまたはディレクトリが存在する同期ルートの、64 ビット のファイル システムによって維持されるボリューム全体の一意の ID。
SyncRootIdentity
同期ルート登録時に同期プロバイダーによって提供される不透明な BLOB を指します。
SyncRootIdentityLength
SyncRootIdentity の長さ (バイト単位)。
FileId
サービスを提供するプレースホルダー ファイルまたはディレクトリの 64 ビット ファイル システムで維持されるボリューム全体の一意の ID。
FileSize
サービスを提供するプレースホルダー ファイルの論理サイズ。 コールバックのサブジェクトがディレクトリの場合は常 0
にです。
FileIdentity
プレースホルダーの作成/変換/更新時に同期プロバイダーが提供する不透明な BLOB を指します。
FileIdentityLength
FileIdentity の長さ (バイト単位)。
NormalizedPath
VolumeGuidName/VolumeDosName によって識別されるボリュームで処理されるプレースホルダー ファイルまたはディレクトリの絶対パス。 ボリュームのルート ディレクトリから開始します。 詳細については、「 解説 」セクションを参照してください。
TransferKey
サービスを提供するプレースホルダー ファイル/ディレクトリへの不透明なハンドル。 同期プロバイダーは、ファイル/ディレクトリに対して目的の操作を実行するために、 CfExecute 呼び出しに戻す必要があります。
PriorityHint
ユーザーに最も応答性の高いエクスペリエンスを提供するために、あるフェッチの相対的な優先順位を別のフェッチと比較して説明するために、同期プロバイダーに指定された数値スケール。 値の範囲は (可能な限り低い優先度) から 0
(可能な限り高い優先度) 15
ですが、それ以外の場合、値には特定の意味はありません。 フィルターは、条件に応じて優先度ヒントの選択方法を調整できます。 同期プロバイダーは、選択したヒントを自由に使用できます。
CorrelationVector
省略可能な相関ベクトル。
ProcessInfo
この コールバックをトリガー するユーザー プロセスに関する情報を含むCF_PROCESS_INFO構造体を指します。 同期プロバイダーが同期ルート接続時に CF_CONNECT_FLAG_REQUIRE_PROCESS_INFO を指定している場合にのみ存在します。
RequestKey
TransferKey で示されているように、特定のクラウド ファイルに対するクラウド ファイル操作を一意に識別する不透明な ID。 同期プロバイダーは、このフィールドを解釈する必要はありません。 同期プロバイダーの唯一の要件は、そのまま CF_OPERATION_INFOに転送することです。
解説
次のすべてが当てはまる場合、ファイル名は正規化されたものと見なされます。
- ユーザーがファイル ID でファイルを開いたが、パス全体に対する走査特権がない場合を除き、ボリューム名を含むファイルの完全なディレクトリ パスが含まれます。 (詳細については、「 FltGetFileNameInformation」を参照してください)。
- ボリューム名は、ボリュームの非永続的なデバイス オブジェクト名 ("\Device\HarddiskVolume1" など) です。
- すべての短い名前は、同等の長い名前に展開されます。
- 末尾の ":$DATA" または "::$DATA" 文字列は、ストリーム名から削除されます。
- すべてのマウント ポイントが解決されます。
要件
サポートされている最小のクライアント | Windows 10バージョン 1709 [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2016 [デスクトップ アプリのみ] |
Header | cfapi.h |