Función CChkSGFiles.ErrCheckDbPages

Se aplica a: Exchange Server 2003 | Exchange Server 2007 | Exchange Server 2010 | Exchange Server 2013

Valida un intervalo de páginas en una base de datos especificada.

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

Parameters

Bid

Parámetro de entrada. Índice en la matriz de bases de datos especificada en el parámetro rgwszDb[] de la función ErrInit . Se comprobará la base de datos indizada por este parámetro.

pvPageBuffer

Parámetro de entrada. Puntero a un búfer que contiene una o varias páginas de base de datos que se van a comprobar. El tamaño del búfer debe ser un múltiplo del tamaño de página de la base de datos, tal como se devuelve en el parámetro pcbDbPageSize por la función ErrCheckDbHeaders . La aplicación que realiza la llamada debe rellenar el búfer con el contenido de la página de base de datos antes de llamar a ErrCheckDbPages.

cbPageBuffer

Parámetro de entrada. Tamaño del parámetro pvPageBuffer , en bytes. Este valor debe ser un múltiplo del tamaño de página de la base de datos, tal como se devuelve en el parámetro pcbDbPageSize por la función ErrCheckDbHeaders .

rgPageInfo[]

Parámetro de entrada y salida. Matriz de estructuras PAGE_INFO que ErrCheckDbPages rellena con resultados detallados de cada página de base de datos que está activada. La matriz debe tener un elemento para cada página de base de datos pasada en el parámetro pvPageBuffer y el campo ulPgno de cada estructura PAGE_INFO debe establecerse en el número de página lógico que corresponde a la página de base de datos. Para obtener más información, vea "Comentarios" más adelante en este tema.

cPageInfo

Parámetro de entrada. Número de entradas en la matriz rgPageInfo[] . Este valor debe ser igual al número de páginas de base de datos pasadas en el parámetro pvPageBuffer .

ulFlags

Parámetro de entrada opcional. Este valor está reservado para su uso futuro. El valor pasado en este parámetro debe ser 0 (cero).

Valor devuelto

Código de error de la enumeración ERR .

Comentarios

Tenga en cuenta que debe haber especificado la base de datos en la matriz de bases de datos que se pasan a la función ErrInit . Además, se debe llamar a ErrCheckDbHeaders antes de ErrCheckDbPages.

La aplicación que realiza la llamada debe asignar un búfer de memoria lo suficientemente grande como para contener las páginas de base de datos que se van a comprobar. La aplicación es responsable de rellenar el búfer con el contenido de una o varias páginas de base de datos de este tipo.

La aplicación que realiza la llamada debe llamar a ErrCheckDbHeaders antes de llamar a ErrCheckDbPages. Se puede llamar a esta función tantas veces como sea necesario para cubrir todas las páginas de todos los archivos de base de datos que se van a comprobar.

En el parámetro rgPageInfo[] , cada elemento devuelto contiene información sobre la página de base de datos en una estructura PAGE_INFO . Si la función ErrCheckDbPages devuelve un error, la aplicación debe comprobar cada estructura PAGE_INFO para determinar en qué página se encontró el error. Por ejemplo, la comparación de los valores checksumActual y checksumExpected indicará si se detectó un error de suma de comprobación en esa página de base de datos.

Si ErrCheckDbPages detecta errores en el contenido de la base de datos, creará una entrada de registro de eventos error de Windows.

El objeto CChkSGFiles determina si todas las bases de datos registradas con la función ErrInit se comprobaron realmente. En concreto, CChkSGFiles usa la función ErrCheckDbPages para determinar si se ha comprobado realmente el mismo número de páginas de base de datos indicadas por ErrCheckDbHeaders . Si el número correcto de páginas de cada base de datos no se ha comprobado correctamente, la función ErrTerm devuelve un error.

Si usa CHKSGFILES en una aplicación multiproceso, puede llamar a la función ErrCheckDbPages en la parte multiproceso de la aplicación. Tenga en cuenta que ErrCheckDbPages se suele llamar varias veces para cada base de datos que se comprueba.

Requisitos

Exchange 2013 solo incluye una versión de 64 bits de la API CHKSGFILES.

La cuenta en la que se ejecuta la aplicación debe tener permisos de lectura para la base de datos y los archivos de registro que se van a comprobar.