Nikolay Sivov : advapi32: Added SaferCreateLevel stub.

Alexandre Julliard julliard at winehq.org
Thu Jan 15 08:51:22 CST 2009


Module: wine
Branch: master
Commit: e7a27694b99d117054ad8bb1e35df83d3cc0083e
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=e7a27694b99d117054ad8bb1e35df83d3cc0083e

Author: Nikolay Sivov <bunglehead at gmail.com>
Date:   Thu Jan 15 09:30:11 2009 +0300

advapi32: Added SaferCreateLevel stub.

---

 dlls/advapi32/advapi32.spec |    2 +-
 dlls/advapi32/security.c    |   11 +++++++++
 include/Makefile.in         |    1 +
 include/winsafer.h          |   50 +++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 63 insertions(+), 1 deletions(-)

diff --git a/dlls/advapi32/advapi32.spec b/dlls/advapi32/advapi32.spec
index 3140f62..219e3d1 100644
--- a/dlls/advapi32/advapi32.spec
+++ b/dlls/advapi32/advapi32.spec
@@ -540,7 +540,7 @@
 @ stdcall RevertToSelf()
 # @ stub SaferCloseLevel
 # @ stub SaferComputeTokenFromLevel
-# @ stub SaferCreateLevel
+@ stdcall SaferCreateLevel(long long long ptr ptr)
 # @ stub SaferGetLevelInformation
 # @ stub SaferGetPolicyInformation
 # @ stub SaferIdentifyLevel
diff --git a/dlls/advapi32/security.c b/dlls/advapi32/security.c
index 8229377..43d6d07 100644
--- a/dlls/advapi32/security.c
+++ b/dlls/advapi32/security.c
@@ -28,6 +28,7 @@
 #include "winbase.h"
 #include "winerror.h"
 #include "winreg.h"
+#include "winsafer.h"
 #include "winternl.h"
 #include "winioctl.h"
 #include "ntsecapi.h"
@@ -5122,3 +5123,13 @@ DWORD WINAPI SetSecurityInfo(HANDLE handle, SE_OBJECT_TYPE ObjectType,
     FIXME("stub\n");
     return ERROR_SUCCESS;
 }
+
+/******************************************************************************
+ * SaferCreateLevel   [ADVAPI32.@]
+ */
+BOOL WINAPI SaferCreateLevel(DWORD ScopeId, DWORD LevelId, DWORD OpenFlags,
+                             SAFER_LEVEL_HANDLE* LevelHandle, LPVOID lpReserved)
+{
+    FIXME("(%u, %x, %u, %p, %p) stub\n", ScopeId, LevelId, OpenFlags, LevelHandle, lpReserved);
+    return FALSE;
+}
diff --git a/include/Makefile.in b/include/Makefile.in
index 2a990c0..7aca0e4 100644
--- a/include/Makefile.in
+++ b/include/Makefile.in
@@ -448,6 +448,7 @@ SRCDIR_INCLUDES = \
 	winperf.h \
 	winreg.h \
 	winresrc.h \
+	winsafer.h \
 	winscard.h \
 	winsmcrd.h \
 	winsock.h \
diff --git a/include/winsafer.h b/include/winsafer.h
new file mode 100644
index 0000000..d7b75c7
--- /dev/null
+++ b/include/winsafer.h
@@ -0,0 +1,50 @@
+/*
+ * Winsafer definitions
+ *
+ * Copyright (C) 2009 Nikolay Sivov
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+#ifndef __WINE_WINSAFER_H
+#define __WINE_WINSAFER_H
+
+#include <guiddef.h>
+#include <wincrypt.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+DECLARE_HANDLE(SAFER_LEVEL_HANDLE);
+
+#define SAFER_SCOPEID_MACHINE  1
+#define SAFER_SCOPEID_USER     2
+
+#define SAFER_LEVELID_DISALLOWED   0x00000
+#define SAFER_LEVELID_UNTRUSTED    0x01000
+#define SAFER_LEVELID_CONSTRAINED  0x10000
+#define SAFER_LEVELID_NORMALUSER   0x20000
+#define SAFER_LEVELID_FULLYTRUSTED 0x40000
+
+#define SAFER_LEVEL_OPEN   1
+
+WINADVAPI BOOL WINAPI SaferCreateLevel(DWORD,DWORD,DWORD,SAFER_LEVEL_HANDLE*,LPVOID);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __WINE_WINSAFER_H */




More information about the wine-cvs mailing list