Функция JetGetAttachInfoInstance
Применимо к: Windows | Windows Server
Функция JetGetAttachInfoInstance
Функция JetGetAttachInfoInstance используется во время резервного копирования, инициированного JetBeginExternalBackupInstance для запроса экземпляра имен файлов базы данных, которые должны стать частью резервного набора файлов. Будут рассматриваться только базы данных, подключенные к экземпляру с помощью JetAttachDatabase . Впоследствии эти файлы можно открыть с помощью JetOpenFileInstance и считывать с помощью JetReadFileInstance.
Windows XP: JetGetAttachInfoInstance представлен в Windows XP.
JET_ERR JET_API JetGetAttachInfoInstance(
__in JET_INSTANCE instance,
__out_opt tchar* szz,
__in unsigned long cbMax,
__out_opt unsigned long* pcbActual
);
Параметры
Экземпляр
Экземпляр, используемый для этого вызова.
Для Windows 2000 вариант API, принимаюющий этот параметр, недоступен, так как поддерживается только один экземпляр. В данном случае подразумевается использование этого глобального экземпляра.
Для Windows XP и более поздних версий вариант API, который не принимает этот параметр, может вызываться только в том случае, если подсистема находится в устаревшем режиме (режим совместимости с Windows 2000), где поддерживается только один экземпляр. В противном случае операция завершится сбоем с JET_errRunningInMultiInstanceMode.
szz
Выходной буфер, получающий список строк с завершением NULL, описывающих набор файлов базы данных, которые должны входить в набор файлов резервной копии. Список строк, возвращаемых в этом буфере, имеет тот же формат, что и многостроковый, используемый реестром. Каждая строка, завершающаяся значением NULL, возвращается в последовательности, за которой следует конечный признак null.
cbMax
Максимальный размер выходного буфера в байтах.
pcbActual
Указатель на выходной буфер, который получает фактический объем строковых данных.
Возвращаемое значение
Эта функция возвращает тип данных JET_ERR с одним из следующих кодов возврата. Дополнительные сведения о возможных ошибках ESE см. в разделах Ошибки подсистемы расширяемого хранилища и Параметры обработки ошибок.
Код возврата |
Описание |
---|---|
JET_errSuccess |
Операция выполнена успешно. |
JET_errBackupAbortByServer |
Операция завершилась сбоем, так как текущая внешняя резервная копия была прервана вызовом JetStopBackupInstance. Эта ошибка будет возвращена только в Windows XP и более поздних выпусках. |
JET_errClientRequestToStopJetService |
Невозможно выполнить операцию, так как все действия экземпляра, связанного с сеансом, прекратились в результате вызова JetStopServiceInstance. |
JET_errInstanceUnavailable |
Невозможно выполнить операцию, так как экземпляр, связанный с сеансом, столкнулся с неустранимой ошибкой, требующей отмены доступа ко всем данным для защиты целостности этих данных. Эта ошибка будет возвращена только в Windows XP и более поздних выпусках. |
JET_errInvalidBackupSequence |
Операция резервного копирования завершилась сбоем, так как она была вызвана из последовательности. JetGetAttachInfoInstance вернет эту ошибку, если текущая резервная копия не является полной. |
JET_errInvalidParameter |
Один из предоставленных параметров содержал непредвиденное значение или значение, которое не имело смысла в сочетании со значением другого параметра. Это может произойти для JetGetAttachInfoInstance , когда указанный дескриптор экземпляра недопустим (Windows XP и более поздние выпуски). |
JET_errNoBackup |
Операция завершилась сбоем, так как внешнее резервное копирование не выполняется. |
JET_errNotInitialized |
Невозможно выполнить операцию, так как экземпляр, связанный с сеансом, еще не инициализирован. |
JET_errRestoreInProgress |
Невозможно выполнить операцию, так как операция восстановления выполняется в экземпляре, связанном с сеансом. |
JET_errRunningInMultiInstanceMode |
Операция завершилась сбоем, так как была предпринята попытка использовать подсистему в устаревшем режиме (режим совместимости с Windows 2000), где поддерживается только один экземпляр, если на самом деле уже существует несколько экземпляров. |
JET_errTermInProgress |
Невозможно завершить операцию, так как экземпляр, связанный с сеансом, завершает работу. |
При успешном выполнении запрошенные сведения о наборе файлов базы данных, которые должны быть частью резервного набора файлов, будут помещены в выходные буферы, где они указаны.
При сбое состояние выходных буферов не определено. Сбой приведет к отмене всего процесса резервного копирования экземпляра.
Комментарии
Важно отметить, что этот API не возвращает ошибку или предупреждение, если выходной буфер слишком мал, чтобы принять полный список файлов, которые должны входить в резервный набор файлов. Приложение всегда должно предоставлять буфер для получения фактического размера этого списка и использовать эти сведения, чтобы определить, был ли список усечен.
Требования
Требование | Значение |
---|---|
Клиент |
Требуется Windows Vista или Windows XP. |
Сервер |
Требуется Windows Server 2008 или Windows Server 2003. |
Верхняя часть |
Объявлено в Esent.h. |
Библиотека |
Используйте ESENT.lib. |
DLL |
Требуется ESENT.dll. |
Юникод |
Реализовано как JetGetAttachInfoInstanceW (Юникод) и JetGetAttachInfoInstanceA (ANSI). |
См. также:
JET_ERR
JET_INSTANCE
JetAttachDatabase
JetBeginExternalBackupInstance
JetOpenFileInstance
JetReadFileInstance
JetStopBackupInstance
JetStopServiceInstance