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

EventLog::SourceExists (Método) (String, String)

Determina si un origen de eventos está registrado en un equipo especificado.

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

public:
static bool SourceExists(
	String^ source, 
	String^ machineName
)

Parámetros

source
Tipo: System::String
Nombre del origen de eventos.
machineName
Tipo: System::String
Nombre del equipo en el se debe buscar o "." para el equipo local.

Valor devuelto

Tipo: System::Boolean
true si el origen de eventos está registrado en el equipo dado; en caso contrario, false.

ExcepciónCondición
ArgumentException

machineName no es un nombre de equipo válido.

SecurityException

No se ha encontrado source, aunque no se ha podido buscar en algunos de los registros de eventos o en ninguno.

Utilice este método para determinar si existe un origen de eventos en el equipo especificado por el parámetro machineName. Si desea determinar si existe un registro en el equipo especificado, utilice Exists.

Debido a que este método obtiene acceso al Registro, se deben tener los permisos adecuados en el servidor concreto; en caso contrario, se producirá una SecurityException.

NotaNota

Para buscar un origen de eventos en Windows Vista y versiones posteriores o Windows Server 2003, debe tener privilegios de administrador.

La razón de este requisito es que deben buscarse todos los registros de eventos, incluidos los de seguridad, para determinar si el origen del evento es único. A partir de Windows Vista, los usuarios no tienen permiso de acceso al registro de seguridad; por tanto, se produce una excepción SecurityException.

A partir de Windows Vista, el Control de cuentas de usuario (UAC) determina los privilegios de un usuario. Si es miembro del grupo Administradores integrados, se le asignarán dos símbolos (tokens) de acceso en tiempo de ejecución: un símbolo (token) de acceso de usuario estándar y un símbolo (token) de acceso de administrador. De forma predeterminada, se le asignará el rol de usuario estándar. Para ejecutar el código que tiene acceso a los contadores de rendimiento, primero debe elevar el nivel de sus privilegios de usuario estándar a administrador. Podrá hacerlo cuando inicie una aplicación haciendo clic con el botón secundario en el icono de la aplicación e indicando que desea ejecutarla como administrador.

NotaNota

Un servicio que se está ejecutando bajo la cuenta LocalSystem no tiene los privilegios exigidos para ejecutar este método. La solución es comprobar si el origen de eventos existe en ServiceInstaller, y si no existe, crearlo en el instalador.

Ya que no se puede proporcionar a un nuevo origen el nombre de un origen existente en el mismo equipo, utilice este método antes de intentar llamar a CreateEventSource para garantizar que un origen con el nombre especificado por source no existe todavía en el equipo. Los parámetros source y machineName no distinguen mayúsculas y minúsculas.

SourceExists es un método static, por lo que puede ser llamado desde la propia clase. No es necesario crear una instancia de EventLog para llamar a SourceExists.

En el siguiente ejemplo se crea el origen MySource en el equipo MyServer y se escribe una entrada en el registro de eventos MyNewLog.


#using <System.dll>

using namespace System;
using namespace System::Diagnostics;
using namespace System::Threading;
int main()
{

   // Create the source, if it does not already exist.
   if (  !EventLog::SourceExists( "MySource", "MyServer" ) )
   {
      EventLog::CreateEventSource( "MySource", "MyNewLog", "MyServer" );
      Console::WriteLine( "CreatingEventSource" );
   }


   // Create an EventLog instance and assign its source.
   EventLog^ myLog = gcnew EventLog;
   myLog->Source = "MySource";

   // Write an informational entry to the event log.    
   myLog->WriteEntry( "Writing to event log." );
   Console::WriteLine( "Message written to event log." );
}



.NET Framework

Compatible con: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.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