mirror of
https://github.com/reactos/reactos.git
synced 2024-12-28 01:55:19 +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
6 changed files with 127 additions and 8 deletions
|
@ -45,7 +45,8 @@
|
|||
#define SE_SELF_RELATIVE (32768)
|
||||
#endif
|
||||
|
||||
typedef ULONG ACCESS_MODE, *PACCESS_MODE;
|
||||
// This is defined in W32API:
|
||||
// typedef ULONG ACCESS_MODE, *PACCESS_MODE;
|
||||
|
||||
#if 0
|
||||
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
|
||||
;
|
||||
|
@ -154,6 +154,8 @@ GetSecurityDescriptorLength@4
|
|||
GetSecurityDescriptorOwner@12
|
||||
GetSecurityDescriptorSacl@16
|
||||
GetSecurityInfo@32
|
||||
GetSecurityInfoExA@36
|
||||
GetSecurityInfoExW@36
|
||||
GetServiceDisplayNameA@16
|
||||
GetServiceDisplayNameW@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
|
||||
;
|
||||
|
@ -152,7 +152,9 @@ GetSecurityDescriptorGroup=GetSecurityDescriptorGroup@12
|
|||
GetSecurityDescriptorLength=GetSecurityDescriptorLength@4
|
||||
GetSecurityDescriptorOwner=GetSecurityDescriptorOwner@12
|
||||
GetSecurityDescriptorSacl=GetSecurityDescriptorSacl@16
|
||||
;GetSecurityInfo=GetSecurityInfo@32
|
||||
GetSecurityInfo=GetSecurityInfo@32
|
||||
GetSecurityInfoExA=GetSecurityInfoExA@36
|
||||
GetSecurityInfoExW=GetSecurityInfoExW@36
|
||||
GetServiceDisplayNameA=GetServiceDisplayNameA@16
|
||||
GetServiceDisplayNameW=GetServiceDisplayNameW@16
|
||||
GetServiceKeyNameA=GetServiceKeyNameA@16
|
||||
|
|
|
@ -4,15 +4,18 @@
|
|||
* FILE: lib/advapi32/sec/sec.c
|
||||
* PURPOSE: Registry functions
|
||||
* 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:
|
||||
* Created 01/11/98
|
||||
* Added a few new stubs 6/27/03
|
||||
* Added stubs for GetSecurityInfo/Ex 8/18/03
|
||||
*/
|
||||
|
||||
#define NTOS_MODE_USER
|
||||
#include <ntos.h>
|
||||
#include <windows.h>
|
||||
#include <accctrl.h>
|
||||
#include <ntos.h>
|
||||
|
||||
|
||||
/*
|
||||
|
@ -464,4 +467,62 @@ SetFileSecurityA (
|
|||
{
|
||||
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 */
|
||||
|
|
|
@ -14,3 +14,56 @@ __ret_label:
|
|||
#else
|
||||
#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
|
||||
;
|
||||
|
@ -431,7 +431,7 @@ _rotr
|
|||
; _safe_fprem1
|
||||
_scalb
|
||||
_searchenv
|
||||
; _seh_longjmp_unwind
|
||||
_seh_longjmp_unwind
|
||||
; _set_error_mode
|
||||
; _set_sbh_threshold
|
||||
_seterrormode
|
||||
|
|
Loading…
Reference in a new issue