Функция JetSetSystemParameter
Область применения: Windows | сервер Windows
Функция JetSetSystemParameter
Функция JetSetSystemParameter используется для задания многочисленных параметров конфигурации ядра СУБД.
JET_ERR JET_API JetSetSystemParameter(
__in_out_opt JET_INSTANCE* pinstance,
__in JET_SESID sesid,
__in unsigned long paramid,
__in JET_API_PTR lParam,
__in_opt JET_PCSTR szParam
);
Параметры
pinstance
Указывает экземпляр, используемый для этого вызова.
Windows 2000. Для Windows 2000 этот параметр игнорируется и всегда должен иметь значение NULL.
Windows XP: для Windows XP и более поздних выпусков этот параметр несколько перегружен. Если подсистема работает в устаревшем режиме (режим совместимости Windows 2000), где поддерживается только один экземпляр, этот параметр может иметь значение NULL или содержать фактический экземпляр, возвращенный JetInit. В любом случае все параметры системного параметра считываются из одного экземпляра. Если подсистема работает в режиме с несколькими экземплярами, этот параметр может иметь значение NULL или указатель на экземпляр, созданный с помощью JetInit или JetCreateIndex. Если этот параметр имеет значение NULL , то считывается глобальный параметр системного параметра (или по умолчанию). Если этот параметр является экземпляром, то параметр системного параметра для этого экземпляра считывается.
Несмотря на то, что этот параметр технически не является параметром out, этот API никогда не изменяет содержимое предоставленного буфера.
sesid
Указывает сеанс, используемый для этого вызова.
При указании указанный экземпляр игнорируется, а экземпляр, связанный с сеансом, будет использоваться.
paramid
Идентификатор системного параметра, который будет задан. Полный список системных параметров и их свойств см. в разделе "Системные параметры ".
lParam
Предоставляет значение, которое необходимо задать для выбранного системного параметра, если этот системный параметр имеет целочисленный тип.
szParam
Предоставляет значение выбранного системного параметра, если этот системный параметр имеет строковый тип.
Возвращаемое значение
Эта функция возвращает тип данных JET_ERR с одним из следующих кодов возврата. Дополнительные сведения о возможных ошибках ESE см. в разделе "Расширяемые ошибки служба хранилища обработчика" и "Параметры обработки ошибок".
Код возврата |
Описание |
---|---|
JET_errSuccess |
Операция выполнена успешно. Windows Vista: в Windows Vista и более поздних выпусках успех можно вернуть без изменения значения системного параметра. Дополнительные сведения см. в разделе JET_paramEnableAdvanced системных параметров в разделе "Метаданные ". |
JET_errAlreadyInitialized |
Экземпляр был инициализирован с помощью вызова JetInit , и эта операция не может быть выполнена в результате. Это может произойти для JetSetSystemParameter , если предпринята попытка настроить системный параметр после изменения его значения не может повлиять на состояние ядра СУБД. |
JET_errClientRequestToStopJetService |
Невозможно завершить операцию, так как все действия в экземпляре, связанном с сеансом, прекратились в результате вызова JetStopService. |
JET_errIndexTuplesInvalidLimits |
Указанные параметры индекса кортежа были недопустимыми. Эта ошибка может быть возвращена JetSetSystemParameter только при задании JET_paramIndexTuplesLengthMin, JET_paramIndexTuplesLengthMax или JET_paramIndexTuplesToIndexMax недопустимого значения. Windows XP и Windows Server 2003. Это может произойти только в Windows XP и Windows Server 2003. |
JET_errInitInProgress |
Невозможно завершить операцию, так как экземпляр, связанный с сеансом, инициализируется. |
JET_errInstanceUnavailable |
Невозможно завершить операцию, так как экземпляр, связанный с сеансом, столкнулся со неустранимой ошибкой, требующей отмены доступа ко всем данным для защиты целостности этих данных. Windows XP: эта ошибка будет возвращена только в Windows XP и более поздних выпусках. |
JET_errInvalidParameter |
Один из указанных параметров содержал непредвиденное значение или содержал значение, которое не имеет смысла при объединении со значением другого параметра. Это может произойти для JetSetSystemParameter , когда:
|
JET_errInvalidPath |
Указанный путь к файловой системе недопустим. Эта ошибка может быть возвращена JetSetSystemParameter только при задании системных параметров, представляющих пути файловой системы. Например, JET_paramSystemPath может вернуть эту ошибку. |
JET_errNotInitialized |
Невозможно завершить операцию, так как экземпляр, связанный с сеансом, еще не инициализирован. |
JET_errRestoreInProgress |
Невозможно выполнить операцию, так как выполняется операция восстановления в экземпляре, связанном с сеансом. |
JET_errTermInProgress |
Невозможно завершить операцию, так как экземпляр, связанный с сеансом, завершается. |
JET_errInvalidSesid |
Дескриптор сеанса является недопустимым или ссылается на закрытый сеанс. Эта ошибка не возвращается при всех обстоятельствах. Дескрипторы проверяются только на основе наилучших усилий. |
JET_errInvalidInstance |
Дескриптор экземпляра является недопустимым или ссылается на экземпляр, который был завершен. Эта ошибка не возвращается при всех обстоятельствах. Дескрипторы проверяются только на основе наилучших усилий. Windows Vista: эта ошибка будет возвращена только в Windows Vista и более поздних выпусках. |
При успешном выполнении параметр для системного параметра будет иметь указанное значение.
При сбое параметр системного параметра останется неизменным.
Remarks
JetSetSystemParameter выполняет плохое задание проверки выбранного параметра для каждого системного параметра. Необходимо соблюдать осторожность, чтобы не полагаться на эту проверку, чтобы применить хорошие параметры. Обратите особое внимание на описание каждого системного параметра и следуйте этим рекомендациям, чтобы получить хороший параметр системного параметра.
Существует набор системных параметров, которые всегда должны быть заданы, чтобы гарантировать, что ядро СУБД работает должным образом. В частности, все системные параметры, влияющие на физический макет файлов, используемых ядром СУБД, всегда должны быть заданы. Дополнительные сведения см. в разделе "Системные параметры".
Каждый системный параметр имеет значение по умолчанию. Эти значения по умолчанию эволюционировали с течением времени и являются довольно произвольными. Настоятельно рекомендуется, чтобы приложение оценило все значения по умолчанию, чтобы убедиться, что они подходят. Если они не подходят, они должны быть настроены приложением. Это важно, так как многие из этих параметров могут значительно повлиять на надежность, производительность и использование ресурсов ядра СУБД.
Требования
Требование | Значение |
---|---|
Клиент |
Требуется Windows Vista, Windows XP или Windows 2000 Professional. |
Server |
Требуется Windows Server 2008, Windows Server 2003 или Windows 2000 Server. |
Верхняя часть |
Объявлен в Esent.h. |
Библиотека |
Используйте ESENT.lib. |
DLL |
Требуется ESENT.dll. |
Юникод |
Реализован как JetSetSystemParameterW (Юникод) и JetSetSystemParameterA (ANSI). |
См. также:
JET_API_PTR
JET_ERR
JET_INSTANCE
JET_SESID
JetCreateInstance
JetGetSystemParameter
JetInit
Системные параметры