Функция CChkSGFiles.PgnoFromFileOffset
Область применения: Exchange Server 2003 | | Exchange Server 2007 г. | Exchange Server 2010 г. Exchange Server 2013 г.
Возвращает номер логической страницы базы данных, соответствующий указанному байтовому индексу в файле физической базы данных. Если смещение файла недопустимо или функция ErrCheckDbHeaders не была вызвана для баз данных, эта функция возвращает значение 0 (ноль).
Vitual ULONGPgnoFromFileOffset
(
Const ULONGLONGibFileOffset
);
Параметры
ibFileOffset
Входной параметр. Смещение в файле базы данных в байтах.
Возвращаемое значение
Номер логической страницы файла базы данных, включающую указанное смещение.
Замечания
Если параметр ibFileOffset недопустим, функция PgnoFromFileOffset возвращает значение 0 (ноль).
PgnoFromFileOffset также возвращает значение 0 (ноль), если вы не вызывали функцию ErrCheckDbHeaders в экземпляре CCheckSGFiles . Необходимо вызвать ErrCheckDbHeaders , чтобы инициализировать размер страницы базы данных и количество страниц, выделенных для заголовков базы данных.
Для заполнения элементов структуры PAGE_INFO при подготовке к вызову ErrCheckDbPages следует использовать PgnoFromFileOffset. Параметр rgPageInfo для ErrCheckDbPages требует, чтобы каждый элемент в массиве был PAGE_INFO структурой с правильной инициализацией значений элементов ulPgno .
Если вы используете CHKSGFILES в многопотоковом приложении, можно вызвать функцию PgnoFromFileOffset в многопоточной части приложения. Обратите внимание, что эта функция обычно вызывается несколько раз для каждой проверяемой базы данных.
Требования
Exchange Server 2013 включает только 64-разрядную версию API CHKSGFILES.
Учетная запись, в которую выполняется приложение, должна иметь разрешение на чтение для проверяемых файлов базы данных и журналов.