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);
These interfaces are available only on Windows. The sqlite3_win32_set_directory interface is used to set the value associated with the sqlite3_temp_directory or sqlite3_data_directory variable, to zValue, depending on the value of the type parameter. The zValue parameter should be NULL to cause the previous value to be freed via sqlite3_free; a non-NULL value will be copied into memory obtained from sqlite3_malloc prior to being used. The sqlite3_win32_set_directory interface returns SQLITE_OK to indicate success, SQLITE_ERROR if the type is unsupported, or SQLITE_NOMEM if memory could not be allocated. The value of the sqlite3_data_directory variable is intended to act as a replacement for the current directory on the sub-platforms of Win32 where that concept is not present, e.g. WinRT and UWP. The sqlite3_win32_set_directory8 and sqlite3_win32_set_directory16 interfaces behave exactly the same as the sqlite3_win32_set_directory interface except the string parameter must be UTF-8 or UTF-16, respectively.