Virtual File System Objects
Virtual File System Objects
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的选择是任意的。
SQLite is in the Public Domain.