From 47d9dbb64790e3cce4e5f945850665fcea086b05 Mon Sep 17 00:00:00 2001 From: Dmitry Chapyshev Date: Fri, 30 Jan 2009 08:51:45 +0000 Subject: [PATCH] - Add activeds from Wine svn path=/trunk/; revision=39208 --- reactos/baseaddress.rbuild | 1 + reactos/boot/bootdata/packages/reactos.dff | 2 + reactos/dll/win32/activeds/activeds.rbuild | 11 +++ reactos/dll/win32/activeds/activeds.spec | 28 ++++++ reactos/dll/win32/activeds/activeds_main.c | 104 +++++++++++++++++++++ reactos/dll/win32/win32.rbuild | 3 + 6 files changed, 149 insertions(+) create mode 100644 reactos/dll/win32/activeds/activeds.rbuild create mode 100644 reactos/dll/win32/activeds/activeds.spec create mode 100644 reactos/dll/win32/activeds/activeds_main.c diff --git a/reactos/baseaddress.rbuild b/reactos/baseaddress.rbuild index 81666098901..b775e453572 100644 --- a/reactos/baseaddress.rbuild +++ b/reactos/baseaddress.rbuild @@ -192,6 +192,7 @@ + diff --git a/reactos/boot/bootdata/packages/reactos.dff b/reactos/boot/bootdata/packages/reactos.dff index f63048d4bea..6291bd4524f 100644 --- a/reactos/boot/bootdata/packages/reactos.dff +++ b/reactos/boot/bootdata/packages/reactos.dff @@ -124,6 +124,7 @@ dll\cpl\mmsys\mmsys.cpl 1 dll\cpl\ncpa\ncpa.cpl 1 dll\cpl\powercfg\powercfg.cpl 1 dll\cpl\sysdm\sysdm.cpl 1 +;dll\cpl\telephon\telephon.cpl 1 dll\cpl\timedate\timedate.cpl 1 dll\cpl\input\input.dll 1 dll\cpl\joy\joy.cpl 1 @@ -230,6 +231,7 @@ dll\ntdll\ntdll.dll 1 dll\win32\acledit\acledit.dll 1 dll\win32\aclui\aclui.dll 1 +dll\win32\activeds\activeds.dll 1 dll\win32\advapi32\advapi32.dll 1 dll\win32\advpack\advpack.dll 1 dll\win32\atl\atl.dll 1 diff --git a/reactos/dll/win32/activeds/activeds.rbuild b/reactos/dll/win32/activeds/activeds.rbuild new file mode 100644 index 00000000000..c35eba65d33 --- /dev/null +++ b/reactos/dll/win32/activeds/activeds.rbuild @@ -0,0 +1,11 @@ + + + + . + include/reactos/wine + + kernel32 + wine + activeds_main.c + + diff --git a/reactos/dll/win32/activeds/activeds.spec b/reactos/dll/win32/activeds/activeds.spec new file mode 100644 index 00000000000..63625d5d022 --- /dev/null +++ b/reactos/dll/win32/activeds/activeds.spec @@ -0,0 +1,28 @@ +3 stdcall ADsGetObject(wstr ptr ptr) +4 stdcall ADsBuildEnumerator(ptr ptr) +5 stub ADsFreeEnumerator +6 stdcall ADsEnumerateNext(ptr long ptr ptr) +7 stub ADsBuildVarArrayStr +8 stub ADsBuildVarArrayInt +9 stdcall ADsOpenObject(wstr wstr wstr long ptr ptr) +12 stub ADsSetLastError +13 stub ADsGetLastError +14 stub AllocADsMem +15 stdcall FreeADsMem(ptr) +16 stub ReallocADsMem +17 stub AllocADsStr +18 stub FreeADsStr +19 stub ReallocADsStr +20 stub ADsEncodeBinaryData +21 stub PropVariantToAdsType +22 stub AdsTypeToPropVariant +23 stub AdsFreeAdsValues +24 stub ADsDecodeBinaryData +25 stub AdsTypeToPropVariant2 +26 stub PropVariantToAdsType2 +27 stub ConvertSecDescriptorToVariant +28 stub ConvertSecurityDescriptorToSecDes +#@ stub DllCanUnloadNow +#@ stub DllGetClassObject +#@ stub DllRegisterServer +#@ stub DllUnregisterServer diff --git a/reactos/dll/win32/activeds/activeds_main.c b/reactos/dll/win32/activeds/activeds_main.c new file mode 100644 index 00000000000..9c03ac16d68 --- /dev/null +++ b/reactos/dll/win32/activeds/activeds_main.c @@ -0,0 +1,104 @@ +/* + * Implementation of the Active Directory Service Interface + * + * Copyright 2005 Detlef Riekenberg + * + * This file contains only stubs to get the printui.dll up and running + * activeds.dll is much much more than this + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include + +#define COBJMACROS +#define NONAMELESSUNION + +#include "windef.h" +#include "winbase.h" +#include "winuser.h" + +#include "objbase.h" +#include "iads.h" +#include "adshlp.h" + +#include "wine/unicode.h" +#include "wine/debug.h" + +WINE_DEFAULT_DEBUG_CHANNEL(activeds); + +/***************************************************** + * DllMain + */ +BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) +{ + TRACE("(%p, %d, %p)\n",hinstDLL, fdwReason, lpvReserved); + + switch(fdwReason) + { + case DLL_WINE_PREATTACH: + return FALSE; /* prefer native version */ + case DLL_PROCESS_ATTACH: + DisableThreadLibraryCalls( hinstDLL ); + break; + } + return TRUE; +} + +/***************************************************** + * ADsGetObject [ACTIVEDS.3] + */ +HRESULT WINAPI ADsGetObject(LPCWSTR lpszPathName, REFIID riid, VOID** ppObject) +{ + FIXME("(%s)->(%s,%p)!stub\n",debugstr_w(lpszPathName), debugstr_guid(riid), ppObject); + return E_NOTIMPL; +} + +/***************************************************** + * ADsBuildEnumerator [ACTIVEDS.4] + */ +HRESULT WINAPI ADsBuildEnumerator(IADsContainer * pADsContainer, IEnumVARIANT** ppEnumVariant) +{ + FIXME("(%p)->(%p)!stub\n",pADsContainer, ppEnumVariant); + return E_NOTIMPL; +} + +/***************************************************** + * ADsEnumerateNext [ACTIVEDS.6] + */ +HRESULT WINAPI ADsEnumerateNext(IEnumVARIANT* pEnumVariant, ULONG cElements, VARIANT* pvar, ULONG * pcElementsFetched) +{ + FIXME("(%p)->(%u, %p, %p)!stub\n",pEnumVariant, cElements, pvar, pcElementsFetched); + return E_NOTIMPL; +} + +/***************************************************** + * ADsOpenObject [ACTIVEDS.9] + */ +HRESULT WINAPI ADsOpenObject(LPCWSTR lpszPathName, LPCWSTR lpszUserName, LPCWSTR lpszPassword, DWORD dwReserved, REFIID riid, VOID** ppObject) +{ + FIXME("(%s,%s,%u,%p,%p)!stub\n", debugstr_w(lpszPathName), + debugstr_w(lpszUserName), dwReserved, debugstr_guid(riid), ppObject); + return E_NOTIMPL; +} + +/***************************************************** + * FreeADsMem [ACTIVEDS.15] + */ +BOOL WINAPI FreeADsMem(LPVOID pMem) +{ + FIXME("(%p)!stub\n",pMem); + return FALSE; +} diff --git a/reactos/dll/win32/win32.rbuild b/reactos/dll/win32/win32.rbuild index 18d5889f817..5a0f3c4a995 100644 --- a/reactos/dll/win32/win32.rbuild +++ b/reactos/dll/win32/win32.rbuild @@ -7,6 +7,9 @@ + + +