cleareventlog (advapi32)
Last changed: DFx Technology Limited-81.137.214.16

.
Summary
Clears the specified Event Log (and optionally backs it up first)

C# Signature:

    [DllImport("advapi32.dll", SetLastError=true, EntryPoint="ClearEventLog")]
    [return: MarshalAs(UnmanagedType.U1)]
    public static extern bool ClearEventLog(    
                            IntPtr hEventLog,
                            [MarshalAs(UnmanagedType.LPStr)] String lpBackupFileName);

VB Signature:

Declare Function ClearEventLog Lib "advapi32.dll" (TODO) As TODO

User-Defined Types:

None.

Alternative Managed API:

EventLog.Clear()

http://msdn.microsoft.com/es-es/library/system.diagnostics.eventlog.clear.aspx

Notes:

hEventLog is the handle for the log you wish to operate on, this handle can be got from OpenEventLog if needed.

Tips & Tricks:

Please add some!

Sample Code:

    Quick and cheerful, this routine will attempt to save and clear the specified EventLog to the specified folder.

    Boolean ClearAndSavelog (string logName, string savePath)
    {
        // EventLog Handle
        IntPtr hEventLog = IntPtr.Zero;

        // Return status flag
        Boolean Result = false;

        try
        {
        // Attempt to acquire a handle to our event log.
        hEventLog = NativeMethods.OpenEventLog(IntPtr.Zero, logName);
        if (hEventLog == IntPtr.Zero)
        {
            // Wrap in an exception and throw the error upwards.
            throw new Win32Exception(Marshal.GetLastWin32Error());
        }

        // Construct a full filename string.
        String FullSavePath = (_ReportLocation
                    + @"\" + logName + " EVENTLOGDUMP "
                    + ".evt");

        // Attempt to clear and save the eventlog.
        Boolean success = NativeMethods.ClearEventLog(hEventLog, savePath);
        if (!success)
        {
            // Wrap in an exception and throw the error upwards.
            throw new Win32Exception(Marshal.GetLastWin32Error());
        }

        // All operations completed OK.
        Result = true;
        }
        catch (Win32Exception ex)
        {
        // TODO: Error handling/logging.
        }
        finally
        {
        // Ensure any open handle is closed.
        if (hEventLog)
        {
            NativeMethods.CloseEventLog(hEventLog);
        }
        }

        return Result;
    }

Documentation