>#define EVENTLOG_ERROR_TYPE 0x1 >#define EVENTLOG_WARNING_TYPE 0x2 > >local loheap, lcmessage, lnptr >loheap = newobject('heap','clsheap.prg') >lcmessage = 'Test message' > >lnptr = loheap.AllocString(lcmessage) > >declare integer ReportEvent in win32api ; > integer hEventlog, ; > integer nEventType,; > integer nEventCategory, ; > integer nEventID, ; > integer nSecurityIdentifier, ; > integer nNumberofStrings, ; > integer nDatasize, ; > integer@ pMessage, ; > integer nDatabuffer > >? ReportEvent(MyHandle,EVENTLOG_ERROR_TYPE,0,0,0,1,0,@lnptr,0)>The above example added an error event to my Application event log.
>>lcString1='\\SMT002' >>lcString2='HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\EventLog\Application\WinApp' >> >>DECLARE INTEGER RegisterEventSource IN WIN32API STRING lcString1,STRING lcString2 >> >>MyHandle=RegisterEventSource(lcString1,lcString2) >> >>&& The ReportEvent() should be here >> >>DECLARE INTEGER DeregisterEventSource IN WIN32API INTEGER lnHandle >>=DeregisterEventSource(MyHandle) >>>>
>>BOOL ReportEvent( >> HANDLE hEventLog, // handle to event log >> WORD wType, // event type >> WORD wCategory, // event category >> DWORD dwEventID, // event identifier >> PSID lpUserSid, // user security identifier >> WORD wNumStrings, // number of strings to merge >> DWORD dwDataSize, // size of binary data >> LPCTSTR *lpStrings, // array of strings to merge >> LPVOID lpRawData // binary data buffer >>); >>Parameters >>hEventLog >>[in] Handle to the event log. This handle is returned by the RegisterEventSource function. >>wType >>[in] Specifies the type of event being logged. This parameter can be one of the following values. Value Meaning >>EVENTLOG_SUCCESS Success event >>EVENTLOG_ERROR_TYPE Error event >>EVENTLOG_WARNING_TYPE Warning event >>EVENTLOG_INFORMATION_TYPE Information event >>EVENTLOG_AUDIT_SUCCESS Success audit event >>EVENTLOG_AUDIT_FAILURE Failure audit event >>>>