SQLite C 接口
虚拟文件系统对象
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 字符串。如果没有匹配,则返回 NULL 指针。如果 zVfsName 为 NULL,则返回默认 VFS。
新的 VFS 用 sqlite3_vfs_register() 注册。如果设置了 makeDflt 标志,则每个新 VFS 都会成为默认 VFS。同一个 VFS 可以注册多次而不会受伤。要使现有 VFS 成为默认 VFS,请使用设置的 makeDflt 标志再次注册它。如果注册了两个具有相同名称的不同 VFS,则行为未定义。如果 VFS 使用 NULL 或空字符串的名称注册,则行为未定义。
使用 sqlite3_vfs_unregister() 接口注销 VFS。如果默认 VFS 未注册,则选择另一个 VFS 作为默认值。新 VFS 的选择是任意的。