Exportar (0) Imprimir
Expandir todo
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

EventInstance::CategoryId (Propiedad)

Obtiene o establece el identificador de recursos que especifica la categoría definida por la aplicación de la entrada de evento.

Espacio de nombres:  System.Diagnostics
Ensamblado:  System (en System.dll)

public:
property int CategoryId {
	int get ();
	void set (int value);
}

Valor de propiedad

Tipo: System::Int32
Valor de categoría numérico o identificador de recursos correspondiente a una cadena definida en el archivo de recursos de categoría del origen de eventos. El valor predeterminado es cero, lo que significa que no se mostrará ninguna categoría para la entrada de evento.

ExcepciónCondición
ArgumentOutOfRangeException

La propiedad está establecida en un valor negativo o un valor mayor que UInt16::MaxValue.

Las categorías de registro de eventos son valores definidos por la aplicación que ayudan a filtrar eventos o proporcionan información adicional sobre el evento. Por ejemplo, la aplicación puede definir categorías distintas para componentes diferentes o para operaciones diferentes.

Establezca la propiedad CategoryId para especificar la categoría que el Visor de eventos muestra para la entrada. El Visor de eventos puede mostrar la categoría como valor numérico, o bien utilizar CategoryId como identificador de recursos para mostrar una cadena de categoría adaptada en función de la configuración de idioma actual.

Para mostrar cadenas de categoría adaptadas en el Visor de eventos, será necesario utilizar un origen de eventos configurado con un archivo de recursos de categorías y establecer el parámetro CategoryId en un identificador de recursos de dicho archivo. Si el origen de eventos no tuviera un archivo de recursos de categoría configurado, o si la propiedad CategoryId especificada no indizara una cadena en el archivo de recursos de categoría, el Visor de eventos mostrará el valor numérico de categoría para dicha entrada.

Antes de escribir categorías de eventos con identificadores de recursos, deberá registrarse el origen con el archivo de recursos correspondiente. Para configurar el archivo de recursos de categorías, junto con el número de cadenas de categoría que incluye, deberán utilizarse las clases EventLogInstaller o EventSourceCreationData. Cuando se definan cadenas de categoría en un archivo de recursos, los identificadores de recursos de categoría deberán numerarse consecutivamente, desde el 1 hasta el valor configurado de la propiedad CategoryCount.

Las categorías de eventos son opcionales. Si su aplicación no utiliza categorías, no establezca CategoryId para la entrada del registro de eventos.

Para obtener información detallada acerca de la definición de mensajes de eventos y la generación de archivos de recursos de evento, vea el tema "Compilador de mensajes" en la documentación del SDK de la plataforma en http://msdn.microsoft.com/es-es/default.aspx. Para obtener información detallada sobre la definición de categorías de evento en archivos de recursos, vea el tema sobre categorías de evento en Platform SDK.

En el siguiente ejemplo de código se escribe una entrada de evento informativa y, a continuación, se reutiliza EventInstance para escribir una entrada para un evento de advertencia en un registro de eventos existente. El texto del mensaje de evento se especifica utilizando un identificador de recursos en un archivo de recursos de mensajes. En el ejemplo de código se supone que se ha registrado el archivo de recursos de mensajes correspondiente para el origen.


// Ensure that the source has already been registered using
// EventLogInstaller or EventLog.CreateEventSource.
String^ sourceName = "SampleApplicationSource";
if ( EventLog::SourceExists( sourceName ) )
{
   // Define an informational event with no category.
   // The message identifier corresponds to the message text in the
   // message resource file defined for the source.
   EventInstance ^ myEvent = gcnew EventInstance( UpdateCycleCompleteMsgId,0 );

   // Write the event to the event log using the registered source.
   EventLog::WriteEvent( sourceName, myEvent, 0 );

   // Reuse the event data instance for another event entry.
   // Set the entry category and message identifiers for
   // the appropriate resource identifiers in the resource files
   // for the registered source.  Set the event type to Warning.
   myEvent->CategoryId = RefreshCategoryMsgId;
   myEvent->EntryType = EventLogEntryType::Warning;
   myEvent->InstanceId = ServerConnectionDownMsgId;

   // Write the event to the event log using the registered source.
   // Insert the machine name into the event message text.
   array<String^>^ss = {Environment::MachineName};
   EventLog::WriteEvent( sourceName, myEvent, ss );
}
else
{
   Console::WriteLine( "Warning - event source {0} not registered", sourceName );
}


En el ejemplo de código se utiliza el archivo de texto de mensaje siguiente, integrado en la biblioteca de recursos EventLogMsgs.dll. Un archivo de texto de mensaje es el origen desde el que se crea el archivo de recursos de mensaje. En el archivo de texto de mensaje se definen los identificadores de recursos y el texto para las cadenas de categoría, mensaje de eventos e inserción de parámetros.

; // EventLogMsgs.mc
; // ********************************************************

; // Use the following commands to build this file:

; //   mc -s EventLogMsgs.mc
; //   rc EventLogMsgs.rc
; //   link /DLL /SUBSYSTEM:WINDOWS /NOENTRY /MACHINE:x86 EventLogMsgs.Res 
; // ********************************************************

; // - Event categories -
; // Categories must be numbered consecutively starting at 1.
; // ********************************************************

MessageId=0x1
Severity=Success
SymbolicName=INSTALL_CATEGORY
Language=English
Installation
.

MessageId=0x2
Severity=Success
SymbolicName=QUERY_CATEGORY
Language=English
Database Query
.

MessageId=0x3
Severity=Success
SymbolicName=REFRESH_CATEGORY
Language=English
Data Refresh
.

; // - Event messages -
; // *********************************

MessageId = 1000
Severity = Success
Facility = Application
SymbolicName = AUDIT_SUCCESS_MESSAGE_ID_1000
Language=English
My application message text, in English, for message id 1000, called from %1.
.

MessageId = 1001
Severity = Warning
Facility = Application
SymbolicName = AUDIT_FAILED_MESSAGE_ID_1001
Language=English
My application message text, in English, for message id 1001, called from %1.
.


MessageId = 1002
Severity = Success
Facility = Application
SymbolicName = GENERIC_INFO_MESSAGE_ID_1002
Language=English
My generic information message in English, for message id 1002.
.


MessageId = 1003
Severity = Warning
Facility = Application
SymbolicName = GENERIC_WARNING_MESSAGE_ID_1003
Language=English
My generic warning message in English, for message id 1003, called from %1.
.


MessageId = 1004
Severity = Success
Facility = Application
SymbolicName = UPDATE_CYCLE_COMPLETE_MESSAGE_ID_1004
Language=English
The update cycle is complete for %%5002.
.


MessageId = 1005
Severity = Warning
Facility = Application
SymbolicName = SERVER_CONNECTION_DOWN_MESSAGE_ID_1005
Language=English
The refresh operation did not complete because the connection to server %1 could not be established.
.


; // - Event log display name -
; // ********************************************************


MessageId = 5001
Severity = Success
Facility = Application
SymbolicName = EVENT_LOG_DISPLAY_NAME_MSGID
Language=English
Sample Event Log
.



; // - Event message parameters -
; //   Language independent insertion strings
; // ********************************************************


MessageId = 5002
Severity = Success
Facility = Application
SymbolicName = EVENT_LOG_SERVICE_NAME_MSGID
Language=English
SVC_UPDATE.EXE
.

.NET Framework

Compatible con: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft