Fungsi CfConnectSyncRoot (cfapi.h)
Memulai komunikasi dua arah antara penyedia sinkronisasi dan API filter sinkronisasi.
Sintaks
HRESULT CfConnectSyncRoot(
[in] LPCWSTR SyncRootPath,
[in] const CF_CALLBACK_REGISTRATION *CallbackTable,
[in, optional] LPCVOID CallbackContext,
[in] CF_CONNECT_FLAGS ConnectFlags,
[out] CF_CONNECTION_KEY *ConnectionKey
);
Parameter
[in] SyncRootPath
Jalur ke akar sinkronisasi.
[in] CallbackTable
Tabel panggilan balik yang akan didaftarkan. Parameter ini adalah bagaimana penyedia sinkronisasi memberi tahu pustaka mana yang berfungsi untuk memanggil berbagai jenis permintaan dari platform. Ini adalah array struktur yang berisi jenis panggilan balik dan penunjuk fungsi terkait. Penyedia sinkronisasi hanya perlu mendaftarkan panggilan balik yang diterapkannya. Array CallbackTable harus selalu diakhir dengan CF_CALLBACK_REGISTRATION_END.
[in, optional] CallbackContext
CallbackContext disediakan untuk kenyamanan penyedia sinkronisasi. Platform akan mengingat CallbackContext ini dan meneruskannya kembali ke penyedia sinkronisasi kapan saja salah satu fungsi panggilan baliknya dipanggil pada akar sinkronisasi saat ini. Penggunaan yang baik untuk CallbackContext akan menjadi penunjuk ke dalam struktur penyedia sinkronisasi sendiri yang mempertahankan status untuk koneksi ini.
[in] ConnectFlags
Penyedia sinkronisasi dapat meminta informasi tambahan diberikan ketika panggilan baliknya dipanggil dengan meneruskan ConnectFlags ke API ini. Bendera berikut didukung:
Minta | Deskripsi |
---|---|
REQUEST_PROCESS_INFO | Platform mengembalikan jalur gambar lengkap dari proses hidrasi dalam parameter panggilan balik ketika bendera ini ditentukan. |
REQUIRE_FULL_FILE_PATH | Platform mengembalikan jalur lengkap tempat penampung yang diminta dalam parameter panggilan balik ketika bendera ini ditentukan. |
BLOCK_SELF_IMPLICIT_HYDRATION | Hidrasi implisit, yang tidak dilakukan melalui CfHydratePlaceholder, dapat terjadi ketika perangkat lunak Anti-Virus memindai aktivitas sistem file penyedia sinkronisasi pada tempat penampung file cloud yang tidak terhidrasi. Hidrasi implisit semacam ini tidak diharapkan. Jika penyedia sinkronisasi tidak pernah memulai operasi hidrasi implisit itu sendiri, itu dapat menginstruksikan platform memblokir semua operasi hidrasi implisit tersebut dibandingkan dengan gagal panggilan balik FETCH_DATA nanti. |
[out] ConnectionKey
Saat pengembalian berhasil, API ini akan mengembalikan ConnectionKey buram kembali ke penyedia sinkronisasi. Ini mewakili saluran komunikasi yang baru saja dibuat, dan penyedia sinkronisasi mungkin mengingat ConnectionKey dan meneruskannya saat memanggil berbagai API penyedia sinkronisasi. Jika penyedia sinkronisasi hanya mengharapkan untuk membuat satu koneksi, maka ConnectionKey dapat disimpan di global. Namun, platform mendukung satu proses penyedia yang terhubung ke beberapa akar sinkronisasi yang berbeda secara bersamaan, dan untuk setiap koneksi akan ada ConnectionKey yang berbeda yang dikembalikan. Tempat yang baik untuk menyimpan setiap ConnectionKey akan berada di dalam struktur internal penyedia sinkronisasi yang diidentifikasi oleh CallbackContext.
Nilai kembali
Jika fungsi ini berhasil, fungsi akan mengembalikan S_OK
. Jika tidak, kode kesalahan HRESULT akan dikembalikan.
Keterangan
Ini memulai saluran komunikasi dua arah antara penyedia sinkronisasi dan filter sinkronisasi. Penyedia sinkronisasi biasanya memanggil API ini segera setelah startup, setelah diinisialisasi dan siap untuk melayani permintaan.
Akar sinkronisasi harus didaftarkan ke platform sebelum tersambung. Untuk SyncRootPath tertentu, mungkin ada paling banyak satu koneksi yang dibuat pada waktu tertentu.
Penyedia sinkronisasi harus memiliki akses WRITE_DATA atau WRITE_DAC ke akar sinkronisasi yang akan dihubungkan atau API akan gagal dengan HRESULT(ERROR_CLOUD_FILE_ACCESS_DENIED).
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 10, versi 1709 [hanya aplikasi desktop] |
Server minimum yang didukung | Windows Server 2016 [hanya aplikasi desktop] |
Target Platform | Windows |
Header | cfapi.h |
Pustaka | CldApi.lib |
DLL | CldApi.dll |