advapi32: Added SaferCreateLevel stub.
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 @@
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 @@
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 */