mirror of
https://github.com/reactos/reactos.git
synced 2025-02-22 16:36:33 +00:00
[KERNEL32]
Don't make FindFirstChangeNotificationA() rely on Wine's strings conversions functions svn path=/trunk/; revision=50868
This commit is contained in:
parent
f617d8910c
commit
8dc411563b
1 changed files with 25 additions and 11 deletions
|
@ -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);
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue