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