[ros-diffs] [fireball] 32224: - Make LsaOpenPolicy return a fake handle (ported from Wine), so that it doesn't leave garbage instead of a handle, which is going to be closed later by LsaClose. - Make LsaClose understand the fake handle, and don't do anything in that case but just return success. - Make one unimplemented func show a fixme (also from Wine).

fireball at svn.reactos.org fireball at svn.reactos.org
Fri Feb 8 18:52:48 CET 2008


Author: fireball
Date: Fri Feb  8 20:52:48 2008
New Revision: 32224

URL: http://svn.reactos.org/svn/reactos?rev=32224&view=rev
Log:
- Make LsaOpenPolicy return a fake handle (ported from Wine), so that it doesn't leave garbage instead of a handle, which is going to be closed later by LsaClose.
- Make LsaClose understand the fake handle, and don't do anything in that case but just return success.
- Make one unimplemented func show a fixme (also from Wine).

Modified:
    trunk/reactos/dll/win32/advapi32/sec/lsa.c

Modified: trunk/reactos/dll/win32/advapi32/sec/lsa.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/advapi32/sec/lsa.c?rev=32224&r1=32223&r2=32224&view=diff
==============================================================================
--- trunk/reactos/dll/win32/advapi32/sec/lsa.c (original)
+++ trunk/reactos/dll/win32/advapi32/sec/lsa.c Fri Feb  8 20:52:48 2008
@@ -86,6 +86,10 @@
 {
     TRACE("LsaClose(0x%p) called\n", ObjectHandle);
 
+    /* This is our fake handle, don't go too much long way */
+    if (ObjectHandle == (LSA_HANDLE)0xcafe)
+        return STATUS_SUCCESS;
+
     LSAHandleBind();
 
     return LsarClose(LSABindingHandle,
@@ -276,7 +280,9 @@
     PLSA_REFERENCED_DOMAIN_LIST *ReferencedDomains,
     PLSA_TRANSLATED_SID2 *Sids)
 {
-  return STATUS_NOT_IMPLEMENTED;
+    FIXME("(%p,0x%08x,0x%08x,%p,%p,%p) stub\n", PolicyHandle, Flags,
+        Count, Names, ReferencedDomains, Sids);
+    return STATUS_NONE_MAPPED;
 }
 
 /*
@@ -345,18 +351,20 @@
  *
  * @unimplemented
  */
-NTSTATUS STDCALL
-LsaOpenPolicy(PLSA_UNICODE_STRING lsaucs,
-	      PLSA_OBJECT_ATTRIBUTES lsaoa,
-	      ACCESS_MASK access,
-	      PLSA_HANDLE PolicyHandle)
-{
-  static int count = 0;
-  if (count++ < 20)
-  {
-     FIXME("%s() not implemented!\n", __FUNCTION__);
-  }
-  return STATUS_SUCCESS;
+NTSTATUS
+STDCALL
+LsaOpenPolicy(
+    IN PLSA_UNICODE_STRING SystemName,
+    IN PLSA_OBJECT_ATTRIBUTES ObjectAttributes,
+    IN ACCESS_MASK DesiredAccess,
+    IN OUT PLSA_HANDLE PolicyHandle)
+{
+    FIXME("(%s,%p,0x%08x,%p) stub\n",
+          SystemName?debugstr_w(SystemName->Buffer):"(null)",
+          ObjectAttributes, DesiredAccess, PolicyHandle);
+
+    if(PolicyHandle) *PolicyHandle = (LSA_HANDLE)0xcafe;
+    return STATUS_SUCCESS;
 }
 
 /*




More information about the Ros-diffs mailing list