1999-01-28 14:46:25 +01:00
|
|
|
/*
|
|
|
|
* dlls/advapi32/security.c
|
1999-02-19 17:29:05 +01:00
|
|
|
* FIXME: for all functions thunking down to Rtl* functions: implement SetLastError()
|
1999-01-28 14:46:25 +01:00
|
|
|
*/
|
1999-02-19 16:42:11 +01:00
|
|
|
#include <string.h>
|
|
|
|
|
1999-03-14 17:35:05 +01:00
|
|
|
#include "windef.h"
|
1999-02-17 14:51:06 +01:00
|
|
|
#include "winreg.h"
|
1997-11-30 18:45:40 +01:00
|
|
|
#include "winerror.h"
|
1999-01-03 13:48:29 +01:00
|
|
|
#include "heap.h"
|
1999-02-19 17:29:05 +01:00
|
|
|
#include "ntddk.h"
|
1999-02-17 14:51:06 +01:00
|
|
|
#include "debug.h"
|
1997-02-15 15:29:56 +01:00
|
|
|
|
1999-04-19 16:56:29 +02:00
|
|
|
DECLARE_DEBUG_CHANNEL(advapi)
|
|
|
|
DECLARE_DEBUG_CHANNEL(security)
|
|
|
|
|
1999-02-19 17:29:05 +01:00
|
|
|
#define CallWin32ToNt(func) \
|
|
|
|
{ NTSTATUS ret; \
|
|
|
|
ret = (func); \
|
|
|
|
if (ret !=STATUS_SUCCESS) \
|
|
|
|
{ SetLastError (RtlNtStatusToDosError(ret)); return FALSE; } \
|
|
|
|
return TRUE; \
|
|
|
|
}
|
|
|
|
|
1999-02-12 18:47:07 +01:00
|
|
|
/* FIXME: move it to a header */
|
1999-02-26 12:11:13 +01:00
|
|
|
BOOL WINAPI IsValidSid (PSID pSid);
|
|
|
|
BOOL WINAPI EqualSid (PSID pSid1, PSID pSid2);
|
|
|
|
BOOL WINAPI EqualPrefixSid (PSID pSid1, PSID pSid2);
|
1997-08-24 18:00:30 +02:00
|
|
|
DWORD WINAPI GetSidLengthRequired (BYTE nSubAuthorityCount);
|
1999-02-26 12:11:13 +01:00
|
|
|
BOOL WINAPI AllocateAndInitializeSid(PSID_IDENTIFIER_AUTHORITY pIdentifierAuthority, BYTE nSubAuthorityCount, DWORD nSubAuthority0, DWORD nSubAuthority1, DWORD nSubAuthority2, DWORD nSubAuthority3, DWORD nSubAuthority4, DWORD nSubAuthority5, DWORD nSubAuthority6, DWORD nSubAuthority7, PSID *pSid);
|
1999-02-12 18:47:07 +01:00
|
|
|
VOID* WINAPI FreeSid(PSID pSid);
|
1999-02-26 12:11:13 +01:00
|
|
|
BOOL WINAPI InitializeSid (PSID pSid, PSID_IDENTIFIER_AUTHORITY pIdentifierAuthority, BYTE nSubAuthorityCount);
|
1999-02-12 18:47:07 +01:00
|
|
|
PSID_IDENTIFIER_AUTHORITY WINAPI GetSidIdentifierAuthority(PSID pSid);
|
|
|
|
DWORD* WINAPI GetSidSubAuthority(PSID pSid, DWORD nSubAuthority);
|
|
|
|
BYTE* WINAPI GetSidSubAuthorityCount(PSID pSid);
|
|
|
|
DWORD WINAPI GetLengthSid(PSID pSid);
|
1999-02-26 12:11:13 +01:00
|
|
|
BOOL WINAPI CopySid(DWORD nDestinationSidLength, PSID pDestinationSid, PSID pSourceSid);
|
1997-02-15 15:29:56 +01:00
|
|
|
|
1999-02-19 17:29:05 +01:00
|
|
|
/* ##############################
|
|
|
|
###### TOKEN FUNCTIONS ######
|
|
|
|
##############################
|
|
|
|
*/
|
1999-01-28 14:46:25 +01:00
|
|
|
|
1999-01-03 13:48:29 +01:00
|
|
|
/******************************************************************************
|
1999-02-12 18:47:07 +01:00
|
|
|
* OpenProcessToken [ADVAPI32.109]
|
1999-01-03 13:48:29 +01:00
|
|
|
* Opens the access token associated with a process
|
|
|
|
*
|
|
|
|
* PARAMS
|
1999-01-28 14:46:25 +01:00
|
|
|
* ProcessHandle [I] Handle to process
|
|
|
|
* DesiredAccess [I] Desired access to process
|
|
|
|
* TokenHandle [O] Pointer to handle of open access token
|
1999-01-03 13:48:29 +01:00
|
|
|
*
|
|
|
|
* RETURNS STD
|
|
|
|
*/
|
1999-02-26 12:11:13 +01:00
|
|
|
BOOL WINAPI
|
|
|
|
OpenProcessToken( HANDLE ProcessHandle, DWORD DesiredAccess,
|
|
|
|
HANDLE *TokenHandle )
|
1999-01-03 13:48:29 +01:00
|
|
|
{
|
1999-03-09 18:43:44 +01:00
|
|
|
CallWin32ToNt(NtOpenProcessToken( ProcessHandle, DesiredAccess, TokenHandle ));
|
|
|
|
}
|
|
|
|
|
|
|
|
/******************************************************************************
|
|
|
|
* OpenThreadToken [ADVAPI32.114]
|
|
|
|
*
|
|
|
|
* PARAMS
|
|
|
|
* thread []
|
|
|
|
* desiredaccess []
|
|
|
|
* openasself []
|
|
|
|
* thandle []
|
|
|
|
*/
|
|
|
|
BOOL WINAPI
|
|
|
|
OpenThreadToken( HANDLE ThreadHandle, DWORD DesiredAccess,
|
|
|
|
BOOL OpenAsSelf, HANDLE *TokenHandle)
|
|
|
|
{
|
|
|
|
CallWin32ToNt (NtOpenThreadToken(ThreadHandle, DesiredAccess, OpenAsSelf, TokenHandle));
|
1999-02-19 17:29:05 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
/******************************************************************************
|
|
|
|
* AdjustTokenPrivileges [ADVAPI32.10]
|
|
|
|
*
|
|
|
|
* PARAMS
|
|
|
|
* TokenHandle []
|
|
|
|
* DisableAllPrivileges []
|
|
|
|
* NewState []
|
|
|
|
* BufferLength []
|
|
|
|
* PreviousState []
|
|
|
|
* ReturnLength []
|
|
|
|
*/
|
1999-02-26 12:11:13 +01:00
|
|
|
BOOL WINAPI
|
|
|
|
AdjustTokenPrivileges( HANDLE TokenHandle, BOOL DisableAllPrivileges,
|
1999-02-19 17:29:05 +01:00
|
|
|
LPVOID NewState, DWORD BufferLength,
|
|
|
|
LPVOID PreviousState, LPDWORD ReturnLength )
|
1999-01-03 13:48:29 +01:00
|
|
|
{
|
1999-03-09 18:43:44 +01:00
|
|
|
CallWin32ToNt(NtAdjustPrivilegesToken(TokenHandle, DisableAllPrivileges, NewState, BufferLength, PreviousState, ReturnLength));
|
1999-01-03 13:48:29 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
/******************************************************************************
|
1999-02-19 17:29:05 +01:00
|
|
|
* GetTokenInformation [ADVAPI32.66]
|
1999-01-03 13:48:29 +01:00
|
|
|
*
|
|
|
|
* PARAMS
|
1999-02-19 17:29:05 +01:00
|
|
|
* token []
|
|
|
|
* tokeninfoclass []
|
|
|
|
* tokeninfo []
|
|
|
|
* tokeninfolength []
|
|
|
|
* retlen []
|
1999-01-28 14:46:25 +01:00
|
|
|
*
|
1999-01-03 13:48:29 +01:00
|
|
|
*/
|
1999-02-26 12:11:13 +01:00
|
|
|
BOOL WINAPI
|
1999-03-09 18:43:44 +01:00
|
|
|
GetTokenInformation( HANDLE token, TOKEN_INFORMATION_CLASS tokeninfoclass,
|
|
|
|
LPVOID tokeninfo, DWORD tokeninfolength, LPDWORD retlen )
|
1999-01-03 13:48:29 +01:00
|
|
|
{
|
1999-03-09 18:43:44 +01:00
|
|
|
CallWin32ToNt (NtQueryInformationToken( token, tokeninfoclass, tokeninfo, tokeninfolength, retlen));
|
1999-01-03 13:48:29 +01:00
|
|
|
}
|
|
|
|
|
1999-02-19 17:29:05 +01:00
|
|
|
/* ##############################
|
|
|
|
###### SID FUNCTIONS ######
|
|
|
|
##############################
|
|
|
|
*/
|
|
|
|
|
1999-01-03 13:48:29 +01:00
|
|
|
/******************************************************************************
|
1999-02-19 17:29:05 +01:00
|
|
|
* AllocateAndInitializeSid [ADVAPI32.11]
|
1999-01-28 14:46:25 +01:00
|
|
|
*
|
|
|
|
* PARAMS
|
1999-02-19 17:29:05 +01:00
|
|
|
* pIdentifierAuthority []
|
|
|
|
* nSubAuthorityCount []
|
|
|
|
* nSubAuthority0 []
|
|
|
|
* nSubAuthority1 []
|
|
|
|
* nSubAuthority2 []
|
|
|
|
* nSubAuthority3 []
|
|
|
|
* nSubAuthority4 []
|
|
|
|
* nSubAuthority5 []
|
|
|
|
* nSubAuthority6 []
|
|
|
|
* nSubAuthority7 []
|
|
|
|
* pSid []
|
1999-01-28 14:46:25 +01:00
|
|
|
*/
|
1999-02-26 12:11:13 +01:00
|
|
|
BOOL WINAPI
|
1999-02-19 17:29:05 +01:00
|
|
|
AllocateAndInitializeSid( PSID_IDENTIFIER_AUTHORITY pIdentifierAuthority,
|
|
|
|
BYTE nSubAuthorityCount,
|
|
|
|
DWORD nSubAuthority0, DWORD nSubAuthority1,
|
|
|
|
DWORD nSubAuthority2, DWORD nSubAuthority3,
|
|
|
|
DWORD nSubAuthority4, DWORD nSubAuthority5,
|
|
|
|
DWORD nSubAuthority6, DWORD nSubAuthority7,
|
|
|
|
PSID *pSid )
|
1999-01-03 13:48:29 +01:00
|
|
|
{
|
1999-02-19 17:29:05 +01:00
|
|
|
if (!(*pSid = HeapAlloc( GetProcessHeap(), 0,
|
|
|
|
GetSidLengthRequired(nSubAuthorityCount))))
|
|
|
|
return FALSE;
|
|
|
|
(*pSid)->Revision = SID_REVISION;
|
|
|
|
if (pIdentifierAuthority)
|
|
|
|
memcpy(&(*pSid)->IdentifierAuthority, pIdentifierAuthority,
|
|
|
|
sizeof (SID_IDENTIFIER_AUTHORITY));
|
|
|
|
*GetSidSubAuthorityCount(*pSid) = nSubAuthorityCount;
|
1999-01-03 13:48:29 +01:00
|
|
|
|
1999-02-19 17:29:05 +01:00
|
|
|
if (nSubAuthorityCount > 0)
|
|
|
|
*GetSidSubAuthority(*pSid, 0) = nSubAuthority0;
|
|
|
|
if (nSubAuthorityCount > 1)
|
|
|
|
*GetSidSubAuthority(*pSid, 1) = nSubAuthority1;
|
|
|
|
if (nSubAuthorityCount > 2)
|
|
|
|
*GetSidSubAuthority(*pSid, 2) = nSubAuthority2;
|
|
|
|
if (nSubAuthorityCount > 3)
|
|
|
|
*GetSidSubAuthority(*pSid, 3) = nSubAuthority3;
|
|
|
|
if (nSubAuthorityCount > 4)
|
|
|
|
*GetSidSubAuthority(*pSid, 4) = nSubAuthority4;
|
|
|
|
if (nSubAuthorityCount > 5)
|
|
|
|
*GetSidSubAuthority(*pSid, 5) = nSubAuthority5;
|
|
|
|
if (nSubAuthorityCount > 6)
|
|
|
|
*GetSidSubAuthority(*pSid, 6) = nSubAuthority6;
|
|
|
|
if (nSubAuthorityCount > 7)
|
|
|
|
*GetSidSubAuthority(*pSid, 7) = nSubAuthority7;
|
|
|
|
|
|
|
|
return TRUE;
|
|
|
|
}
|
1999-01-03 13:48:29 +01:00
|
|
|
|
1999-01-28 14:46:25 +01:00
|
|
|
/******************************************************************************
|
1999-02-19 17:29:05 +01:00
|
|
|
* FreeSid [ADVAPI32.42]
|
1999-01-28 14:46:25 +01:00
|
|
|
*
|
|
|
|
* PARAMS
|
1999-02-19 17:29:05 +01:00
|
|
|
* pSid []
|
1999-01-28 14:46:25 +01:00
|
|
|
*/
|
1999-02-19 17:29:05 +01:00
|
|
|
VOID* WINAPI
|
|
|
|
FreeSid( PSID pSid )
|
|
|
|
{
|
|
|
|
HeapFree( GetProcessHeap(), 0, pSid );
|
|
|
|
return NULL;
|
1999-01-03 13:48:29 +01:00
|
|
|
}
|
|
|
|
|
1999-01-28 14:46:25 +01:00
|
|
|
/******************************************************************************
|
|
|
|
* CopySid [ADVAPI32.24]
|
|
|
|
*
|
|
|
|
* PARAMS
|
|
|
|
* nDestinationSidLength []
|
|
|
|
* pDestinationSid []
|
|
|
|
* pSourceSid []
|
1999-01-03 13:48:29 +01:00
|
|
|
*/
|
1999-02-26 12:11:13 +01:00
|
|
|
BOOL WINAPI
|
1999-02-12 18:47:07 +01:00
|
|
|
CopySid( DWORD nDestinationSidLength, PSID pDestinationSid, PSID pSourceSid )
|
1999-01-03 13:48:29 +01:00
|
|
|
{
|
|
|
|
|
|
|
|
if (!IsValidSid(pSourceSid))
|
|
|
|
return FALSE;
|
|
|
|
|
|
|
|
if (nDestinationSidLength < GetLengthSid(pSourceSid))
|
|
|
|
return FALSE;
|
|
|
|
|
|
|
|
memcpy(pDestinationSid, pSourceSid, GetLengthSid(pSourceSid));
|
|
|
|
|
|
|
|
return TRUE;
|
|
|
|
}
|
|
|
|
|
1999-01-28 14:46:25 +01:00
|
|
|
/******************************************************************************
|
|
|
|
* IsValidSid [ADVAPI32.80]
|
|
|
|
*
|
|
|
|
* PARAMS
|
|
|
|
* pSid []
|
1997-02-15 15:29:56 +01:00
|
|
|
*/
|
1999-02-26 12:11:13 +01:00
|
|
|
BOOL WINAPI
|
1999-02-12 18:47:07 +01:00
|
|
|
IsValidSid( PSID pSid )
|
1999-01-28 14:46:25 +01:00
|
|
|
{
|
1997-02-15 15:29:56 +01:00
|
|
|
if (!pSid || pSid->Revision != SID_REVISION)
|
|
|
|
return FALSE;
|
|
|
|
|
|
|
|
return TRUE;
|
|
|
|
}
|
|
|
|
|
1999-01-28 14:46:25 +01:00
|
|
|
/******************************************************************************
|
|
|
|
* EqualSid [ADVAPI32.40]
|
|
|
|
*
|
|
|
|
* PARAMS
|
|
|
|
* pSid1 []
|
|
|
|
* pSid2 []
|
1997-02-15 15:29:56 +01:00
|
|
|
*/
|
1999-02-26 12:11:13 +01:00
|
|
|
BOOL WINAPI
|
1999-02-12 18:47:07 +01:00
|
|
|
EqualSid( PSID pSid1, PSID pSid2 )
|
1999-01-28 14:46:25 +01:00
|
|
|
{
|
1997-02-15 15:29:56 +01:00
|
|
|
if (!IsValidSid(pSid1) || !IsValidSid(pSid2))
|
|
|
|
return FALSE;
|
|
|
|
|
|
|
|
if (*GetSidSubAuthorityCount(pSid1) != *GetSidSubAuthorityCount(pSid2))
|
|
|
|
return FALSE;
|
|
|
|
|
|
|
|
if (memcmp(pSid1, pSid2, GetLengthSid(pSid1)) != 0)
|
|
|
|
return FALSE;
|
|
|
|
|
|
|
|
return TRUE;
|
|
|
|
}
|
|
|
|
|
1999-01-28 14:46:25 +01:00
|
|
|
/******************************************************************************
|
|
|
|
* EqualPrefixSid [ADVAPI32.39]
|
1997-02-15 15:29:56 +01:00
|
|
|
*/
|
1999-02-26 12:11:13 +01:00
|
|
|
BOOL WINAPI EqualPrefixSid (PSID pSid1, PSID pSid2) {
|
1997-02-15 15:29:56 +01:00
|
|
|
if (!IsValidSid(pSid1) || !IsValidSid(pSid2))
|
|
|
|
return FALSE;
|
|
|
|
|
|
|
|
if (*GetSidSubAuthorityCount(pSid1) != *GetSidSubAuthorityCount(pSid2))
|
|
|
|
return FALSE;
|
|
|
|
|
|
|
|
if (memcmp(pSid1, pSid2, GetSidLengthRequired(pSid1->SubAuthorityCount - 1))
|
|
|
|
!= 0)
|
|
|
|
return FALSE;
|
|
|
|
|
|
|
|
return TRUE;
|
|
|
|
}
|
|
|
|
|
1999-01-28 14:46:25 +01:00
|
|
|
/******************************************************************************
|
|
|
|
* GetSidLengthRequired [ADVAPI32.63]
|
|
|
|
*
|
|
|
|
* PARAMS
|
|
|
|
* nSubAuthorityCount []
|
1997-02-15 15:29:56 +01:00
|
|
|
*/
|
1999-01-28 14:46:25 +01:00
|
|
|
DWORD WINAPI
|
|
|
|
GetSidLengthRequired( BYTE nSubAuthorityCount )
|
|
|
|
{
|
Release 980927
Sun Sep 27 14:25:38 1998 Petter Reinholdtsen <pere@td.org.uit.no>
* [files/drive.c]
Make sure GetDriveType32A() handles param NULL. Added some
doc on function.
Sun Sep 27 14:07:26 1998 Huw D M Davies <daviesh@abacus.physics.ox.ac.uk>
* [controls/edit.c] [windows/win.c]
Don't call SetWindowLong() in EDIT_WM_NCREATE.
Fix SetWindowLong(GWL_[EX]STYLE) to work for 16bit windows. Remove
UpdateWindow() call.
Sun Sep 27 13:41:22 1998 Alexandre Julliard <julliard@lrc.epfl.ch>
* [scheduler/*.c] [server/event.c] [server/mutex.c]
[server/semaphore.c]
Implemented server-side synchronisation objects.
Sun Sep 27 01:13:35 1998 Alex Priem <alexp@sci.kun.nl>
* [dlls/comctl32/treeview.c] [include/treeview.h] [include/comctl.h]
Treeview implementation.
* [dlls/comctl32/trackbar.c] [include/trackbar.h]
Trackbar implementation.
Sat Sep 26 20:49:13 1998 Ulrich Weigand <weigand@informatik.uni-erlangen.de>
* [if1632/thunk.c] [tools/build.c] [win32/kernel32.c]
Bugfix: several problems with flat thunks fixed.
* [memory/selector.c]
Bugfix: IsBad...Ptr16 didn't work for limit_in_pages segments.
* [scheduler/thread.c]
Bugfix: CreateThread: Allow id parameter == NULL.
* [objects/gdiobj.c]
Bugfix: IsGDIObject: Return correct object type for stock objects.
* [msdos/dpmi.c]
Bugfix: fixed typo in INT_DoRealModeInt.
* [msdos/int21.c]
Bugfix: int21 READ *must* use WIN16_hread, not _hread16.
* [if1632/kernel.spec] [if1632/dummy.c] [if1632/thunk.c]
[loader/ne/module.c] [scheduler/event.c] [scheduler/synchro.c]
[scheduler/thread.c] [win32/kernel32.c] [win32/ordinals.c]
Added names/stubs for all undocumented KERNEL routines (Win95).
Added the following undoc. 16-bit equivalents to Win32 routines:
KERNEL.441-443,449-453,456-462,471-476,479-486,488.
Added stubs for some other KERNEL routines.
* [memory/heap.c] [memory/global.c] [include/global.h]
Implemented Local32... 32-bit local heap routines (KERNEL.208-215, 229).
* [miscemu/instr.c] [loader/module.c] [include/module.h]
Implemented __GP fault handling and HasGPHandler (KERNEL.338).
* [misc/error.c]
Implemented LogParamErrorRegs (KERNEL.327).
* [loader/task.c] [include/windows.h]
Implemented GetCodeInfo (KERNEL.104).
* [loader/task.c] [scheduler/thread.c] [include/thread.h]
Implemented [GS]etThreadQueue and [GS]etFastQueue (KERNEL.463/4, 624/5).
* [if1632/gdi.spec] [objects/dc.c] [objects/dib.c]
[objects/bitmap.c] [include/windows.h]
Bugfix: fixed wrong parameter for CreateDIBSection16.
Added [GS]etDIBColorTable16, stub for GetBoundsRect16.
Partially implemented BITMAP_GetObject16 for DIBs.
* [if1632/gdi.spec] [relay32/gdi32.spec] [objects/palette.c]
Added some GDI stubs.
* [if1632/Makefile.in] [if1632/display.spec] [if1632/mouse.spec]
[if1632/keyboard.spec] [if1632/builtin.c] [windows/keyboard.c]
Added some stubs for Win16 drivers: KEYBOARD, MOUSE, DISPLAY.
* [if1632/wprocs.spec] [msdos/vxd.c]
Added some stubs for VxDs: VMM, ConfigMG, TimerAPI.
* [msdos/int2f.c]
Added some stubs for real-mode network drivers.
Sat Sep 26 18:18:18 1998 Marcus Meissner <marcus@jet.franken.de>
* [configure.in]
Merged in some more of the FreeBSD ports/emulators/wine patches.
(Maintainer(s) of this port: You can just submit these
patches to Alexandre directly.)
* [loader/pe_image.c]
Check filesize of image against size derived from header
to spot truncated executeables without crashing.
* [files/directory.c]
Set envvar "COMSPEC". One win32(!!) program crashes without it.
* [multimedia/mmio.c]
Added mmioSetInfo32.
* [include/file.h]
Return STD_ERROR_HANDLE for AUX and PRT dos handles.
* [loader/module.c]
Handle executeables with spaces in their names a bit better in
CreateProcess.
* [relay32/msvfw32.spec][if1632/msvideo.spec][multimedia/msvideo.c][include/vfw.h]
Started on MS Video support (can load Win32 ICMs).
* [tools/testrun]
A bit smarter use of ps.
* [memory/virtual.c]
Report PAGE_GUARDed pages as PAGE_PROTECTED (AutoCAD LT R17 fails
without that check (since Win95 doesn't know about PAGE_GUARD)).
Sat Sep 26 15:04:05 1998 Ove Kaaven <ovek@arcticnet.no>
* [include/miscemu.h] [if1632/builtin.c] [loader/task.c]
[miscemu/instr.c] [msdos/dpmi.c] [msdos/int21.c]
[msdos/interrupts.c] [windows/user.c]
INT_[S|G]etHandler was renamed to INT_[S|G]etPMHandler.
Added handlers to deal with real-mode interrupts; DOS
programs are now able to hook real-mode interrupts.
* [loader/dos/module.c] [msdos/dosmem.c] [msdos/int21.c]
Moved real-mode interrupt table initialization to
msdos/dosmem.c, and made new V86 tasks get a full copy
of the existing "system memory" instead of almost empty
space. Misc fixes.
* [include/dosexe.h] [loader/dos/module.c] [msdos/dpmi.c]
[msdos/int2f.c]
First shot at letting DOS programs start up DPMI (but DPMI
is still disabled for DOS programs, for pkunzip's sake).
* [include/debugger.h] [debugger/break.c] [debugger/dbg.y]
[debugger/registers.c] [debugger/memory.c] [debugger/info.c]
[loader/dos/dosvm.c]
First shot at making Wine's debugger work for DOS programs.
The -debug flag works, as do "nexti" and "stepi".
Sat Sep 26 13:13:13 1998 Juergen Schmied <juergen.schmied@metronet.de>
* [dlls/shell32/dataobject.c]
New classes IEnumFORMATETC implemented, IDataObject stubs.
* [dlls/shell32/*.*][relay32/shell32.spec]
Bugfixes.
New: ICM_InsertItem(), ILCreateFromPath().
Implemented: ILCloneFirst().
Stubs: ILIsEqual(), ILFindChild(), SHLogILFromFSIL(),
PathMatchSpec(), PathIsExe().
Changed: ILGetSize(), _ILIsDesktop(), PathCombine().
* [include/shlobj.h]
New SHLGUID's
New structures: DVTARGETDEVICE32, STGMEDIUM32, FORMATETC32,
CLIPFORMAT32.
New interfaces: IEnumFORMATETC, IDataObject, ICommDlgBrowser
IDockingWindowFrame, IServiceProvider.
* [dlls/shell32/folders.c]
Stubs for IShellLink.
* [loader/resource.c]
Small fixes.
* [misc/crtdll.c][relay32/crtdll.spec]
New __dllonexit().
* [windows/message.c]
SendNotifyMessageA, SendMessageCallBack32A half implemented.
* [controls/edit.c]
EDIT_WM_SetText set EF_UPDATE flag not for ES_MULTILINE.
* [files/file.c]
Handling of fileposition fixed.
Fri Sep 25 18:13:30 1998 Patrik Stridvall <ps@leissner.se>
* [include/windows.h] [include/wintypes.h]
[ole/ole2nls.h] [relay32/kernel32.spec]
Implemented EnumDateFormats and EnumTimeFormats.
Only adds US English support.
* [Makefile.in] [configure.in]
[dlls/Makefile.in] [dlls/psapi/Makefile.in]
[dlls/psapi/psapi_main.c]
New files to implement stubs for PSAPI.DLL (NT only).
* [relay32/Makefile.in] [relay32/builtin32.c]
[relay32/psapi.spec]
New spec file for PSAPI.DLL (NT only).
* [scheduler/handle.c]
HANDLE_GetObjPtr should only interpret the pseudo handles as the
current thread or the current process if a thread or a process is
requested.
* [include/winversion.h] [misc/version.c]
Adds the global function VERSION_GetVersion() so functions can
have different behavior depending on the -winver flag.
* [include/oledlg.h] [ole/oledlg.c]
Minor fixes.
* [windows/winproc.c]
Minor changes.
* [include/imm.h] [misc/imm.c]
Now returns correct values under both Windows 95 and NT 4.0.
Thu Sep 24 22:11:44 1998 Kristian Nielsen <kristian.nielsen@risoe.dk>
* [configure.in] [include/acconfig.h] [include/thread.h]
[scheduler/sysdeps.c]
Autoconfig test for non-reentrant libc.
Wed Sep 23 19:52:12 1998 Matthew Becker <mbecker@glasscity.net>
* [*/*.c]
Miscellaneous documentation updates and debugging output
standardizations.
* [objects/clipping.c]
Added ExtSelectClipRgn.
Wed Sep 23 00:03:28 EDT 1998 Pete Ratzlaff <pratzlaff@cfa.harvard.edu>
* [include/windows.h] [if1632/user.spec] [relay32/user32.spec]
[windows/keyboard.c]
Added, marginally implemented, GetKeyboardLayoutName().
Only returns US English keyboard name.
Tue Sep 22 16:32:41 1998 Marcel Baur <mbaur@iiic.ethz.ch>
* [programs/control/*]
New Winelib application.
Mon Sep 21 00:29:18 1998 Peter Hunnisett <hunnise@nortel.ca>
* [include/dplay.h][multimedia/dplay.c][ole/compobj.c]
Added all DirectPlayLobby interfaces and enhanced DirectPlay
and DirectPlayLobby support. Still not all that much. Useful
enough if you just need to start a program, don't try any
real dplay/lobby stuff.
* [documentation/status/directplay]
Added a very little bit.
* [graphics/ddraw.c]
- Call to SetWindowLong32A wasn't working because there was no
memory set aside when the window class was registered.
- Fixed some xlib reference counting and change the behaviour
of DirectDrawSurface3_SetPalette to mimic observed behaviour
(palette is associated will all backbuffers)
- Also stored all palette colour fields and spit back our saved
colour fields rather than query X for them.
- Added plenty of AddRef and Release traces.
- Added Xlib support for using -desktop option.
- Fixed Xlib message handling. Messages weren't being passed to
the application. Fixes mouse movements in some xlib DDraw games.
- Added a few stubs.
* [windows/win.c][include/winerror.h]
Fixed up some error handling in WIN_SetWindowLong. SetLastError
wasn't being used. Could cause problems with 0 return codes.
Added new error in winerror (1400).
* [AUTHORS] [include/authors.h]
Added myself as a Wine author.
Sun Sep 20 21:22:44 1998 Alexander Larsson <alla@lysator.liu.se>
* [loader/module.c]
Changed GetModuleFileName32A so that is returns the
long version of the filename. Note that just the name
is long, not the directories.
Sat Sep 19 20:05:30 1998 Per ngstrm <pang@mind.nu>
* [controls/menu.c]
Made a couple of fixes to make life easier for applications that alter
their menus at runtime.
* [windows/defdlg.c]
Removed the cast of the return value from dialog procedures to a 16-bit
bool. The return value needs to retain all its 32 bits, since it is not
always a bool, such as when responding to the WM_NCHITTEST message.
Fri Sep 18 11:30:38 1998 Sergey Turchanov <turchanov@usa.net>
* [loader/resource.c]
Fixed very funny bug (though gravely affecting further excecution)
with FindResource[Ex]32 functions.
* [include/multimon.h] [windows/multimon.c] [relay32/user32.spec]
[include/windows.h] [windows/sysmetrics.c]
Default implementation for Multimonitor API.
* [include/windows.h] [windows/winpos.c]
Fixed incorrect declaration (and behaviour) of GetWindowRect32.
Wed Sep 16 10:21:15 1998 Gerard Patel <G.Patel@Wanadoo.fr>
* [controls/edit.c]
Fixed EDIT_EM_GetLine to use correctly length of lines.
Tue Sep 15 20:40:16 1998 Eric Kohl <ekohl@abo.rhein-zeitung.de>
* [misc/tweak.c][include/tweak.h][controls/menu.c]
Replaced the tweak graphic routines by calls to DrawEdge32().
* [misc/tweak.c][include/tweak.h][documentation/win95look]
[wine.ini][*/*]
Changed "look and feel" selection. Allows Win3.1, Win95 and
Win98 (no GUI code implemented) look and feel.
* [dlls/comctl32/header.c][include/header.h][include/commctrl.h]
Started callback item support and did some minor improvements.
* [dlls/comctl32/imagelist.c]
Fixed bug in transparent image display.
ImageList_GetIcon is still buggy :-(
* [dlls/comctl32/toolbar.c]
Fixed button drawing (partial hack).
* [dlls/comctl32/commctrl.c]
Fixed MenuHelp().
* [controls/button.c]
Added 3d effect for groupbox.
* [windows/msgbox.c]
Added font support for message boxes.
* [windows/nonclient.c]
Fixed window moving bug.
* [dlls/comctl32/*.c]
Various improvements.
* [dlls/comctl32/listview.c][dlls/comctl32/rebar.c]
[include/commctrl.h]
More messages.
* [windows/syscolor.c][include/windows.h]
Introduced new Win98 system colors.
Tue Sep 15 18:29:45 1998 Wesley Filardo <eightknots@aol.com>
* [files/profile.c]
Added support in PROFILE_LoadWineIni for -config option
* [misc/main.c] [include/options.h]
Added -config option.
Tue Sep 15 18:22:26 1998 Petter Reinholdtsen <pere@td.org.uit.no>
* [documentation/Makefile.in]
Make sure directory exists before installing into it.
Tue Sep 15 01:47:33 1998 Pablo Saratxaga <pablo.sarachaga@ping.be>
* [ole/nls/*] [ole/ole2nls.c] [include/winnls.h]
Fixed a few errors and completed some NLS files.
Mon Sep 14 01:23:45 1998 Joseph Pranevich <knight@baltimore.wwaves.com>
* [include/miscemu.h] [msdos/interrupts.c]
Removed a compilation warning, added INT 25 to the list of interrupts
callable from DOS applications, added a debug message when unsupported
interrupts are used.
Sun Sep 13 19:55:22 1998 Lawson Whitney <lawson_whitney@juno.com>
* [if1632/relay.c]
CallProcEx32W should not reverse arguments.
Sun Aug 17 21:18:12 1998 Eric Pouech <eric.pouech@lemel.fr>
* [multimedia/midi.c] [multimedia/init.c] [multimedia/mmsys.c]
[include/multimedia.h] [include/mmsystem.h]
[multimedia/Makefile.in] [multimedia/midipatch.c]
[if1632/multimedia.spec]
Made MIDI input and output functional on OSS capable systems.
* [multimedia/timer.c]
Changes to trigger callbacks at the accurate pace even when
fake timers are used.
1998-09-27 20:28:36 +02:00
|
|
|
return sizeof (SID) + (nSubAuthorityCount - 1) * sizeof (DWORD);
|
1997-02-15 15:29:56 +01:00
|
|
|
}
|
|
|
|
|
1999-01-28 14:46:25 +01:00
|
|
|
/******************************************************************************
|
1999-02-19 17:29:05 +01:00
|
|
|
* InitializeSid [ADVAPI32.74]
|
1999-01-28 14:46:25 +01:00
|
|
|
*
|
|
|
|
* PARAMS
|
1999-02-19 17:29:05 +01:00
|
|
|
* pIdentifierAuthority []
|
1999-01-03 13:48:29 +01:00
|
|
|
*/
|
1999-02-26 12:11:13 +01:00
|
|
|
BOOL WINAPI
|
1999-02-19 17:29:05 +01:00
|
|
|
InitializeSid (PSID pSid, PSID_IDENTIFIER_AUTHORITY pIdentifierAuthority,
|
|
|
|
BYTE nSubAuthorityCount)
|
1999-01-28 14:46:25 +01:00
|
|
|
{
|
1999-02-19 17:29:05 +01:00
|
|
|
int i;
|
|
|
|
|
|
|
|
pSid->Revision = SID_REVISION;
|
|
|
|
if (pIdentifierAuthority)
|
|
|
|
memcpy(&pSid->IdentifierAuthority, pIdentifierAuthority,
|
|
|
|
sizeof (SID_IDENTIFIER_AUTHORITY));
|
|
|
|
*GetSidSubAuthorityCount(pSid) = nSubAuthorityCount;
|
|
|
|
|
|
|
|
for (i = 0; i < nSubAuthorityCount; i++)
|
|
|
|
*GetSidSubAuthority(pSid, i) = 0;
|
|
|
|
|
|
|
|
return TRUE;
|
1999-01-03 13:48:29 +01:00
|
|
|
}
|
|
|
|
|
1999-01-28 14:46:25 +01:00
|
|
|
/******************************************************************************
|
1999-02-19 17:29:05 +01:00
|
|
|
* GetSidIdentifierAuthority [ADVAPI32.62]
|
1999-01-28 14:46:25 +01:00
|
|
|
*
|
|
|
|
* PARAMS
|
1999-02-19 17:29:05 +01:00
|
|
|
* pSid []
|
1999-01-28 14:46:25 +01:00
|
|
|
*/
|
1999-02-19 17:29:05 +01:00
|
|
|
PSID_IDENTIFIER_AUTHORITY WINAPI
|
|
|
|
GetSidIdentifierAuthority( PSID pSid )
|
1999-01-28 14:46:25 +01:00
|
|
|
{
|
1999-02-19 17:29:05 +01:00
|
|
|
return &pSid->IdentifierAuthority;
|
|
|
|
}
|
1997-02-15 15:29:56 +01:00
|
|
|
|
1999-02-19 17:29:05 +01:00
|
|
|
/******************************************************************************
|
|
|
|
* GetSidSubAuthority [ADVAPI32.64]
|
|
|
|
*
|
|
|
|
* PARAMS
|
|
|
|
* pSid []
|
|
|
|
* nSubAuthority []
|
|
|
|
*/
|
|
|
|
DWORD * WINAPI
|
|
|
|
GetSidSubAuthority( PSID pSid, DWORD nSubAuthority )
|
|
|
|
{
|
|
|
|
return &pSid->SubAuthority[nSubAuthority];
|
|
|
|
}
|
1997-02-15 15:29:56 +01:00
|
|
|
|
1999-02-19 17:29:05 +01:00
|
|
|
/******************************************************************************
|
|
|
|
* GetSidSubAuthorityCount [ADVAPI32.65]
|
|
|
|
*
|
|
|
|
* PARAMS
|
|
|
|
* pSid []
|
|
|
|
*/
|
|
|
|
BYTE * WINAPI
|
|
|
|
GetSidSubAuthorityCount (PSID pSid)
|
|
|
|
{
|
|
|
|
return &pSid->SubAuthorityCount;
|
1997-02-15 15:29:56 +01:00
|
|
|
}
|
|
|
|
|
1999-01-30 13:54:32 +01:00
|
|
|
/******************************************************************************
|
1999-02-19 17:29:05 +01:00
|
|
|
* GetLengthSid [ADVAPI32.48]
|
1999-01-30 13:54:32 +01:00
|
|
|
*
|
|
|
|
* PARAMS
|
|
|
|
* pSid []
|
1997-02-15 15:29:56 +01:00
|
|
|
*/
|
1999-02-19 17:29:05 +01:00
|
|
|
DWORD WINAPI
|
|
|
|
GetLengthSid (PSID pSid)
|
Release 971101
Thu Oct 30 21:52:23 1997 Martin Boehme <boehme@informatik.mu-luebeck.de>
* [windows/nonclient.c]
Changed NC_TrackSysMenu to give the same behaviour as MS-Windows,
i.e. system menu already appears when mouse button is depressed.
Changed NC_HandleNCLButtonDblClk so that double clicks on scroll
bar arrows are handled the same way as single clicks.
* [windows/winpos.c]
Fixed SetWindowPos32 to clear WIN_NO_REDRAW when SWP_SHOWWINDOW is
set; this is the way MS-Windows behaves.
Thu Oct 30 21:08:57 1997 Morten Welinder <terra@diku.dk>
* [controls/status.c]
In SW_SetText, fix condition, I hope.
* [controls/menu.c]
(GetMenuState32): Don't mask return value. Print more debug info.
(MENU_MenuBarCalcSize): Be more careful when printing debug
information.
(MENU_SetItemData): Empty strings are separators.
* [graphics/x11drv/text.c]
Don't prototype CLIPPING_IntersectClipRect.
* [include/dc.h]
Prototype CLIPPING_IntersectClipRect.
* [objects/font.c]
Remove non-portable (and faulty) smartness in FONT_TextMetric*to*.
In CreateFont32W and CreateFont16, handle null font name.
* [objects/text.c]
(TEXT_NextLine): Fix end-of-line bug.
* [if1632/shell32.spec]
Activate existing implementation of ExtractIconA.
* [misc/shell.c]
For Control_RunDLL, add types for parameters.
Thu Oct 30 14:54:11 1997 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [controls/static.c] [include/windows.h] [misc/spy.c]
Added some win32 defines to static controls, basic SS_BITMAP style
handling implemented. [please add more, I am lacking knowledge and
time]
* [controls/status.c]
part_num 255 seems to indicate whole statusline (win95 cdplayer.exe)
* [if1632/thunk.c] [tools/build.c]
Support lret and 0x66 lret calls for CallTo16_regs
(needed for KERNEL32_45)
Fixed KERNEL32_45, QT_Thunk (should work now).
* [if1632/relay.c][if1632/builtin.c][tools/build.c][if1632/*32.spec]
Added string dumping to relay debugging for win32 apifuncs.
* [misc/ver.c]
Fixed and cleaned up VerQueryValue*.
* [multimedia/*.c][include/mmsystem.h][if1632/mmsystem.spec]
[if1632/winmm.spec]
Win32 support for lowlevel multimedia functions.
Added some mixer* lowlevel functions.
Some small fixes in the audio lowlevel queue handling, code
reformatting/cleanups.
* [debugger/hash.c]
Don't show difference between 16bit symbols if they are in
different segments.
* [objects/cursoricon.c]
Added GetIconInfo (partial) and CreateIconIndirect.
* [windows/mdi.c]
Fixed some "bad class" problems and crashes in MDICreateChild,
which happen in Win32 (jwp32.exe).
Wed Oct 29 00:57:27 1997 Bruce Milner <Bruce.Milner@genetics.utah.edu>
* [if1632/winaspi.spec] [misc/aspi.c] [include/aspi.c]
[documentation/aspi] [include/callback.h]
Added support for 16 bit ASPI calls to linux generic SCSI.
The support is not complete, but appears to run my Mustek
scanner from within ipplus.exe.
Mon Oct 27 00:59:41 1997 Alex Korobka <alex@trantor.pharm.sunysb.edu>
* [windows/dce.c]
DC reuse framework.
Sun Oct 26 18:41:21 1997 Huw D M Davies <h.davies1@physics.oxford.ac.uk>
* [graphics/x11drv/xfont.c]
Substituted fonts are removed from the alias table. References to
the old name are also updated.
* [controls/combo.c]
LB_SELECTSTRING32 not CB_SELECTSTRING32 should be sent to
ComboLBox.
Sun Oct 26 14:25:00 1997 Nikita V. Youshchenko <yoush@cs.msu.su>
* [include/drive.h] [files/drive.c] [msdos/int21.c]
Partially implemented DOS drive mapping (int21 AX=440F).
Sat Oct 25 13:03:29 1997 Alexandre Julliard <julliard@lrc.epfl.ch>
* [debugger/debug.l]
Support '.' in identifiers. Use "x . y" to access structure
fields.
* [debugger/hash.c] [loader/pe_image.c]
Load entry points of Win32 modules only when entering the
debugger.
* [debugger/break.c]
New function DEBUG_AddModuleBreakpoint() to set a breakpoint at
the start of every module.
* [files/file.c]
FILE_mmap() can now fake mmap() for unaligned offsets or broken
filesystems.
* [include/callback.h] [misc/callback.c] [if1632/thunk.c]
Use a table of callbacks instead of macros to differentiate
between emulator and Winelib.
* [loader/task.c]
Initialize current directory from cwd, not from module path.
* [tools/build.c]
Read CallTo16 prototypes directly from thunk.c source file.
* [windows/winproc.c] [windows/mdi.c]
Added translation for WM_MDIACTIVATE and WM_MDIGETACTIVE.
Fri Oct 24 21:41:25 1997 Uwe Bonnes <bon@elektron.ikp.tu-darmstadt.de>
* [files/drive.c]
Allow arguments like "a" for the drive related apis.
* [memory/global.c]
Keep the calculation for dwMemoryLoad in range.
* [misc/crtdll.c]
Make CRTDLL_getcwd use GetCurrentDirectory32A and alloc
its memory if requested.
Implemented CRTDLL_rename and CRTDLL_stat needed for
lcc-win32:wedit.exe.
Implemented CRTDLL__fullpath.
* [misc/comm.c]
High speed modes for the 16-bit mode Comm functions.
* [misc/cpu.c]
As applications may treat lpMaximumApplicationAddress as long,
use a valid long number.
* [misc/main.c]
In SystemParametersInfo16 ignore SPI_GETHIGHCONTRAST too.
* [misc/ole2nls.c]
Implement LCMAP_UPPERCASE for LCMapString32.
* [misc/wsprintf]
Made WPRINTF_ParseFormatA understand %ws.
* [win32/file.c]
Ignore FILE_ATTRIBUTE_NORMAL.
Stub for ReadFileEx.
Fri Oct 24 15:36:02 1997 Doug Ridgway <ridgway@routh.ucsd.edu>
* [memory/local.c]
Local heap exhaustion message now prints which builtin heap filled.
Fri Oct 24 00:46:34 1997 Huw D M Davies <h.davies1@physics.oxford.ac.uk>
* [windows/dialog.c]
Reversed CreateFont16/32W typo.
Thu Oct 23 23:44:20 1997 Kristian Nielsen <kristian.nielsen@risoe.dk>
* [if1632/user.spec]
Fixed argument list for ChangeClipboardChain.
* [windows/mdi.c]
Pass correct hInstance to CreateWindow16() in MDICreateChild().
Mon Oct 20 11:51:24 1997 Carsten Fallesen <cf@it.dtu.dk>
* [objects/metafile.c]
Added support for META_SETTEXTCHAREXTRA.
* [objects/region.c]
Fixed crash in XPolygonRegion if there is only one point in
in the region.
* [if1632/gdi32.spec][include/gdi.h][include/windows.h]
[objects/gdiobj.c]
Completed OBJ_XXX defines in gdi.h, removed OBJ_XXX in gdiobj.c
and included gdi.h instead. Implemented GetObjectType32().
Thu Oct 16 17:21:32 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
* [documentation/wine.texinfo]
Fixed WIN32 and Makefiles entries of Reference manual node, that
made makeinfo dump core.
Mon Oct 13 17:15:57 1997 Robert Wilhelm <robert@physiol.med.tu-muenchen.de>
* [if1632/crtdll.spec]
Added missing math functions y0(), y1(), y2(), floor(), frexp(),
ldexp(), modf().
1997-11-01 20:08:16 +01:00
|
|
|
{
|
1999-02-19 17:29:05 +01:00
|
|
|
return GetSidLengthRequired( * GetSidSubAuthorityCount(pSid) );
|
1997-02-15 15:29:56 +01:00
|
|
|
}
|
|
|
|
|
1999-02-19 17:29:05 +01:00
|
|
|
/* ##############################################
|
|
|
|
###### SECURITY DESCRIPTOR FUNCTIONS ######
|
|
|
|
##############################################
|
|
|
|
*/
|
|
|
|
|
1999-01-30 13:54:32 +01:00
|
|
|
/******************************************************************************
|
|
|
|
* InitializeSecurityDescriptor [ADVAPI32.73]
|
|
|
|
*
|
|
|
|
* PARAMS
|
|
|
|
* pDescr []
|
|
|
|
* revision []
|
1997-10-12 18:30:17 +02:00
|
|
|
*/
|
1999-02-26 12:11:13 +01:00
|
|
|
BOOL WINAPI
|
1999-02-19 17:29:05 +01:00
|
|
|
InitializeSecurityDescriptor( SECURITY_DESCRIPTOR *pDescr, DWORD revision )
|
1997-10-12 18:30:17 +02:00
|
|
|
{
|
1999-02-19 17:29:05 +01:00
|
|
|
CallWin32ToNt (RtlCreateSecurityDescriptor(pDescr, revision ));
|
1997-10-12 18:30:17 +02:00
|
|
|
}
|
|
|
|
|
1999-01-30 13:54:32 +01:00
|
|
|
/******************************************************************************
|
|
|
|
* GetSecurityDescriptorLength [ADVAPI32.55]
|
1999-01-17 17:55:11 +01:00
|
|
|
*/
|
|
|
|
DWORD WINAPI GetSecurityDescriptorLength( SECURITY_DESCRIPTOR *pDescr)
|
|
|
|
{
|
1999-02-19 17:29:05 +01:00
|
|
|
return (RtlLengthSecurityDescriptor(pDescr));
|
1999-01-17 17:55:11 +01:00
|
|
|
}
|
|
|
|
|
1999-01-30 13:54:32 +01:00
|
|
|
/******************************************************************************
|
|
|
|
* GetSecurityDescriptorOwner [ADVAPI32.56]
|
|
|
|
*
|
|
|
|
* PARAMS
|
|
|
|
* pOwner []
|
|
|
|
* lpbOwnerDefaulted []
|
1999-01-26 11:11:22 +01:00
|
|
|
*/
|
1999-02-26 12:11:13 +01:00
|
|
|
BOOL WINAPI
|
1999-02-12 18:47:07 +01:00
|
|
|
GetSecurityDescriptorOwner( SECURITY_DESCRIPTOR *pDescr, PSID *pOwner,
|
1999-02-26 12:11:13 +01:00
|
|
|
LPBOOL lpbOwnerDefaulted )
|
1999-01-26 11:11:22 +01:00
|
|
|
{
|
1999-02-19 17:29:05 +01:00
|
|
|
CallWin32ToNt (RtlGetOwnerSecurityDescriptor( pDescr, pOwner, (PBOOLEAN)lpbOwnerDefaulted ));
|
1999-01-26 11:11:22 +01:00
|
|
|
}
|
1999-01-17 17:55:11 +01:00
|
|
|
|
1999-01-30 13:54:32 +01:00
|
|
|
/******************************************************************************
|
1999-02-19 17:29:05 +01:00
|
|
|
* SetSecurityDescriptorOwner [ADVAPI32]
|
1999-01-30 13:54:32 +01:00
|
|
|
*
|
|
|
|
* PARAMS
|
1999-01-26 11:11:22 +01:00
|
|
|
*/
|
1999-02-26 12:11:13 +01:00
|
|
|
BOOL SetSecurityDescriptorOwner( PSECURITY_DESCRIPTOR pSecurityDescriptor,
|
|
|
|
PSID pOwner, BOOL bOwnerDefaulted)
|
1999-02-19 17:29:05 +01:00
|
|
|
{
|
|
|
|
CallWin32ToNt (RtlSetOwnerSecurityDescriptor(pSecurityDescriptor, pOwner, bOwnerDefaulted));
|
|
|
|
}
|
|
|
|
/******************************************************************************
|
|
|
|
* GetSecurityDescriptorGroup [ADVAPI32.54]
|
|
|
|
*/
|
1999-02-26 12:11:13 +01:00
|
|
|
BOOL WINAPI GetSecurityDescriptorGroup(
|
1999-02-19 17:29:05 +01:00
|
|
|
PSECURITY_DESCRIPTOR SecurityDescriptor,
|
|
|
|
PSID *Group,
|
1999-02-26 12:11:13 +01:00
|
|
|
LPBOOL GroupDefaulted)
|
1999-02-19 17:29:05 +01:00
|
|
|
{
|
|
|
|
CallWin32ToNt (RtlGetGroupSecurityDescriptor(SecurityDescriptor, Group, (PBOOLEAN)GroupDefaulted));
|
|
|
|
}
|
|
|
|
/******************************************************************************
|
|
|
|
* SetSecurityDescriptorGroup
|
|
|
|
*/
|
1999-02-26 12:11:13 +01:00
|
|
|
BOOL WINAPI SetSecurityDescriptorGroup ( PSECURITY_DESCRIPTOR SecurityDescriptor,
|
|
|
|
PSID Group, BOOL GroupDefaulted)
|
1999-01-26 11:11:22 +01:00
|
|
|
{
|
1999-02-19 17:29:05 +01:00
|
|
|
CallWin32ToNt (RtlSetGroupSecurityDescriptor( SecurityDescriptor, Group, GroupDefaulted));
|
1999-01-26 11:11:22 +01:00
|
|
|
}
|
1997-10-12 18:30:17 +02:00
|
|
|
|
1999-01-30 13:54:32 +01:00
|
|
|
/******************************************************************************
|
1999-02-19 17:29:05 +01:00
|
|
|
* IsValidSecurityDescriptor [ADVAPI32.79]
|
1999-01-30 13:54:32 +01:00
|
|
|
*
|
|
|
|
* PARAMS
|
1999-02-19 17:29:05 +01:00
|
|
|
* lpsecdesc []
|
1997-02-15 15:29:56 +01:00
|
|
|
*/
|
1999-02-26 12:11:13 +01:00
|
|
|
BOOL WINAPI
|
1999-02-19 17:29:05 +01:00
|
|
|
IsValidSecurityDescriptor( PSECURITY_DESCRIPTOR SecurityDescriptor )
|
1997-08-24 18:00:30 +02:00
|
|
|
{
|
1999-02-19 17:29:05 +01:00
|
|
|
CallWin32ToNt (RtlValidSecurityDescriptor(SecurityDescriptor));
|
|
|
|
}
|
1997-02-15 15:29:56 +01:00
|
|
|
|
1999-02-19 17:29:05 +01:00
|
|
|
/******************************************************************************
|
|
|
|
* GetSecurityDescriptorDacl [ADVAPI.91]
|
|
|
|
*/
|
1999-02-26 12:11:13 +01:00
|
|
|
BOOL WINAPI GetSecurityDescriptorDacl(
|
1999-02-19 17:29:05 +01:00
|
|
|
IN PSECURITY_DESCRIPTOR pSecurityDescriptor,
|
1999-02-26 12:11:13 +01:00
|
|
|
OUT LPBOOL lpbDaclPresent,
|
1999-02-19 17:29:05 +01:00
|
|
|
OUT PACL *pDacl,
|
1999-02-26 12:11:13 +01:00
|
|
|
OUT LPBOOL lpbDaclDefaulted)
|
1999-02-19 17:29:05 +01:00
|
|
|
{
|
|
|
|
CallWin32ToNt (RtlGetDaclSecurityDescriptor(pSecurityDescriptor, (PBOOLEAN)lpbDaclPresent,
|
|
|
|
pDacl, (PBOOLEAN)lpbDaclDefaulted));
|
|
|
|
}
|
1997-02-15 15:29:56 +01:00
|
|
|
|
1999-02-19 17:29:05 +01:00
|
|
|
/******************************************************************************
|
|
|
|
* SetSecurityDescriptorDacl [ADVAPI.224]
|
|
|
|
*/
|
1999-02-26 12:11:13 +01:00
|
|
|
BOOL WINAPI
|
1999-03-09 18:43:44 +01:00
|
|
|
SetSecurityDescriptorDacl (
|
|
|
|
PSECURITY_DESCRIPTOR lpsd,
|
|
|
|
BOOL daclpresent,
|
|
|
|
PACL dacl,
|
|
|
|
BOOL dacldefaulted )
|
1999-02-19 17:29:05 +01:00
|
|
|
{
|
|
|
|
CallWin32ToNt (RtlSetDaclSecurityDescriptor (lpsd, daclpresent, dacl, dacldefaulted ));
|
1999-03-09 18:43:44 +01:00
|
|
|
}
|
|
|
|
/******************************************************************************
|
|
|
|
* GetSecurityDescriptorSacl [ADVAPI.]
|
|
|
|
*/
|
|
|
|
BOOL WINAPI GetSecurityDescriptorSacl(
|
|
|
|
IN PSECURITY_DESCRIPTOR lpsd,
|
|
|
|
OUT LPBOOL lpbSaclPresent,
|
|
|
|
OUT PACL *pSacl,
|
|
|
|
OUT LPBOOL lpbSaclDefaulted)
|
|
|
|
{
|
|
|
|
CallWin32ToNt (RtlGetSaclSecurityDescriptor(lpsd, (PBOOLEAN)lpbSaclPresent,
|
|
|
|
pSacl, (PBOOLEAN)lpbSaclDefaulted));
|
1999-02-19 17:29:05 +01:00
|
|
|
}
|
1999-03-09 18:43:44 +01:00
|
|
|
|
1999-02-19 17:29:05 +01:00
|
|
|
/**************************************************************************
|
|
|
|
* SetSecurityDescriptorSacl [NTDLL.488]
|
|
|
|
*/
|
1999-02-26 12:11:13 +01:00
|
|
|
BOOL WINAPI SetSecurityDescriptorSacl (
|
1999-02-19 17:29:05 +01:00
|
|
|
PSECURITY_DESCRIPTOR lpsd,
|
1999-02-26 12:11:13 +01:00
|
|
|
BOOL saclpresent,
|
1999-03-09 18:43:44 +01:00
|
|
|
PACL lpsacl,
|
1999-02-26 12:11:13 +01:00
|
|
|
BOOL sacldefaulted)
|
1999-02-19 17:29:05 +01:00
|
|
|
{
|
1999-03-09 18:43:44 +01:00
|
|
|
CallWin32ToNt (RtlSetSaclSecurityDescriptor(lpsd, saclpresent, lpsacl, sacldefaulted));
|
1997-02-15 15:29:56 +01:00
|
|
|
}
|
1999-01-28 14:46:25 +01:00
|
|
|
/******************************************************************************
|
1999-02-19 17:29:05 +01:00
|
|
|
* MakeSelfRelativeSD [ADVAPI32.95]
|
1999-01-28 14:46:25 +01:00
|
|
|
*
|
|
|
|
* PARAMS
|
1999-02-19 17:29:05 +01:00
|
|
|
* lpabssecdesc []
|
|
|
|
* lpselfsecdesc []
|
|
|
|
* lpbuflen []
|
1997-02-15 15:29:56 +01:00
|
|
|
*/
|
1999-02-26 12:11:13 +01:00
|
|
|
BOOL WINAPI
|
1999-02-19 17:29:05 +01:00
|
|
|
MakeSelfRelativeSD( PSECURITY_DESCRIPTOR lpabssecdesc,
|
|
|
|
PSECURITY_DESCRIPTOR lpselfsecdesc, LPDWORD lpbuflen )
|
1997-08-24 18:00:30 +02:00
|
|
|
{
|
1999-02-19 17:29:05 +01:00
|
|
|
FIXME(advapi,"(%p,%p,%p),stub!\n",lpabssecdesc,lpselfsecdesc,lpbuflen);
|
|
|
|
return TRUE;
|
1997-02-15 15:29:56 +01:00
|
|
|
}
|
|
|
|
|
1999-01-28 14:46:25 +01:00
|
|
|
/******************************************************************************
|
1999-02-19 17:29:05 +01:00
|
|
|
* GetSecurityDescriptorControl32 [ADVAPI32]
|
|
|
|
*/
|
|
|
|
|
1999-02-26 12:11:13 +01:00
|
|
|
BOOL GetSecurityDescriptorControl ( PSECURITY_DESCRIPTOR pSecurityDescriptor,
|
1999-02-19 17:29:05 +01:00
|
|
|
/* fixme: PSECURITY_DESCRIPTOR_CONTROL*/ LPVOID pControl, LPDWORD lpdwRevision)
|
|
|
|
{ FIXME(advapi,"(%p,%p,%p),stub!\n",pSecurityDescriptor,pControl,lpdwRevision);
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
/* ##############################
|
|
|
|
###### MISC FUNCTIONS ######
|
|
|
|
##############################
|
|
|
|
*/
|
|
|
|
|
|
|
|
/******************************************************************************
|
|
|
|
* LookupPrivilegeValue32W [ADVAPI32.93]
|
|
|
|
* Retrieves LUID used on a system to represent the privilege name.
|
|
|
|
*
|
|
|
|
* NOTES
|
|
|
|
* lpLuid should be PLUID
|
1999-01-28 14:46:25 +01:00
|
|
|
*
|
|
|
|
* PARAMS
|
1999-02-19 17:29:05 +01:00
|
|
|
* lpSystemName [I] Address of string specifying the system
|
|
|
|
* lpName [I] Address of string specifying the privilege
|
|
|
|
* lpLuid [I] Address of locally unique identifier
|
|
|
|
*
|
|
|
|
* RETURNS STD
|
1997-02-15 15:29:56 +01:00
|
|
|
*/
|
1999-02-26 12:11:13 +01:00
|
|
|
BOOL WINAPI
|
|
|
|
LookupPrivilegeValueW( LPCWSTR lpSystemName, LPCWSTR lpName, LPVOID lpLuid )
|
1997-08-24 18:00:30 +02:00
|
|
|
{
|
1999-02-19 17:29:05 +01:00
|
|
|
FIXME(advapi,"(%s,%s,%p): stub\n",debugstr_w(lpSystemName),
|
|
|
|
debugstr_w(lpName), lpLuid);
|
|
|
|
return TRUE;
|
1997-02-15 15:29:56 +01:00
|
|
|
}
|
|
|
|
|
1999-01-28 14:46:25 +01:00
|
|
|
/******************************************************************************
|
1999-02-19 17:29:05 +01:00
|
|
|
* LookupPrivilegeValue32A [ADVAPI32.92]
|
1997-02-15 15:29:56 +01:00
|
|
|
*/
|
1999-02-26 12:11:13 +01:00
|
|
|
BOOL WINAPI
|
|
|
|
LookupPrivilegeValueA( LPCSTR lpSystemName, LPCSTR lpName, LPVOID lpLuid )
|
1997-08-24 18:00:30 +02:00
|
|
|
{
|
1999-02-19 17:29:05 +01:00
|
|
|
LPWSTR lpSystemNameW = HEAP_strdupAtoW(GetProcessHeap(), 0, lpSystemName);
|
|
|
|
LPWSTR lpNameW = HEAP_strdupAtoW(GetProcessHeap(), 0, lpName);
|
1999-02-26 12:11:13 +01:00
|
|
|
BOOL ret = LookupPrivilegeValueW( lpSystemNameW, lpNameW, lpLuid);
|
1999-02-19 17:29:05 +01:00
|
|
|
HeapFree(GetProcessHeap(), 0, lpNameW);
|
|
|
|
HeapFree(GetProcessHeap(), 0, lpSystemNameW);
|
|
|
|
return ret;
|
1997-02-15 15:29:56 +01:00
|
|
|
}
|
|
|
|
|
1999-01-28 14:46:25 +01:00
|
|
|
/******************************************************************************
|
1999-02-19 17:29:05 +01:00
|
|
|
* GetFileSecurity32A [ADVAPI32.45]
|
1999-01-28 14:46:25 +01:00
|
|
|
*
|
1999-02-19 17:29:05 +01:00
|
|
|
* Obtains Specified information about the security of a file or directory
|
|
|
|
* The information obtained is constrained by the callers access rights and
|
|
|
|
* privileges
|
1997-02-15 15:29:56 +01:00
|
|
|
*/
|
1999-02-26 12:11:13 +01:00
|
|
|
BOOL WINAPI
|
|
|
|
GetFileSecurityA( LPCSTR lpFileName,
|
1999-02-19 17:29:05 +01:00
|
|
|
SECURITY_INFORMATION RequestedInformation,
|
|
|
|
PSECURITY_DESCRIPTOR pSecurityDescriptor,
|
|
|
|
DWORD nLength, LPDWORD lpnLengthNeeded )
|
1997-08-24 18:00:30 +02:00
|
|
|
{
|
1999-02-19 17:29:05 +01:00
|
|
|
FIXME(advapi, "(%s) : stub\n", debugstr_a(lpFileName));
|
|
|
|
return TRUE;
|
1997-02-15 15:29:56 +01:00
|
|
|
}
|
|
|
|
|
1999-01-03 13:48:29 +01:00
|
|
|
/******************************************************************************
|
1999-02-19 17:29:05 +01:00
|
|
|
* GetFileSecurity32W [ADVAPI32.46]
|
|
|
|
*
|
|
|
|
* Obtains Specified information about the security of a file or directory
|
|
|
|
* The information obtained is constrained by the callers access rights and
|
|
|
|
* privileges
|
1999-01-28 14:46:25 +01:00
|
|
|
*
|
|
|
|
* PARAMS
|
1999-02-19 17:29:05 +01:00
|
|
|
* lpFileName []
|
|
|
|
* RequestedInformation []
|
|
|
|
* pSecurityDescriptor []
|
|
|
|
* nLength []
|
|
|
|
* lpnLengthNeeded []
|
1997-02-15 15:29:56 +01:00
|
|
|
*/
|
1999-02-26 12:11:13 +01:00
|
|
|
BOOL WINAPI
|
|
|
|
GetFileSecurityW( LPCWSTR lpFileName,
|
1999-02-19 17:29:05 +01:00
|
|
|
SECURITY_INFORMATION RequestedInformation,
|
|
|
|
PSECURITY_DESCRIPTOR pSecurityDescriptor,
|
|
|
|
DWORD nLength, LPDWORD lpnLengthNeeded )
|
1999-01-28 14:46:25 +01:00
|
|
|
{
|
1999-02-19 17:29:05 +01:00
|
|
|
FIXME(advapi, "(%s) : stub\n", debugstr_w(lpFileName) );
|
|
|
|
return TRUE;
|
1997-02-15 15:29:56 +01:00
|
|
|
}
|
1997-11-30 18:45:40 +01:00
|
|
|
|
1999-02-19 17:29:05 +01:00
|
|
|
|
1999-01-28 14:46:25 +01:00
|
|
|
/******************************************************************************
|
|
|
|
* LookupAccountSid32A [ADVAPI32.86]
|
1997-11-30 18:45:40 +01:00
|
|
|
*/
|
1999-02-26 12:11:13 +01:00
|
|
|
BOOL WINAPI
|
|
|
|
LookupAccountSidA( LPCSTR system, PSID sid, LPCSTR account,
|
1999-01-28 14:46:25 +01:00
|
|
|
LPDWORD accountSize, LPCSTR domain, LPDWORD domainSize,
|
|
|
|
PSID_NAME_USE name_use )
|
1997-11-30 18:45:40 +01:00
|
|
|
{
|
1998-03-29 21:44:57 +02:00
|
|
|
FIXME(security,"(%s,%p,%p,%p,%p,%p,%p): stub\n",
|
|
|
|
system,sid,account,accountSize,domain,domainSize,name_use);
|
1997-11-30 18:45:40 +01:00
|
|
|
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
|
|
|
return FALSE;
|
|
|
|
}
|
|
|
|
|
1999-01-28 14:46:25 +01:00
|
|
|
/******************************************************************************
|
|
|
|
* LookupAccountSid32W [ADVAPI32.87]
|
|
|
|
*
|
|
|
|
* PARAMS
|
|
|
|
* system []
|
|
|
|
* sid []
|
|
|
|
* account []
|
|
|
|
* accountSize []
|
|
|
|
* domain []
|
|
|
|
* domainSize []
|
|
|
|
* name_use []
|
|
|
|
*/
|
1999-02-26 12:11:13 +01:00
|
|
|
BOOL WINAPI
|
|
|
|
LookupAccountSidW( LPCWSTR system, PSID sid, LPCWSTR account,
|
1999-01-28 14:46:25 +01:00
|
|
|
LPDWORD accountSize, LPCWSTR domain, LPDWORD domainSize,
|
|
|
|
PSID_NAME_USE name_use )
|
1997-11-30 18:45:40 +01:00
|
|
|
{
|
1998-03-29 21:44:57 +02:00
|
|
|
FIXME(security,"(%p,%p,%p,%p,%p,%p,%p): stub\n",
|
|
|
|
system,sid,account,accountSize,domain,domainSize,name_use);
|
1997-11-30 18:45:40 +01:00
|
|
|
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
|
|
|
return FALSE;
|
|
|
|
}
|
|
|
|
|
1999-01-03 13:48:29 +01:00
|
|
|
/******************************************************************************
|
1999-01-28 14:46:25 +01:00
|
|
|
* SetFileSecurity32A [ADVAPI32.182]
|
1999-01-03 13:48:29 +01:00
|
|
|
* Sets the security of a file or directory
|
|
|
|
*/
|
1999-02-26 12:11:13 +01:00
|
|
|
BOOL WINAPI SetFileSecurityA( LPCSTR lpFileName,
|
1999-01-03 13:48:29 +01:00
|
|
|
SECURITY_INFORMATION RequestedInformation,
|
1999-02-12 18:47:07 +01:00
|
|
|
PSECURITY_DESCRIPTOR pSecurityDescriptor)
|
1999-01-03 13:48:29 +01:00
|
|
|
{
|
|
|
|
FIXME(advapi, "(%s) : stub\n", debugstr_a(lpFileName));
|
|
|
|
return TRUE;
|
|
|
|
}
|
|
|
|
|
|
|
|
/******************************************************************************
|
1999-01-28 14:46:25 +01:00
|
|
|
* SetFileSecurity32W [ADVAPI32.183]
|
1999-01-03 13:48:29 +01:00
|
|
|
* Sets the security of a file or directory
|
1999-01-28 14:46:25 +01:00
|
|
|
*
|
|
|
|
* PARAMS
|
|
|
|
* lpFileName []
|
|
|
|
* RequestedInformation []
|
|
|
|
* pSecurityDescriptor []
|
|
|
|
*/
|
1999-02-26 12:11:13 +01:00
|
|
|
BOOL WINAPI
|
|
|
|
SetFileSecurityW( LPCWSTR lpFileName,
|
1999-01-28 14:46:25 +01:00
|
|
|
SECURITY_INFORMATION RequestedInformation,
|
1999-02-12 18:47:07 +01:00
|
|
|
PSECURITY_DESCRIPTOR pSecurityDescriptor )
|
1999-01-03 13:48:29 +01:00
|
|
|
{
|
|
|
|
FIXME(advapi, "(%s) : stub\n", debugstr_w(lpFileName) );
|
|
|
|
return TRUE;
|
|
|
|
}
|
1999-01-28 14:46:25 +01:00
|
|
|
|
1999-01-03 13:48:29 +01:00
|
|
|
/******************************************************************************
|
1999-01-28 14:46:25 +01:00
|
|
|
* QueryWindows31FilesMigration [ADVAPI32.266]
|
|
|
|
*
|
|
|
|
* PARAMS
|
|
|
|
* x1 []
|
1999-01-03 13:48:29 +01:00
|
|
|
*/
|
1999-02-26 12:11:13 +01:00
|
|
|
BOOL WINAPI
|
1999-01-28 14:46:25 +01:00
|
|
|
QueryWindows31FilesMigration( DWORD x1 )
|
|
|
|
{
|
|
|
|
FIXME(advapi,"(%ld):stub\n",x1);
|
1999-01-03 13:48:29 +01:00
|
|
|
return TRUE;
|
|
|
|
}
|
|
|
|
|
|
|
|
/******************************************************************************
|
1999-01-28 14:46:25 +01:00
|
|
|
* SynchronizeWindows31FilesAndWindowsNTRegistry [ADVAPI32.265]
|
|
|
|
*
|
|
|
|
* PARAMS
|
|
|
|
* x1 []
|
|
|
|
* x2 []
|
|
|
|
* x3 []
|
|
|
|
* x4 []
|
|
|
|
*/
|
1999-02-26 12:11:13 +01:00
|
|
|
BOOL WINAPI
|
1999-01-28 14:46:25 +01:00
|
|
|
SynchronizeWindows31FilesAndWindowsNTRegistry( DWORD x1, DWORD x2, DWORD x3,
|
|
|
|
DWORD x4 )
|
|
|
|
{
|
|
|
|
FIXME(advapi,"(0x%08lx,0x%08lx,0x%08lx,0x%08lx):stub\n",x1,x2,x3,x4);
|
1999-01-03 13:48:29 +01:00
|
|
|
return TRUE;
|
|
|
|
}
|
|
|
|
|
|
|
|
/******************************************************************************
|
1999-01-28 14:46:25 +01:00
|
|
|
* LsaOpenPolicy [ADVAPI32.200]
|
|
|
|
*
|
|
|
|
* PARAMS
|
|
|
|
* x1 []
|
|
|
|
* x2 []
|
|
|
|
* x3 []
|
|
|
|
* x4 []
|
1999-01-03 13:48:29 +01:00
|
|
|
*/
|
1999-02-26 12:11:13 +01:00
|
|
|
BOOL WINAPI
|
1999-01-28 14:46:25 +01:00
|
|
|
LsaOpenPolicy( DWORD x1, DWORD x2, DWORD x3, DWORD x4 )
|
|
|
|
{
|
|
|
|
FIXME(advapi,"(0x%08lx,0x%08lx,0x%08lx,0x%08lx):stub\n",x1,x2,x3,x4);
|
1999-01-03 13:48:29 +01:00
|
|
|
return 0xc0000000; /* generic error */
|
|
|
|
}
|
|
|
|
|
|
|
|
/******************************************************************************
|
1999-01-28 14:46:25 +01:00
|
|
|
* NotifyBootConfigStatus [ADVAPI32.97]
|
|
|
|
*
|
|
|
|
* PARAMS
|
|
|
|
* x1 []
|
1999-01-03 13:48:29 +01:00
|
|
|
*/
|
1999-02-26 12:11:13 +01:00
|
|
|
BOOL WINAPI
|
1999-01-28 14:46:25 +01:00
|
|
|
NotifyBootConfigStatus( DWORD x1 )
|
|
|
|
{
|
|
|
|
FIXME(advapi,"(0x%08lx):stub\n",x1);
|
1999-01-03 13:48:29 +01:00
|
|
|
return 1;
|
|
|
|
}
|
1999-01-26 11:11:22 +01:00
|
|
|
|
|
|
|
/******************************************************************************
|
1999-01-30 13:54:32 +01:00
|
|
|
* RevertToSelf [ADVAPI32.180]
|
|
|
|
*
|
|
|
|
* PARAMS
|
|
|
|
* void []
|
1999-01-26 11:11:22 +01:00
|
|
|
*/
|
1999-02-26 12:11:13 +01:00
|
|
|
BOOL WINAPI
|
1999-01-30 13:54:32 +01:00
|
|
|
RevertToSelf( void )
|
|
|
|
{
|
1999-01-26 11:11:22 +01:00
|
|
|
FIXME(advapi,"(), stub\n");
|
|
|
|
return TRUE;
|
|
|
|
}
|
1999-02-10 07:39:51 +01:00
|
|
|
|
|
|
|
/******************************************************************************
|
|
|
|
* ImpersonateSelf [ADVAPI32.71]
|
|
|
|
*/
|
1999-02-26 12:11:13 +01:00
|
|
|
BOOL WINAPI
|
|
|
|
ImpersonateSelf(DWORD/*SECURITY_IMPERSONATION_LEVEL*/ ImpersonationLevel)
|
1999-02-10 07:39:51 +01:00
|
|
|
{
|
|
|
|
FIXME(advapi, "(%08lx), stub\n", ImpersonationLevel);
|
|
|
|
return TRUE;
|
|
|
|
}
|
|
|
|
|
1999-02-19 17:29:05 +01:00
|
|
|
/******************************************************************************
|
|
|
|
* AccessCheck32 [ADVAPI32.71]
|
|
|
|
*/
|
1999-02-26 12:11:13 +01:00
|
|
|
BOOL WINAPI
|
|
|
|
AccessCheck(PSECURITY_DESCRIPTOR pSecurityDescriptor, HANDLE ClientToken, DWORD DesiredAccess, LPVOID/*LPGENERIC_MAPPING*/ GenericMapping, LPVOID/*LPPRIVILEGE_SET*/ PrivilegeSet, LPDWORD PrivilegeSetLength, LPDWORD GrantedAccess, LPBOOL AccessStatus)
|
1999-02-10 07:39:51 +01:00
|
|
|
{
|
|
|
|
FIXME(advapi, "(%p, %04x, %08lx, %p, %p, %p, %p, %p), stub\n", pSecurityDescriptor, ClientToken, DesiredAccess, GenericMapping, PrivilegeSet, PrivilegeSetLength, GrantedAccess, AccessStatus);
|
|
|
|
*AccessStatus = TRUE;
|
|
|
|
return TRUE;
|
|
|
|
}
|