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

磁片區的 DOS 磁碟機號,格式為 「X:」 ,其中 X 是磁碟機號。

VolumeSerialNumber

磁片區的序號。

SyncRootFileId

64 位檔案系統會維護要服務之預留位置檔案或目錄所在的同步根目錄的全磁片區唯一識別碼。

SyncRootIdentity

指向同步處理根登錄時間同步提供者所提供的不透明 Blob。

SyncRootIdentityLength

SyncRootIdentity的長度,以位元組為單位。

FileId

64 位檔案系統維護,要服務的預留位置檔案或目錄的全磁片區唯一識別碼。

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所指出。 同步提供者不需要解譯此欄位。 同步提供者的唯一需求是依原樣傳輸至 CF_OPERATION_INFO

備註

如果下列所有專案都成立,則會將檔案名視為正規化:

  • 它包含檔案的完整目錄路徑,包括磁片區名稱,除非使用者依檔案識別碼開啟檔案,但沒有整個路徑的周遊許可權。 (如需詳細資訊,請參閱 FltGetFileNameInformation.)
  • 磁片區名稱是磁片區的非持續性裝置物件名稱, (例如「\Device\HarddiskVolume1」) 。
  • 所有簡短名稱都會展開為對等的長名稱。
  • 任何尾端 「:$DATA」 或 「::$DATA」 字串都會從資料流程名稱中移除。
  • 所有掛接點都會解析。

規格需求

   
最低支援的用戶端 Windows 10版本 1709 [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2016 [僅限傳統型應用程式]
標頭 cfapi.h

另請參閱

CfConnectSyncRoot

CfExecute

CF_PROCESS_INFO

CF_OPERATION_INFO

FltGetFileNameInformation