diff --git a/reactos/include/reactos/win32k/ntuser.h b/reactos/include/reactos/win32k/ntuser.h index e73c43653c9..9247a7315af 100644 --- a/reactos/include/reactos/win32k/ntuser.h +++ b/reactos/include/reactos/win32k/ntuser.h @@ -1825,7 +1825,7 @@ DWORD NTAPI NtUserGetAtomName( ATOM nAtom, - LPWSTR lpBuffer); + PUNICODE_STRING pBuffer); UINT NTAPI diff --git a/reactos/subsystems/win32/win32k/ntuser/ntstubs.c b/reactos/subsystems/win32/win32k/ntuser/ntstubs.c index 2b4ad7df1a4..2d88789c99d 100644 --- a/reactos/subsystems/win32/win32k/ntuser/ntstubs.c +++ b/reactos/subsystems/win32/win32k/ntuser/ntstubs.c @@ -628,16 +628,6 @@ NtUserGetAppImeLevel( return 0; } -DWORD -APIENTRY -NtUserGetAtomName( - ATOM nAtom, - LPWSTR lpBuffer) -{ - STUB; - return 0; -} - DWORD APIENTRY NtUserGetImeInfoEx( diff --git a/reactos/subsystems/win32/win32k/ntuser/useratom.c b/reactos/subsystems/win32/win32k/ntuser/useratom.c index 7b8469cf8e1..8118777a684 100644 --- a/reactos/subsystems/win32/win32k/ntuser/useratom.c +++ b/reactos/subsystems/win32/win32k/ntuser/useratom.c @@ -78,4 +78,27 @@ IntAddGlobalAtom(LPWSTR lpBuffer, BOOL PinAtom) return Atom; } +DWORD +APIENTRY +NtUserGetAtomName( + ATOM nAtom, + PUNICODE_STRING pBuffer) +{ + DWORD Ret; + UNICODE_STRING CapturedName = {0}; + UserEnterShared(); + _SEH2_TRY + { + CapturedName = ProbeForReadUnicodeString(pBuffer); + Ret = IntGetAtomName((RTL_ATOM)nAtom, CapturedName.Buffer, (ULONG)CapturedName.Length); + } + _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) + { + Ret = 0; + } + _SEH2_END + UserLeave(); + return Ret; +} + /* EOF */