Am 07.10.2011 15:56, schrieb [email protected]:

+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


_______________________________________________
Ros-dev mailing list
[email protected]
http://www.reactos.org/mailman/listinfo/ros-dev

Reply via email to