mirror of
https://github.com/reactos/reactos.git
synced 2024-08-08 04:08:29 +00:00
* Added stubs for GetSecurityInfo and GetSecurityInfoExA/W in advapi32
* Added some rather messy code to msvcrt/except/unwind.c in an attempt to get cmd.exe from Windows 2000 to run once again (Microsoft must've updated it in SP4 ... it used to work!) svn path=/trunk/; revision=5655
This commit is contained in:
parent
63a25cf323
commit
6fb621e9a8
|
@ -45,7 +45,8 @@
|
||||||
#define SE_SELF_RELATIVE (32768)
|
#define SE_SELF_RELATIVE (32768)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
typedef ULONG ACCESS_MODE, *PACCESS_MODE;
|
// This is defined in W32API:
|
||||||
|
// typedef ULONG ACCESS_MODE, *PACCESS_MODE;
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
typedef struct _ACE_HEADER
|
typedef struct _ACE_HEADER
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
; $Id: advapi32.def,v 1.8 2003/06/27 15:19:18 sedwards Exp $
|
; $Id: advapi32.def,v 1.9 2003/08/18 22:19:25 silverblade Exp $
|
||||||
;
|
;
|
||||||
; advapi32.def
|
; advapi32.def
|
||||||
;
|
;
|
||||||
|
@ -154,6 +154,8 @@ GetSecurityDescriptorLength@4
|
||||||
GetSecurityDescriptorOwner@12
|
GetSecurityDescriptorOwner@12
|
||||||
GetSecurityDescriptorSacl@16
|
GetSecurityDescriptorSacl@16
|
||||||
GetSecurityInfo@32
|
GetSecurityInfo@32
|
||||||
|
GetSecurityInfoExA@36
|
||||||
|
GetSecurityInfoExW@36
|
||||||
GetServiceDisplayNameA@16
|
GetServiceDisplayNameA@16
|
||||||
GetServiceDisplayNameW@16
|
GetServiceDisplayNameW@16
|
||||||
GetServiceKeyNameA@16
|
GetServiceKeyNameA@16
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
; $Id: advapi32.edf,v 1.23 2003/07/20 22:11:41 ekohl Exp $
|
; $Id: advapi32.edf,v 1.24 2003/08/18 22:19:25 silverblade Exp $
|
||||||
;
|
;
|
||||||
; advapi32.edf
|
; advapi32.edf
|
||||||
;
|
;
|
||||||
|
@ -152,7 +152,9 @@ GetSecurityDescriptorGroup=GetSecurityDescriptorGroup@12
|
||||||
GetSecurityDescriptorLength=GetSecurityDescriptorLength@4
|
GetSecurityDescriptorLength=GetSecurityDescriptorLength@4
|
||||||
GetSecurityDescriptorOwner=GetSecurityDescriptorOwner@12
|
GetSecurityDescriptorOwner=GetSecurityDescriptorOwner@12
|
||||||
GetSecurityDescriptorSacl=GetSecurityDescriptorSacl@16
|
GetSecurityDescriptorSacl=GetSecurityDescriptorSacl@16
|
||||||
;GetSecurityInfo=GetSecurityInfo@32
|
GetSecurityInfo=GetSecurityInfo@32
|
||||||
|
GetSecurityInfoExA=GetSecurityInfoExA@36
|
||||||
|
GetSecurityInfoExW=GetSecurityInfoExW@36
|
||||||
GetServiceDisplayNameA=GetServiceDisplayNameA@16
|
GetServiceDisplayNameA=GetServiceDisplayNameA@16
|
||||||
GetServiceDisplayNameW=GetServiceDisplayNameW@16
|
GetServiceDisplayNameW=GetServiceDisplayNameW@16
|
||||||
GetServiceKeyNameA=GetServiceKeyNameA@16
|
GetServiceKeyNameA=GetServiceKeyNameA@16
|
||||||
|
|
|
@ -4,15 +4,18 @@
|
||||||
* FILE: lib/advapi32/sec/sec.c
|
* FILE: lib/advapi32/sec/sec.c
|
||||||
* PURPOSE: Registry functions
|
* PURPOSE: Registry functions
|
||||||
* PROGRAMMER: Ariadne ( ariadne@xs4all.nl)
|
* PROGRAMMER: Ariadne ( ariadne@xs4all.nl)
|
||||||
* Steven Edwards ( Steven_Ed4153@yahoo.com )
|
* Steven Edwards ( Steven_Ed4153@yahoo.com )
|
||||||
|
* Andrew Greenwood ( silverblade_uk@hotmail.com )
|
||||||
* UPDATE HISTORY:
|
* UPDATE HISTORY:
|
||||||
* Created 01/11/98
|
* Created 01/11/98
|
||||||
* Added a few new stubs 6/27/03
|
* Added a few new stubs 6/27/03
|
||||||
|
* Added stubs for GetSecurityInfo/Ex 8/18/03
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define NTOS_MODE_USER
|
#define NTOS_MODE_USER
|
||||||
#include <ntos.h>
|
|
||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
|
#include <accctrl.h>
|
||||||
|
#include <ntos.h>
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -464,4 +467,62 @@ SetFileSecurityA (
|
||||||
{
|
{
|
||||||
return(FALSE);
|
return(FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
STDCALL DWORD GetSecurityInfo (
|
||||||
|
HANDLE handle,
|
||||||
|
SE_OBJECT_TYPE ObjectType,
|
||||||
|
SECURITY_INFORMATION SecurityInfo,
|
||||||
|
PSID *ppsidOwner,
|
||||||
|
PSID *ppsidGroup,
|
||||||
|
PACL *ppDacl,
|
||||||
|
PACL *ppSacl,
|
||||||
|
PSECURITY_DESCRIPTOR *ppSecurityDescriptor
|
||||||
|
)
|
||||||
|
{
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
STDCALL DWORD GetSecurityInfoExA(
|
||||||
|
HANDLE hObject,
|
||||||
|
SE_OBJECT_TYPE ObjectType,
|
||||||
|
SECURITY_INFORMATION SecurityInfo,
|
||||||
|
LPCSTR lpProvider,
|
||||||
|
LPCSTR lpProperty,
|
||||||
|
PACTRL_ACCESS *ppAccessList,
|
||||||
|
PACTRL_AUDIT *ppAuditList,
|
||||||
|
LPCSTR *lppOwner,
|
||||||
|
LPCSTR *lppGroup
|
||||||
|
)
|
||||||
|
{
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
STDCALL DWORD GetSecurityInfoExW(
|
||||||
|
HANDLE hObject,
|
||||||
|
SE_OBJECT_TYPE ObjectType,
|
||||||
|
SECURITY_INFORMATION SecurityInfo,
|
||||||
|
LPCWSTR lpProvider,
|
||||||
|
LPCWSTR lpProperty,
|
||||||
|
PACTRL_ACCESS *ppAccessList,
|
||||||
|
PACTRL_AUDIT *ppAuditList,
|
||||||
|
LPWSTR *lppOwner,
|
||||||
|
LPWSTR *lppGroup
|
||||||
|
)
|
||||||
|
{
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* EOF */
|
/* EOF */
|
||||||
|
|
|
@ -14,3 +14,56 @@ __ret_label:
|
||||||
#else
|
#else
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// THIS SHOULD BE FOR 386 ONLY :
|
||||||
|
|
||||||
|
typedef struct __EXCEPTION_FRAME
|
||||||
|
{
|
||||||
|
struct __EXCEPTION_FRAME *Prev;
|
||||||
|
PEXCEPTION_HANDLER Handler;
|
||||||
|
} EXCEPTION_FRAME, *PEXCEPTION_FRAME;
|
||||||
|
|
||||||
|
/* VC++ extensions to Win32 SEH */
|
||||||
|
typedef struct _SCOPETABLE
|
||||||
|
{
|
||||||
|
int previousTryLevel;
|
||||||
|
int (*lpfnFilter)(PEXCEPTION_POINTERS);
|
||||||
|
int (*lpfnHandler)(void);
|
||||||
|
} SCOPETABLE, *PSCOPETABLE;
|
||||||
|
|
||||||
|
typedef struct _MSVCRT_EXCEPTION_FRAME
|
||||||
|
{
|
||||||
|
EXCEPTION_FRAME *prev;
|
||||||
|
void (*handler)(PEXCEPTION_RECORD, PEXCEPTION_FRAME,
|
||||||
|
PCONTEXT, PEXCEPTION_RECORD);
|
||||||
|
PSCOPETABLE scopetable;
|
||||||
|
int trylevel;
|
||||||
|
int _ebp;
|
||||||
|
PEXCEPTION_POINTERS xpointers;
|
||||||
|
} MSVCRT_EXCEPTION_FRAME;
|
||||||
|
|
||||||
|
|
||||||
|
typedef struct __JUMP_BUFFER
|
||||||
|
{
|
||||||
|
unsigned long Ebp;
|
||||||
|
unsigned long Ebx;
|
||||||
|
unsigned long Edi;
|
||||||
|
unsigned long Esi;
|
||||||
|
unsigned long Esp;
|
||||||
|
unsigned long Eip;
|
||||||
|
unsigned long Registration;
|
||||||
|
unsigned long TryLevel;
|
||||||
|
/* Start of new struct members */
|
||||||
|
unsigned long Cookie;
|
||||||
|
unsigned long UnwindFunc;
|
||||||
|
unsigned long UnwindData[6];
|
||||||
|
} _JUMP_BUFFER;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @implemented
|
||||||
|
*/
|
||||||
|
void __stdcall _seh_longjmp_unwind(_JUMP_BUFFER *jmp)
|
||||||
|
{
|
||||||
|
_local_unwind2((MSVCRT_EXCEPTION_FRAME*) jmp->Registration, jmp->TryLevel);
|
||||||
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
; $Id: msvcrt.def,v 1.22 2003/07/16 13:29:01 royce Exp $
|
; $Id: msvcrt.def,v 1.23 2003/08/18 22:19:25 silverblade Exp $
|
||||||
;
|
;
|
||||||
; ReactOS MSVCRT Compatibility Library
|
; ReactOS MSVCRT Compatibility Library
|
||||||
;
|
;
|
||||||
|
@ -431,7 +431,7 @@ _rotr
|
||||||
; _safe_fprem1
|
; _safe_fprem1
|
||||||
_scalb
|
_scalb
|
||||||
_searchenv
|
_searchenv
|
||||||
; _seh_longjmp_unwind
|
_seh_longjmp_unwind
|
||||||
; _set_error_mode
|
; _set_error_mode
|
||||||
; _set_sbh_threshold
|
; _set_sbh_threshold
|
||||||
_seterrormode
|
_seterrormode
|
||||||
|
|
Loading…
Reference in a new issue