PLOG_EVENT_ROUTINE fonction de rappel (resapi.h)

Enregistre un événement dans le journal du cluster. Le type PLOG_EVENT_ROUTINE définit un pointeur vers cette fonction.

Syntaxe

PLOG_EVENT_ROUTINE PlogEventRoutine;

void PlogEventRoutine(
  [in] RESOURCE_HANDLE ResourceHandle,
  [in] LOG_LEVEL LogLevel,
  [in] LPCWSTR FormatString,
       ... unnamedParam4
)
{...}

Paramètres

[in] ResourceHandle

Gérer l’identification de la ressource enregistrant l’événement. La valeur de ResourceHandle doit être le handle passé pendant l’appel Open pour cette ressource.

[in] LogLevel

Valeur énumérée par l’énumération LOG_LEVEL qui représente le niveau de journalisation de l’événement et qui est à des fins d’informations uniquement. Les valeurs valides suivantes sont affichées dans l’ordre du moins au plus grave.

LOG_INFORMATION (0)

L’événement est informatif.

LOG_WARNING (1)

L’événement signale une défaillance qui a pu se produire, mais il n’est pas certain qu’une défaillance s’est réellement produite.

LOG_ERROR (2)

L’événement affecte un seul composant, mais les autres composants ne sont pas affectés et l’intégrité du reste du nœud n’est pas compromise.

LOG_SEVERE (3)

L’événement signale une défaillance grave qui affecte plusieurs composants, ou l’intégrité de l’ensemble du système est compromise ou considérée comme compromise.

[in] FormatString

Chaîne Unicode terminée par null qui inclut les informations à enregistrer. Cette chaîne doit être au même format que celui passé à la fonction FormatMessage .

unnamedParam4

Valeur de retour

None

Remarques

La fonction de rappel LogEvent est implémentée par resource Monitor et est appelée par une DLL de ressource pour signaler les événements et les erreurs dans le journal du cluster. Les DLL de ressources reçoivent un pointeur vers la fonction de rappel LogEvent dans le paramètre LogEvent vers leur fonction point d’entrée de démarrage .

LogEvent n’écrit pas d’entrées dans le journal des événements. Pour signaler des événements dans le journal des événements, une DLL de ressource doit appeler la fonction ReportEvent .

Le format du message journalisé s’affiche comme suit :

ResourceTypeName ResourceName: message

ResourceTypeName est le type de ressource, tel que « Application générique ». Le nom de la ressource spécifique est le nom convivial de la ressource spécifique, et le message est le message remis par la DLL de ressource au Moniteur de ressources.

La taille de l’entrée de journal est limitée à 500 caractères.

Exemples

L’exemple suivant est basé sur le code généré par l’Assistant Type de ressource de cluster. Pour obtenir d’autres exemples, consultez Exemples de DLL de ressources.

//  The following parameters are assumed to be already defined:
//  g_pfnLogEvent   Stores the address of the LogEvent callback
//                  function passed to the DLL in the
//                  Startup entry point.
//  pResourceEntry  Stores resource instance data.
//  MY_SVCNAME      Stores the name of a service.
//  nStatus         Result

//  Log the fact that an attempt to start a service has failed.

//  Basic message
    (g_pfnLogEvent)( pResourceEntry->hResourceHandle,
                     LOG_ERROR,
                     L"Failed to start the specified service.\n" );

//  Message w/string argument
    (g_pfnLogEvent)( pResourceEntry->hResourceHandle,
                     LOG_ERROR,
                     L"OnlineThread: Failed to start the '%1' service.\n",
                     MY_SVCNAME );

//  Message w/multiple arguments
    (g_pfnLogEvent)( pResourceEntry->hResourceHandle,
                     LOG_ERROR,
                     L"OnlineThread: Failed to start the '%1' service. Error: %2!u!.\n",
                     MY_SVCNAME,
                     nStatus );

Configuration requise

Condition requise Valeur
Client minimal pris en charge Aucun pris en charge
Serveur minimal pris en charge Windows Server 2008 Entreprise, Windows Server 2008 Datacenter
Plateforme cible Windows
En-tête resapi.h

Voir aussi

LOG_LEVEL

Ouvrir

ReportEvent

Fonctions de rappel de DLL de ressource

Startup