Fonction fonction cchksgfiles. ErrCheckDbPagesCChkSGFiles.ErrCheckDbPages function

S’applique à : Exchange Server 2003 | Exchange Server 2007 | Exchange Server 2010 | Exchange Server 2013Applies to: Exchange Server 2003 | Exchange Server 2007 | Exchange Server 2010 | Exchange Server 2013

Valide une plage de pages dans une base de données spécifiée.Validates a range of pages in a specified database.

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

ParamètresParameters

iDbiDb

Paramètre d’entrée.Input parameter. Index du tableau de bases de données spécifié dans le paramètre rgwszDb [] de la fonction ErrInit .An index into the array of databases specified in the rgwszDb[] parameter to the ErrInit function. La base de données indexée par ce paramètre est vérifiée.The database indexed by this parameter will be checked.

pvPageBufferpvPageBuffer

Paramètre d’entrée.Input parameter. Pointeur vers une mémoire tampon contenant une ou plusieurs pages de base de données à vérifier.A pointer to a buffer containing one or more database pages to be checked. La taille de la mémoire tampon doit être un multiple de la taille de la page de la base de données, tel qu’il est renvoyé dans le paramètre pcbDbPageSize par la fonction ErrCheckDbHeaders .The size of the buffer must be a multiple of the database page size, as returned in the pcbDbPageSize parameter by the ErrCheckDbHeaders function. L’application appelante doit remplir la mémoire tampon avec le contenu de la page de base de données avant d’appeler ErrCheckDbPages.The calling application must fill the buffer with the database page contents before calling ErrCheckDbPages.

cbPageBuffercbPageBuffer

Paramètre d’entrée.Input parameter. Taille du paramètre pvPageBuffer , en octets.The size of the pvPageBuffer parameter, in bytes. Cette valeur doit être un multiple de la taille de la page de la base de données, tel qu’il est renvoyé dans le paramètre pcbDbPageSize par la fonction ErrCheckDbHeaders .This value must be a multiple of the database page size, as returned in the pcbDbPageSize parameter by the ErrCheckDbHeaders function.

rgPageInfo[]rgPageInfo[]

Paramètre d’entrée/sortie.Input/output parameter. Tableau des structures d' _ infos sur la page que ErrCheckDbPages remplit avec les résultats détaillés de chaque page de base de données qui est vérifiée.An array of PAGE_INFO structures that ErrCheckDbPages fills with detailed results of each database page that is checked. Le tableau doit avoir un élément pour chaque page de base de données passée dans le paramètre pvPageBuffer , et le champ ulPgno dans chaque structure d' ** _ informations de page** doit être défini sur le numéro de page logique qui correspond à la page de base de données.The array must have one element for each database page passed in the pvPageBuffer parameter, and the ulPgno field in each PAGE_INFO structure must be set to the logical page number that corresponds to the database page. Pour plus d’informations, consultez la section « Remarques » plus loin dans cette rubrique.For more information, see "Remarks" later in this topic.

cPageInfocPageInfo

Paramètre d’entrée.Input parameter. Nombre d’entrées dans le tableau rgPageInfo [] .The number of entries in the rgPageInfo[] array. Cette valeur doit être égale au nombre de pages de base de données transmises dans le paramètre pvPageBuffer .This value must be equal to the number of database pages passed in the pvPageBuffer parameter.

ulFlagsulFlags

Paramètre d’entrée facultatif.Optional input parameter. Cette valeur est réservée à un usage ultérieur.This value is reserved for future use. La valeur transmise dans ce paramètre doit être 0 (zéro).The value passed in this parameter should be 0 (zero).

Valeur renvoyéeReturn value

Un code d’erreur à partir de l’énumération Err .An error code from the ERR enumeration.

RemarquesRemarks

Notez que vous devez avoir spécifié la base de données dans le tableau de bases de données transmises à la fonction ErrInit .Note that you need to have specified the database in the array of databases passed to the ErrInit function. De plus, ErrCheckDbHeaders doit être appelé avant ErrCheckDbPages.Also, ErrCheckDbHeaders must be called before ErrCheckDbPages.

L’application appelante doit allouer un tampon de mémoire suffisamment grand pour contenir les pages de base de données à vérifier.The calling application must allocate a memory buffer that is large enough to hold the database pages to be checked. L’application est chargée de remplir la mémoire tampon avec le contenu d’une ou de plusieurs pages de base de données de ce type.The application is responsible for filling the buffer with the contents of one or more such database pages.

L’application appelante doit appeler ErrCheckDbHeaders avant d’appeler ErrCheckDbPages.The calling application must call ErrCheckDbHeaders before calling ErrCheckDbPages. Cette fonction peut être appelée autant de fois que nécessaire pour traiter toutes les pages de tous les fichiers de base de données qui doivent être vérifiés.This function can be called as many times as necessary to cover all the pages in all database files that are to be checked.

Dans le paramètre rgPageInfo [] , chaque élément renvoyé contient des informations sur la page de base de données dans une structure d' ** _ informations de page** .In the rgPageInfo[] parameter, each element returned contains information about the database page in a PAGE_INFO structure. Si la fonction ErrCheckDbPages renvoie une erreur, l’application doit vérifier chaque structure d' ** _ informations** pour déterminer la page sur laquelle l’erreur a été trouvée.If the ErrCheckDbPages function returns an error, the application should check each PAGE_INFO structure to determine on which page the error was found. Par exemple, la comparaison des valeurs checksumActual et checksumExpected indique si une erreur de checksum a été détectée sur cette page de base de données.For example, comparing the checksumActual and checksumExpected values will indicate whether a checksum error was detected on that database page.

Si ErrCheckDbPages détecte des erreurs dans le contenu de la base de données, il crée une entrée de journal d’événements d’erreurs Windows.If ErrCheckDbPages detects any errors in the database content, it will create a Windows Error event log entry.

L’objet fonction cchksgfiles détermine si toutes les bases de données enregistrées avec la fonction ErrInit ont été vérifiées.The CChkSGFiles object determines whether all the databases registered with the ErrInit function were actually checked. Plus précisément, fonction cchksgfiles utilise la fonction ErrCheckDbPages pour déterminer si le même nombre de pages de base de données indiqué par ErrCheckDbHeaders a été vérifié.Specifically, CChkSGFiles uses the ErrCheckDbPages function to determine whether the same number of database pages indicated by ErrCheckDbHeaders were actually verified. Si le nombre correct de pages de chaque base de données n’a pas été correctement vérifié, la fonction ErrTerm renvoie une erreur.If the correct number of pages in each database were not successfully checked, the ErrTerm function returns an error.

Si vous utilisez CHKSGFILES dans une application multithread, vous pouvez appeler la fonction ErrCheckDbPages dans la partie multithread de l’application.If you're using CHKSGFILES in a multithreaded application, you can call the ErrCheckDbPages function in the multithreaded portion of the application. Notez que ErrCheckDbPages est généralement appelé plusieurs fois pour chaque base de données vérifiée.Note that ErrCheckDbPages is typically called multiple times for each database that is checked.

Configuration requiseRequirements

Exchange 2013 inclut uniquement une version 64 bits de l’API CHKSGFILES.Exchange 2013 only includes a 64-bit version of the CHKSGFILES API.

Le compte sous lequel l’application s’exécute doit disposer d’autorisations de lecture pour la base de données et les fichiers journaux qui doivent être vérifiés.The account that the application is running under must have read permissions to the database and log files that are to be checked.