PLOG_EVENT_ROUTINE Rückruffunktion (resapi.h)
Zeichnet ein Ereignis im Clusterprotokoll auf. Der PLOG_EVENT_ROUTINE Typ definiert einen Zeiger auf diese Funktion.
Syntax
PLOG_EVENT_ROUTINE PlogEventRoutine;
void PlogEventRoutine(
[in] RESOURCE_HANDLE ResourceHandle,
[in] LOG_LEVEL LogLevel,
[in] LPCWSTR FormatString,
... unnamedParam4
)
{...}
Parameter
[in] ResourceHandle
Behandeln Sie die Identifizierung der Ressource, die das Ereignis aufzeichnet. Der Wert für ResourceHandle sollte das Handle sein, das während des Open-Aufrufs für diese Ressource übergeben wurde.
[in] LogLevel
Wert, der von der LOG_LEVEL Enumeration aufgezählt wird, die die Protokollebene des Ereignisses darstellt und nur zu Informationszwecken dient. Die folgenden gültigen Werte werden in der Reihenfolge vom niedrigsten bis zum schwersten angezeigt.
LOG_INFORMATION (0)
Das Ereignis ist informal.
LOG_WARNING (1)
Das Ereignis meldet einen Fehler, der möglicherweise aufgetreten ist, aber es ist unsicher, ob ein Fehler tatsächlich aufgetreten ist.
LOG_ERROR (2)
Das Ereignis wirkt sich auf eine einzelne Komponente aus, andere Komponenten sind jedoch nicht betroffen, und die Integrität des restlichen Knotens wird nicht gefährdet.
LOG_SEVERE (3)
Das Ereignis meldet einen schwerwiegenden Fehler, der mehrere Komponenten betrifft, oder die Integrität des gesamten Systems wird kompromittiert oder als kompromittiert angesehen.
[in] FormatString
Unicode-Zeichenfolge mit Null-Endung, die die aufzuzeichnenden Informationen enthält. Diese Zeichenfolge muss das gleiche Format aufweisen wie die, die an die FormatMessage-Funktion übergeben wurde.
unnamedParam4
Rückgabewert
Keine
Bemerkungen
Die LogEvent-Rückruffunktion wird vom Ressourcenmonitor implementiert und von einer Ressourcen-DLL aufgerufen, um Ereignisse und Fehler an das Clusterprotokoll zu melden. Ressourcen-DLLs erhalten einen Zeiger auf die LogEvent-Rückruffunktion im LogEvent-Parameter auf ihre Starteinstiegspunktfunktion.
LogEvent schreibt keine Einträge in das Ereignisprotokoll. Um Ereignisse im Ereignisprotokoll zu melden, muss eine Ressourcen-DLL die ReportEvent-Funktion aufrufen.
Das Format der protokollierten Nachricht wird wie folgt angezeigt:
ResourceTypeName ResourceName: Nachricht
ResourceTypeName ist der Ressourcentyp, z. B. "Generische Anwendung". Der spezifische Ressourcenname ist der benutzerfreundliche Name für die bestimmte Ressource, und die Nachricht ist die Nachricht, die von der Ressourcen-DLL an den Ressourcenmonitor übermittelt wird.
Die Protokolleintragsgröße ist auf 500 Zeichen beschränkt.
Beispiele
Das folgende Beispiel basiert auf Code, der vom Clusterressourcentyp-Assistenten generiert wurde. Weitere Beispiele finden Sie unter Ressourcen-DLL-Beispiele.
// 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 );
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Nicht unterstützt |
Unterstützte Mindestversion (Server) | Windows Server 2008 Enterprise, Windows Server 2008 Datacenter |
Zielplattform | Windows |
Kopfzeile | resapi.h |