Функция CChkSGFiles.ErrCheckDbPages

Применяется к: Exchange Server 2003 | Exchange Server 2007 | Exchange Server 2010 | Exchange Server 2013 г.

Проверяет диапазон страниц в указанной базе данных.

Vitual ERRErrCheckDbPages  
(
    Const ULONGiDb,
    Const VOID  * const pvPageBuffer,
    Const ULONGcbPageBuffer,
    PAGE_INFOrgPageInfo[],
    Const ULONGcPageInfo,
    Const ULONGulFlags = NO_FLAGS
);

Параметры

iDb

Параметр входного ввода. Индекс в массив баз данных, указанный в параметре rgwszDb[] для функции ErrInit . Будет проверена база данных, индексация по этому параметру.

pvPageBuffer

Параметр входного ввода. Указатель на буфер, содержащий одну или несколько страниц базы данных, которые необходимо проверить. Размер буфера должен быть несколько размеров страницы базы данных, как возвращается в параметре pcbDbPageSize функцией ErrCheckDbHeaders . Приложение вызова должно заполнить буфер содержимым страницы базы данных, прежде чем вызывать ErrCheckDbPages.

cbPageBuffer

Параметр входного ввода. Размер параметра pvPageBuffer в bytes. Это значение должно быть нескольким размером страницы базы данных, как возвращается в параметре pcbDbPageSize функцией ErrCheckDbHeaders .

rgPageInfo[]

Параметр Вход/выход. Массив структур PAGEINFO_, которые ErrCheckDbPages заполняет подробными результатами каждой проверяемой страницы базы данных. Массив должен иметь один элемент для каждой страницы базы данных, переданной в параметре pvPageBuffer, а поле ulPgno в каждой структуре PAGEINFO_ должно быть задано логическому номеру страницы, соответствующему странице базы данных. Дополнительные сведения см. в разделе "Замечания".

cPageInfo

Параметр входного ввода. Количество записей в массиве rgPageInfo[] Это значение должно быть равно количеству страниц базы данных, переданным в параметре pvPageBuffer .

ulFlags

Необязательный параметр ввода. Это значение зарезервировано для использования в будущем. Значение, переданного в этом параметре, должно быть 0 (ноль).

Возвращаемое значение

Код ошибки из переумерия ERR .

Замечания

Обратите внимание, что необходимо указать базу данных в массиве баз данных, переданных функции ErrInit . Кроме того, перед ErrCheckDbPages необходимо созванить ErrCheckDbHeaders.

Приложение для вызова должно выделить буфер памяти, достаточно большой для проверки страниц базы данных. Приложение отвечает за заполнение буфера содержимым одной или более таких страниц базы данных.

Перед вызовом ErrCheckDbPages необходимо вызвать приложение ErrCheckDbPages. Эта функция может быть вызвана столько раз, сколько необходимо для покрытия всех страниц во всех файлах баз данных, которые должны быть проверены.

В параметре rgPageInfo каждый возвращаемый элемент содержит сведения о странице базы данных в структуре PAGEINFO_. Если функция ErrCheckDbPages возвращает ошибку, приложение должно проверить каждую структуру PAGEINFO_, чтобы определить, на какой странице обнаружена ошибка. Например, сравнение значений checksumActual и checksumExpected указывает, была ли обнаружена ошибка проверки на этой странице базы данных.

Если ErrCheckDbPages обнаруживает ошибки в контенте базы данных, это создаст запись журнала событий Windows ошибки.

Объект CChkSGFiles определяет, были ли проверены все базы данных, зарегистрированные с функцией ErrInit . В частности, CChkSGFiles использует функцию ErrCheckDbPages , чтобы определить, было ли проверено одинаковое количество страниц баз данных, указанных ErrCheckDbHeaders . Если правильное количество страниц в каждой базе данных не было успешно проверено, функция ErrTerm возвращает ошибку.

Если вы используете CHKSGFILES в многоуровневом приложении, вы можете вызвать функцию ErrCheckDbPages в многоуровневой части приложения. Обратите внимание, что для каждой проверяемой базы данных ErrCheckDbPages обычно называют несколько раз.

Требования

Exchange 2013 г. включает только 64-битную версию API CHKSGFILES.

Учетная запись, в которой работает приложение, должна иметь разрешения на чтение в базу данных и файлы журналов, которые необходимо проверить.