2 * PROJECT: ReactOS system libraries
3 * LICENSE: GPLv2+ - See COPYING in the top level directory
4 * PURPOSE: Safer functions
5 * PROGRAMMER: Thomas Faber <thomas.faber@reactos.org>
8 /* INCLUDES ******************************************************************/
11 WINE_DEFAULT_DEBUG_CHANNEL(advapi
);
14 /* FUNCTIONS *****************************************************************/
16 /**********************************************************************
27 _Outptr_ SAFER_LEVEL_HANDLE
*pLevelHandle
,
28 _Reserved_ PVOID pReserved
)
30 FIXME("(%lu, %lu, %lu, %p, %p) stub\n", dwScopeId
, dwLevelId
, OpenFlags
, pLevelHandle
, pReserved
);
31 *pLevelHandle
= (SAFER_LEVEL_HANDLE
)0x42;
36 /**********************************************************************
44 _In_ DWORD dwNumProperties
,
45 _In_reads_opt_(dwNumProperties
) PSAFER_CODE_PROPERTIES pCodeProperties
,
46 _Outptr_ SAFER_LEVEL_HANDLE
*pLevelHandle
,
47 _Reserved_ PVOID pReserved
)
51 if (pLevelHandle
== NULL
)
53 SetLastError(ERROR_NOACCESS
);
57 for (i
= 0; i
< dwNumProperties
; i
++)
59 if (pCodeProperties
[i
].cbSize
!= sizeof(SAFER_CODE_PROPERTIES_V1
))
61 SetLastError(ERROR_BAD_LENGTH
);
66 FIXME("(%lu, %p, %p, %p) stub\n", dwNumProperties
, pCodeProperties
, pLevelHandle
, pReserved
);
68 *pLevelHandle
= (SAFER_LEVEL_HANDLE
)0x42;
73 /**********************************************************************
81 _In_ SAFER_LEVEL_HANDLE hLevelHandle
)
83 FIXME("(%p) stub\n", hLevelHandle
);
84 if (hLevelHandle
!= (SAFER_LEVEL_HANDLE
)0x42)
86 SetLastError(ERROR_INVALID_HANDLE
);
95 SaferGetLevelInformation(
96 _In_ SAFER_LEVEL_HANDLE LevelHandle
,
97 _In_ SAFER_OBJECT_INFO_CLASS dwInfoType
,
98 _Out_writes_bytes_opt_(dwInBufferSize
) PVOID pQueryBuffer
,
99 _In_ DWORD dwInBufferSize
,
100 _Out_ PDWORD pdwOutBufferSize
);
105 SaferSetLevelInformation(
106 _In_ SAFER_LEVEL_HANDLE LevelHandle
,
107 _In_ SAFER_OBJECT_INFO_CLASS dwInfoType
,
108 _In_reads_bytes_(dwInBufferSize
) PVOID pQueryBuffer
,
109 _In_ DWORD dwInBufferSize
);
112 /**********************************************************************
113 * SaferGetPolicyInformation
119 SaferGetPolicyInformation(
120 _In_ DWORD dwScopeId
,
121 _In_ SAFER_POLICY_INFO_CLASS SaferPolicyInfoClass
,
122 _In_ DWORD InfoBufferSize
,
123 _Out_writes_bytes_opt_(InfoBufferSize
) PVOID InfoBuffer
,
124 _Out_ PDWORD InfoBufferRetSize
,
125 _Reserved_ PVOID pReserved
)
127 FIXME("(%lu, %d, %lu, %p, %p, %p) stub\n", dwScopeId
, SaferPolicyInfoClass
, InfoBufferSize
, InfoBuffer
, InfoBufferRetSize
, pReserved
);
128 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
135 SaferSetPolicyInformation(
136 _In_ DWORD dwScopeId
,
137 _In_ SAFER_POLICY_INFO_CLASS SaferPolicyInfoClass
,
138 _In_ DWORD InfoBufferSize
,
139 _In_reads_bytes_(InfoBufferSize
) PVOID InfoBuffer
,
140 _Reserved_ PVOID pReserved
);
143 /**********************************************************************
144 * SaferComputeTokenFromLevel
150 SaferComputeTokenFromLevel(
151 _In_ SAFER_LEVEL_HANDLE LevelHandle
,
152 _In_opt_ HANDLE InAccessToken
,
153 _Out_ PHANDLE OutAccessToken
,
155 _Inout_opt_ PVOID pReserved
)
157 FIXME("(%p, %p, %p, 0x%lx, %p) stub\n", LevelHandle
, InAccessToken
, OutAccessToken
, dwFlags
, pReserved
);
158 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
163 /**********************************************************************
164 * SaferRecordEventLogEntry
170 SaferRecordEventLogEntry(
171 _In_ SAFER_LEVEL_HANDLE hLevel
,
172 _In_ PCWSTR szTargetPath
,
173 _Reserved_ PVOID pReserved
)
175 FIXME("(%p, %s, %p) stub\n", hLevel
, wine_dbgstr_w(szTargetPath
), pReserved
);
176 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
183 SaferiIsExecutableFileType(
184 _In_ PCWSTR szFullPath
,
185 _In_ BOOLEAN bFromShellExecute
);