* 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:
Andrew Greenwood 2003-08-18 22:19:25 +00:00
parent 63a25cf323
commit 6fb621e9a8
6 changed files with 127 additions and 8 deletions

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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 */

View file

@ -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);
}

View file

@ -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