RegisterEventSourceA function (winbase.h)

Retrieves a registered handle to the specified event log.


HANDLE RegisterEventSourceA(
  [in] LPCSTR lpUNCServerName,
  [in] LPCSTR lpSourceName


[in] lpUNCServerName

The Universal Naming Convention (UNC) name of the remote server on which this operation is to be performed. If this parameter is NULL, the local computer is used.

[in] lpSourceName

The name of the event source whose handle is to be retrieved. The source name must be a subkey of a log under the Eventlog registry key. Note that the Security log is for system use only.

Note  This string must not contain characters prohibited in XML Attributes, with the exception of XML Escape sequences such as &lt &gl.

Return value

If the function succeeds, the return value is a handle to the event log.

If the function fails, the return value is NULL. To get extended error information, call GetLastError.

The function returns ERROR_ACCESS_DENIED if lpSourceName specifies the Security event log.


If the source name cannot be found, the event logging service uses the Application log. Although events will be reported , the events will not include descriptions because there are no message and category message files for looking up descriptions related to the event identifiers.

To close the handle to the event log, use the DeregisterEventSource function.


For an example, see Reporting an Event.


The winbase.h header defines RegisterEventSource as an alias which automatically selects the ANSI or Unicode version of this function based on the definition of the UNICODE preprocessor constant. Mixing usage of the encoding-neutral alias with code that not encoding-neutral can lead to mismatches that result in compilation or runtime errors. For more information, see Conventions for Function Prototypes.


Requirement Value
Minimum supported client Windows 2000 Professional [desktop apps only]
Minimum supported server Windows 2000 Server [desktop apps only]
Target Platform Windows
Header winbase.h (include Windows.h)
Library Advapi32.lib
DLL Advapi32.dll

See also


Event Logging Functions

Event Sources