Fonction CChkSGFiles.ErrCheckDbPages
S’applique à : | 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.
Vitual ERRErrCheckDbPages
(
Const ULONGiDb,
Const VOID * const pvPageBuffer,
Const ULONGcbPageBuffer,
PAGE_INFOrgPageInfo[],
Const ULONGcPageInfo,
Const ULONGulFlags = NO_FLAGS
);
Parameters
Bid
Paramètre d’entrée. Index dans le tableau de bases de données spécifié dans le paramètre rgwszDb[] à la fonction ErrInit . La base de données indexée par ce paramètre est vérifiée.
pvPageBuffer
Paramètre d’entrée. Pointeur vers une mémoire tampon contenant une ou plusieurs pages de base de données à vérifier. La taille de la mémoire tampon doit être un multiple de la taille de la page de base de données, comme retourné dans le paramètre pcbDbPageSize par la fonction ErrCheckDbHeaders . L’application appelante doit remplir la mémoire tampon avec le contenu de la page de base de données avant d’appeler ErrCheckDbPages.
cbPageBuffer
Paramètre d’entrée. Taille du paramètre pvPageBuffer , en octets. Cette valeur doit être un multiple de la taille de page de base de données, comme retourné dans le paramètre pcbDbPageSize par la fonction ErrCheckDbHeaders .
rgPageInfo[]
Paramètre d’entrée/sortie. Tableau de structures PAGE_INFO que ErrCheckDbPages remplit avec les résultats détaillés de chaque page de base de données vérifiée. 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 de chaque structure PAGE_INFO doit être défini sur le numéro de page logique qui correspond à la page de base de données. Pour plus d’informations, consultez « Remarques » plus loin dans cette rubrique.
cPageInfo
Paramètre d’entrée. Nombre d’entrées dans le tableau rgPageInfo[]. Cette valeur doit être égale au nombre de pages de base de données passées dans le paramètre pvPageBuffer .
ulFlags
Paramètre d’entrée facultatif. Cette valeur est réservée pour une utilisation ultérieure. La valeur passée dans ce paramètre doit être 0 (zéro).
Valeur renvoyée
Code d’erreur de l’énumération ERR .
Remarques
Notez que vous devez avoir spécifié la base de données dans le tableau de bases de données transmis à la fonction ErrInit . En outre, ErrCheckDbHeaders doit être appelé avant ErrCheckDbPages.
L’application appelante doit allouer une mémoire tampon suffisamment grande pour contenir les pages de base de données à vérifier. L’application est chargée de remplir la mémoire tampon avec le contenu d’une ou plusieurs pages de base de données de ce type.
L’application appelante doit appeler ErrCheckDbHeaders avant d’appeler ErrCheckDbPages. Cette fonction peut être appelée autant de fois que nécessaire pour couvrir toutes les pages de tous les fichiers de base de données à vérifier.
Dans le paramètre rgPageInfo[], chaque élément retourné contient des informations sur la page de base de données dans une structure PAGE_INFO . Si la fonction ErrCheckDbPages retourne une erreur, l’application doit vérifier chaque structure PAGE_INFO pour déterminer sur quelle page l’erreur a été trouvée. Par exemple, la comparaison des valeurs checksumActual et checksumExpected indique si une erreur de somme de contrôle a été détectée sur cette page de base de données.
Si ErrCheckDbPages détecte des erreurs dans le contenu de la base de données, une entrée du journal des événements Des erreurs Windows est créée.
L’objet CChkSGFiles détermine si toutes les bases de données inscrites avec la fonction ErrInit ont été réellement vérifiées. Plus précisément, CChkSGFiles utilise la fonction ErrCheckDbPages pour déterminer si le même nombre de pages de base de données indiqué par ErrCheckDbHeaders a réellement été vérifié. Si le nombre correct de pages dans chaque base de données n’a pas été correctement vérifié, la fonction ErrTerm retourne une erreur.
Si vous utilisez CHKSGFILES dans une application multithread, vous pouvez appeler la fonction ErrCheckDbPages dans la partie multithread de l’application. Notez que ErrCheckDbPages est généralement appelé plusieurs fois pour chaque base de données vérifiée.
Conditions requises
Exchange 2013 inclut uniquement une version 64 bits de l’API CHKSGFILES.
Le compte sous lequel l’application s’exécute doit disposer d’autorisations de lecture sur la base de données et les fichiers journaux à vérifier.