int sqlite3_win32_set_directory( unsigned long type, /* Identifier for directory being set or reset */ void *zValue /* New value for directory being set or reset */ ); int sqlite3_win32_set_directory8(unsigned long type, const char *zValue); int sqlite3_win32_set_directory16(unsigned long type, const void *zValue);
这些接口仅在 Windows 上可用。 sqlite3_win32_set_directory 接口用于根据 type 参数的值,将与 sqlite3_temp_directory 或 sqlite3_data_directory 变量关联的值设置为 zValue。zValue 参数应为 NULL 以便通过 sqlite3_free 释放先前值;非 NULL 值将在使用前复制到从 sqlite3_malloc 获得的内存中。sqlite3_win32_set_directory 接口返回 SQLITE_OK 表示成功,如果 type 不受支持则返回 SQLITE_ERROR,如果无法分配内存则返回 SQLITE_NOMEM。sqlite3_data_directory 变量的值旨在充当 Win32 子平台上当前目录的替代品,在这些子平台上该概念不存在,例如 WinRT 和 UWP。sqlite3_win32_set_directory8 和 sqlite3_win32_set_directory16 接口的行为与 sqlite3_win32_set_directory 接口完全相同,只是字符串参数必须分别为 UTF-8 或 UTF-16。