added skeleton for acledit.dll

svn path=/trunk/; revision=10056
This commit is contained in:
Thomas Bluemel 2004-07-09 20:18:49 +00:00
parent 91995ef4ed
commit 549b154510
12 changed files with 451 additions and 3 deletions

View file

@ -1,4 +1,4 @@
# $Id: Makefile,v 1.233 2004/07/02 08:06:46 arty Exp $
# $Id: Makefile,v 1.234 2004/07/09 20:18:48 weiden Exp $
#
# Global makefile
#
@ -44,7 +44,7 @@ DLLS_CPL = cpl
# advapi32 cards crtdll comdlg32 fmifs gdi32 imagehlp kernel32 libpcap packet msafd msvcrt ntdll
# epsapi psapi richedit rpcrt4 secur32 user32 version ws2help ws2_32 wsock32 wshirda mswsock
# imagehlp imm32
DLLS = advapi32 cabinet cards comctl32 crtdll comdlg32 d3d8thk expat fmifs freetype gdi32 \
DLLS = acledit advapi32 cabinet cards comctl32 crtdll comdlg32 d3d8thk expat fmifs freetype gdi32 \
imm32 iphlpapi kernel32 lzexpand mpr msafd msgina msimg32 msvcrt msvcrt20 mswsock \
netapi32 ntdll ole32 oleaut32 oledlg packet psapi richedit rpcrt4 samlib secur32 \
setupapi shell32 shlwapi snmpapi syssetup twain unicode user32 userenv version wininet \

View file

@ -1,10 +1,11 @@
# $Id: baseaddress.cfg,v 1.16 2004/05/29 21:24:42 hbirr Exp $
# $Id: baseaddress.cfg,v 1.17 2004/07/09 20:18:49 weiden Exp $
#
# Please try to keep this up2date. Please clean up
# after yourself.
# REACTOS
TARGET_BASE_LIB_ACLEDIT =0x71b70000
TARGET_BASE_LIB_ADVAPI32 =0x77dc0000
TARGET_BASE_LIB_CABINET =0x75120000
TARGET_BASE_LIB_CARDS =0x701a0000

136
reactos/include/acledit.h Normal file
View file

@ -0,0 +1,136 @@
/*
* acledit.h
*
* Access Control List Editor definitions
*
* THIS SOFTWARE IS NOT COPYRIGHTED
*
* This source code is offered for use in the public domain. You may
* use, modify or distribute it freely.
*
* This code is distributed in the hope that it will be useful but
* WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
* DISCLAIMED. This includes but is not limited to warranties of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
*
*/
#ifndef __ACLEDIT_H
#define __ACLEDIT_H
#include <windows.h>
typedef struct _ACL_HELP_CONTROL
{
LPWSTR lpHelpFile;
DWORD dwMainDialogTopic;
DWORD dwACLEditorDialogTopic;
DWORD Reserved1;
DWORD dwAddEntryDialogTopic;
DWORD Reserved2;
DWORD Reserved3;
DWORD dwAccountDialogTopic;
} ACL_HELP_CONTROL, *PACL_HELP_CONTROL;
typedef struct _ACL_DLG_CONTROL
{
UCHAR ucVersion;
BOOL bIsContainer;
BOOL bAllowNewObject;
BOOL bMapSpecificToGeneric;
LPDWORD lpdwGenericAccessMap;
LPDWORD lpdwGenericMappingNewObjects;
LPWSTR lpDialogTitle;
PACL_HELP_CONTROL pHelpInfo;
LPWSTR lpSubReplaceTitle;
LPWSTR lpSubReplaceObjectsTitle;
LPWSTR lpSubReplaceConfirmation;
LPWSTR lpSpecialAccess;
LPWSTR lpSpecialNewAccess;
} ACL_DLG_CONTROL, *PACL_DLG_CONTROL;
typedef struct _ACL_EDIT_ENTRY{
DWORD dwType;
DWORD dwAccessMask;
DWORD dwAccessMask1;
LPWSTR lpName;
} ACL_EDIT_ENTRY, *PACL_EDIT_ENTRY;
typedef struct _ACL_EDIT_CONTROL
{
DWORD dwNumberOfEntries;
PACL_EDIT_ENTRY pEntries;
LPWSTR lpDefaultPermissionName;
} ACL_EDIT_CONTROL, *PACL_EDIT_CONTROL;
typedef DWORD (CALLBACK *PACL_CHANGE)(HWND hWnd,
HINSTANCE hInstance,
PVOID pCallbackContext,
PSECURITY_DESCRIPTOR pNewSD,
PSECURITY_DESCRIPTOR pNewObjectSD,
BOOL bApplyToSubContainers,
BOOL bApplyToSubObjects,
LPDWORD lpdwChangeContextStatus);
DWORD WINAPI
EditAuditInfo(DWORD Unknown);
DWORD WINAPI
EditOwnerInfo(DWORD Unknown);
DWORD WINAPI
EditPermissionInfo(DWORD Unknown);
LONG WINAPI
FMExtensionProcW(HWND hWnd,
WORD wEvent,
LONG lParam);
DWORD WINAPI
SedDiscretionaryAclEditor(HWND hWndOwner,
HINSTANCE hInstance,
LPCWSTR lpMachineName,
PACL_DLG_CONTROL pAclDlgControl,
PACL_EDIT_CONTROL pAclEditControl,
LPCWSTR lpObjectName,
PACL_CHANGE pChangeCallback,
PVOID pChangeCallbackContext,
PSECURITY_DESCRIPTOR pObjectSecurity,
BOOL bNoReadPermission,
BOOL bReadOnly,
LPDWORD lpdwChangeContextStatus,
DWORD Reserved);
DWORD WINAPI
SedTakeOwnership(HWND hWndOwner,
HINSTANCE hInstance,
LPCWSTR lpMachineName,
LPCWSTR lpObjectType,
LPCWSTR lpObjectName,
DWORD dwObjectCount,
PACL_CHANGE pChangeCallback,
PVOID pChangeCallbackContext,
PSECURITY_DESCRIPTOR pObjectSecurity,
BOOL NoReadPermission,
BOOL NoOwnerChange,
LPDWORD lpdwChangeContextStatus,
PACL_HELP_CONTROL pHelpInfo,
DWORD Reserved);
DWORD WINAPI
SedSystemAclEditor(HWND hWndOwner,
HINSTANCE hInstance,
LPCWSTR lpMachineName,
PACL_DLG_CONTROL pAclDlgControl,
PACL_EDIT_CONTROL pAclEditControl,
LPCWSTR lpObjectName,
PACL_CHANGE pChangeCallback,
PVOID pChangeCallbackContext,
PSECURITY_DESCRIPTOR pObjectSecurity,
BOOL bNoReadPermission,
LPDWORD lpdwChangeContextStatus,
DWORD Reserved);
#endif /* __ACLEDIT_H */
/* EOF */

View file

@ -0,0 +1,8 @@
*.coff
*.dll
*.d
*.a
*.o
*.sym
*.map
*.tmp

View file

@ -0,0 +1,45 @@
# $Id: Makefile,v 1.1 2004/07/09 20:18:49 weiden Exp $
PATH_TO_TOP = ../..
TARGET_TYPE = dynlink
TARGET_NAME = acledit
TARGET_INSTALLDIR = system32
TARGET_BASE = $(TARGET_BASE_LIB_ACLEDIT)
TARGET_CFLAGS = \
-I./include \
-DUNICODE \
-D_UNICODE \
-D__REACTOS__ \
-Wall \
-Werror \
-fno-builtin
TARGET_LFLAGS = -nostartfiles -nostdlib
TARGET_SDKLIBS = ntdll.a kernel32.a advapi32.a user32.a
TARGET_GCCLIBS = gcc
TARGET_PCH =
TARGET_CLEAN =
TARGET_OBJECTS = acledit.o stubs.o
DEP_OBJECTS = $(TARGET_OBJECTS)
include $(PATH_TO_TOP)/rules.mak
include $(TOOLS_PATH)/helper.mk
include $(TOOLS_PATH)/depend.mk
%/TAGS:
etags -o $(@D)/TAGS $(@D)/\*.c
etags: ./TAGS

View file

@ -0,0 +1,60 @@
/*
* ReactOS kernel
* Copyright (C) 2004 ReactOS Team
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
/* $Id: acledit.c,v 1.1 2004/07/09 20:18:49 weiden Exp $
*
* PROJECT: ReactOS Access Control List Editor
* FILE: lib/acledit/acledit.c
* PURPOSE: Access Control List Editor
* PROGRAMMER: Thomas Weidenmueller (w3seek@users.sourceforge.net)
*
* Based on guess work and on this nice article:
* http://www.sysinternals.com/ntw2k/info/acledit.shtml
*
* UPDATE HISTORY:
* 07/09/2004 Created
*/
#include <windows.h>
#include <acledit.h>
#include "acleditint.h"
#include "resource.h"
extern HINSTANCE hDllInstance;
BOOL STDCALL
DllMain(
HINSTANCE hinstDLL,
DWORD dwReason,
LPVOID lpvReserved)
{
switch (dwReason)
{
case DLL_PROCESS_ATTACH:
hDllInstance = hinstDLL;
break;
case DLL_THREAD_ATTACH:
break;
case DLL_THREAD_DETACH:
break;
case DLL_PROCESS_DETACH:
break;
}
return TRUE;
}

View file

@ -0,0 +1,12 @@
LIBRARY acledit.dll
EXPORTS
EditAuditInfo@4
EditOwnerInfo@4
EditPermissionInfo@4
FMExtensionProcW@12
SedDiscretionaryAclEditor@52
SedSystemAclEditor@48
SedTakeOwnership@56
; EOF

View file

@ -0,0 +1,12 @@
LIBRARY acledit.dll
EXPORTS
EditAuditInfo=EditAuditInfo@4
EditOwnerInfo=EditOwnerInfo@4
EditPermissionInfo=EditPermissionInfo@4
FMExtensionProcW=FMExtensionProcW@12
SedDiscretionaryAclEditor=SedDiscretionaryAclEditor@52
SedSystemAclEditor=SedSystemAclEditor@48
SedTakeOwnership=SedTakeOwnership@56
; EOF

View file

@ -0,0 +1,40 @@
#include <reactos/resource.h>
#include <defines.h>
#include "resource.h"
LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT
VS_VERSION_INFO VERSIONINFO
FILEVERSION RES_UINT_FV_MAJOR,RES_UINT_FV_MINOR,RES_UINT_FV_REVISION,RES_UINT_FV_BUILD
PRODUCTVERSION RES_UINT_PV_MAJOR,RES_UINT_PV_MINOR,RES_UINT_PV_REVISION,RES_UINT_PV_BUILD
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
#else
FILEFLAGS 0x0L
#endif
FILEOS 0x40004L
FILETYPE 0x2L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904b0"
BEGIN
VALUE "CompanyName", RES_STR_COMPANY_NAME
VALUE "FileDescription", "ReactOS Access Control Editor\0"
VALUE "FileVersion", RES_STR_FILE_VERSION
VALUE "InternalName", "acledit\0"
VALUE "LegalCopyright", RES_STR_LEGAL_COPYRIGHT
VALUE "OriginalFilename", "acledit.dll\0"
VALUE "ProductName", RES_STR_PRODUCT_NAME
VALUE "ProductVersion", RES_STR_PRODUCT_VERSION
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1200
END
END

View file

@ -0,0 +1,8 @@
#ifndef __ACLEDITINT_H
#define __ACLEDITINT_H
HINSTANCE hDllInstance;
#endif /* __ACLEDITINT_H */
/* EOF */

View file

@ -0,0 +1,8 @@
#ifndef __DEVMGR_RESOURCE_H
#define __DEVMGR_RESOURCE_H
#define IDI_DEVMGR 100
#endif /* __DEVMGR_RESOURCE_H */
/* EOF */

118
reactos/lib/acledit/stubs.c Normal file
View file

@ -0,0 +1,118 @@
/* $Id: stubs.c,v 1.1 2004/07/09 20:18:49 weiden Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Access Control List Editor
* FILE: lib/acledit/stubs.c
* PURPOSE: acledit.dll stubs
* PROGRAMMER: Thomas Weidenmueller <w3seek@reactos.com>
* NOTES: If you implement a function, remove it from this file
*
* Based on guess work and on this nice article:
* http://www.sysinternals.com/ntw2k/info/acledit.shtml
*
* UPDATE HISTORY:
* 07/09/2004 Created
*/
#include <windows.h>
#include <acledit.h>
#include "acleditint.h"
#define UNIMPLEMENTED \
DbgPrint("ACLEDIT: %s at %s:%d is UNIMPLEMENTED!\n",__FUNCTION__,__FILE__,__LINE__)
DWORD
WINAPI
EditAuditInfo(DWORD Unknown)
{
UNIMPLEMENTED;
return 0;
}
DWORD
WINAPI
EditOwnerInfo(DWORD Unknown)
{
UNIMPLEMENTED;
return 0;
}
DWORD
WINAPI
EditPermissionInfo(DWORD Unknown)
{
UNIMPLEMENTED;
return 0;
}
LONG
WINAPI
FMExtensionProcW(HWND hWnd,
WORD wEvent,
LONG lParam)
{
UNIMPLEMENTED;
return 0;
}
DWORD
WINAPI
SedDiscretionaryAclEditor(HWND hWndOwner,
HINSTANCE hInstance,
LPCWSTR lpMachineName,
PACL_DLG_CONTROL pAclDlgControl,
PACL_EDIT_CONTROL pAclEditControl,
LPCWSTR lpObjectName,
PACL_CHANGE pChangeCallback,
PVOID pChangeCallbackContext,
PSECURITY_DESCRIPTOR pObjectSecurity,
BOOL bNoReadPermission,
BOOL bReadOnly,
LPDWORD lpdwChangeContextStatus,
DWORD Reserved)
{
UNIMPLEMENTED;
return 0;
}
DWORD
WINAPI
SedTakeOwnership(HWND hWndOwner,
HINSTANCE hInstance,
LPCWSTR lpMachineName,
LPCWSTR lpObjectType,
LPCWSTR lpObjectName,
DWORD dwObjectCount,
PACL_CHANGE pChangeCallback,
PVOID pChangeCallbackContext,
PSECURITY_DESCRIPTOR pObjectSecurity,
BOOL NoReadPermission,
BOOL NoOwnerChange,
LPDWORD lpdwChangeContextStatus,
PACL_HELP_CONTROL pHelpInfo,
DWORD Reserved)
{
UNIMPLEMENTED;
return 0;
}
DWORD
WINAPI
SedSystemAclEditor(HWND hWndOwner,
HINSTANCE hInstance,
LPCWSTR lpMachineName,
PACL_DLG_CONTROL pAclDlgControl,
PACL_EDIT_CONTROL pAclEditControl,
LPCWSTR lpObjectName,
PACL_CHANGE pChangeCallback,
PVOID pChangeCallbackContext,
PSECURITY_DESCRIPTOR pObjectSecurity,
BOOL bNoReadPermission,
LPDWORD lpdwChangeContextStatus,
DWORD Reserved)
{
UNIMPLEMENTED;
return 0;
}
/* EOF */