[KERNEL32]

Don't make FindFirstChangeNotificationA() rely on Wine's strings conversions functions

svn path=/trunk/; revision=50868
This commit is contained in:
Pierre Schweitzer 2011-02-22 18:56:46 +00:00
parent f617d8910c
commit 8dc411563b

View file

@ -9,10 +9,14 @@
* Created 01/11/98
*/
/* INCLUDES *****************************************************************/
#include <k32.h>
#define NDEBUG
#include <debug.h>
/* FUNCTIONS ****************************************************************/
/*
* @implemented
*/
@ -35,20 +39,30 @@ FindCloseChangeNotification (HANDLE hChangeHandle)
*/
HANDLE
WINAPI
FindFirstChangeNotificationA (
LPCSTR lpPathName,
BOOL bWatchSubtree,
DWORD dwNotifyFilter
)
FindFirstChangeNotificationA(IN LPCSTR lpPathName,
IN BOOL bWatchSubtree,
IN DWORD dwNotifyFilter)
{
PWCHAR PathNameW;
NTSTATUS Status;
ANSI_STRING PathNameString;
if (!(PathNameW = FilenameA2W(lpPathName, FALSE)))
return INVALID_HANDLE_VALUE;
RtlInitAnsiString(&PathNameString, lpPathName);
Status = RtlAnsiStringToUnicodeString(&(NtCurrentTeb()->StaticUnicodeString), &PathNameString, FALSE);
if (!NT_SUCCESS(Status))
{
if (Status != STATUS_BUFFER_OVERFLOW)
{
SetLastError(ERROR_FILENAME_EXCED_RANGE);
}
else
{
BaseSetLastNTError(Status);
}
return INVALID_HANDLE_VALUE;
}
return FindFirstChangeNotificationW (PathNameW ,
bWatchSubtree,
dwNotifyFilter);
return FindFirstChangeNotificationW(NtCurrentTeb()->StaticUnicodeString.Buffer,
bWatchSubtree, dwNotifyFilter);
}