sqlite3_vfs *sqlite3_vfs_find(const char *zVfsName); int sqlite3_vfs_register(sqlite3_vfs*, int makeDflt); int sqlite3_vfs_unregister(sqlite3_vfs*);
虛擬檔案系統 (VFS) 是一個 SQLite 用於與底層作業系統互動的 sqlite3_vfs 物件。大多數 SQLite 組建都帶有一個適用於主機的預設 VFS。可以註冊新的 VFS,也可以取消註冊現有的 VFS。以下提供相關介面。
sqlite3_vfs_find() 介面會根據名稱傳回指向 VFS 的指標。名稱區分大小寫。名稱是零結尾的 UTF-8 字串。如果沒有相符的 VFS,則傳回 NULL 指標。如果 zVfsName 為 NULL,則傳回預設的 VFS。
新的 VFS 使用 sqlite3_vfs_register() 註冊。如果設定了 makeDflt 旗標,則每個新的 VFS 都會成為預設的 VFS。相同的 VFS 可以多次註冊而不會造成問題。要將現有的 VFS 設為預設 VFS,請使用設定 makeDflt 旗標重新註冊它。如果註冊了兩個名稱相同的不同 VFS,則行為未定義。如果註冊的 VFS 名稱為 NULL 或空字串,則行為未定義。
使用 sqlite3_vfs_unregister() 介面取消註冊 VFS。如果取消註冊預設的 VFS,則會任意選擇另一個 VFS 作為預設值。