Add GetEventLogInformation stub.

Add parameter checks for GetNumberOfEventLogRecords and GetOldestEventLogRecord.

Fixes 3 crashes for advapi32:eventlog winetest.

svn path=/trunk/; revision=44852
This commit is contained in:
Sylvain Petreolle
2010-01-01 14:41:44 +00:00
parent 7b84f181bc
commit d9c6ea2fbf
3 changed files with 37 additions and 1 deletions
+1 -1
View File
@@ -236,7 +236,7 @@
@ stdcall GetCurrentHwProfileW(ptr)
@ stdcall GetEffectiveRightsFromAclA(ptr ptr ptr)
@ stdcall GetEffectiveRightsFromAclW(ptr ptr ptr)
@ stub GetEventLogInformation
@ stdcall GetEventLogInformation(long long ptr long ptr)
@ stdcall GetExplicitEntriesFromAclA(ptr ptr ptr) advapi32.GetExplicitEntriesFromAclW
@ stdcall GetExplicitEntriesFromAclW(ptr ptr ptr)
@ stdcall GetFileSecurityA(str long ptr long ptr)
@@ -360,6 +360,29 @@ DeregisterEventSource(IN HANDLE hEventLog)
}
/******************************************************************************
* GetEventLogInformation [ADVAPI32.@]
*
* PARAMS
* hEventLog [I] Handle to event log
* dwInfoLevel [I] Level of event log information to return
* lpBuffer [O] Buffer that receives the event log information
* cbBufSize [I] Size of the lpBuffer buffer
* pcbBytesNeeded [O] Required buffer size
*/
BOOL WINAPI
GetEventLogInformation(IN HANDLE hEventLog,
IN DWORD dwInfoLevel,
OUT LPVOID lpBuffer,
IN DWORD cbBufSize,
OUT LPDWORD pcbBytesNeeded)
{
UNIMPLEMENTED;
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return FALSE;
}
/******************************************************************************
* GetNumberOfEventLogRecords [ADVAPI32.@]
*
@@ -376,6 +399,12 @@ GetNumberOfEventLogRecords(IN HANDLE hEventLog,
TRACE("%p, %p\n", hEventLog, NumberOfRecords);
if(!NumberOfRecords)
{
SetLastError(ERROR_INVALID_PARAMETER);
return FALSE;
}
RpcTryExcept
{
Status = ElfrNumberOfRecords(hEventLog,
@@ -415,6 +444,12 @@ GetOldestEventLogRecord(IN HANDLE hEventLog,
TRACE("%p, %p\n", hEventLog, OldestRecord);
if(!OldestRecord)
{
SetLastError(ERROR_INVALID_PARAMETER);
return FALSE;
}
RpcTryExcept
{
Status = ElfrOldestRecord(hEventLog,
+1
View File
@@ -1628,6 +1628,7 @@ BOOL WINAPI GetNamedPipeInfo(HANDLE,PDWORD,PDWORD,PDWORD,PDWORD);
#if (_WIN32_WINNT >= 0x0501)
VOID WINAPI GetNativeSystemInfo(LPSYSTEM_INFO);
#endif
BOOL WINAPI GetEventLogInformation(HANDLE,DWORD,LPVOID,DWORD,LPDWORD);
BOOL WINAPI GetNumberOfEventLogRecords(HANDLE,PDWORD);
BOOL WINAPI GetOldestEventLogRecord(HANDLE,PDWORD);
BOOL WINAPI GetOverlappedResult(HANDLE,LPOVERLAPPED,PDWORD,BOOL);