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

関連項目

CfConnectSyncRoot

CfExecute

CF_PROCESS_INFO

CF_OPERATION_INFO

FltGetFileNameInformation