[ros-dev] [ros-diffs] [jimtabor] 54044: [Win32k] - Implement get atom name for user32.

Timo Kreuzer timo.kreuzer at web.de
Fri Oct 7 15:21:35 UTC 2011


Am 07.10.2011 15:56, schrieb jimtabor at svn.reactos.org:
>
> +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;
> +}

IntGetAtomName must not be called from inside SEH, if it throws you'll be left with a locked atom table.

Timo




More information about the Ros-dev mailing list