msi: Fixed buffer overflow in number parsing.
[wine] / dlls / activeds / activeds_main.c
1 /*
2  * Implementation of the Active Directory Service Interface
3  *
4  * Copyright 2005 Detlef Riekenberg
5  *
6  * This file contains only stubs to get the printui.dll up and running
7  * activeds.dll is much much more than this
8  *
9  * This library is free software; you can redistribute it and/or
10  * modify it under the terms of the GNU Lesser General Public
11  * License as published by the Free Software Foundation; either
12  * version 2.1 of the License, or (at your option) any later version.
13  *
14  * This library is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
17  * Lesser General Public License for more details.
18  *
19  * You should have received a copy of the GNU Lesser General Public
20  * License along with this library; if not, write to the Free Software
21  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
22  */
23
24 #include <stdarg.h>
25
26 #define COBJMACROS
27 #define NONAMELESSUNION
28
29 #include "windef.h"
30 #include "winbase.h"
31 #include "winuser.h"
32
33 #include "objbase.h"
34 #include "iads.h"
35 #include "adshlp.h"
36
37 #include "wine/unicode.h"
38 #include "wine/debug.h"
39
40 WINE_DEFAULT_DEBUG_CHANNEL(activeds);
41
42 /*****************************************************
43  * DllMain
44  */
45 BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
46 {
47     TRACE("(%p, %d, %p)\n",hinstDLL, fdwReason, lpvReserved);
48
49     switch(fdwReason)
50     {
51     case DLL_WINE_PREATTACH:
52         return FALSE;  /* prefer native version */
53     case DLL_PROCESS_ATTACH:
54         DisableThreadLibraryCalls( hinstDLL );
55         break;
56     }
57     return TRUE;
58 }
59
60 /*****************************************************
61  * ADsGetObject     [ACTIVEDS.3]
62  */
63 HRESULT WINAPI ADsGetObject(LPCWSTR lpszPathName, REFIID riid, VOID** ppObject)
64 {
65     FIXME("(%s)->(%s,%p)!stub\n",debugstr_w(lpszPathName), debugstr_guid(riid), ppObject);
66     return E_NOTIMPL;
67 }
68
69 /*****************************************************
70  * ADsBuildEnumerator    [ACTIVEDS.4]
71  */
72 HRESULT WINAPI ADsBuildEnumerator(IADsContainer * pADsContainer, IEnumVARIANT** ppEnumVariant)
73 {
74     FIXME("(%p)->(%p)!stub\n",pADsContainer, ppEnumVariant);
75     return E_NOTIMPL;
76 }
77
78 /*****************************************************
79  * ADsEnumerateNext     [ACTIVEDS.6]
80  */
81 HRESULT WINAPI ADsEnumerateNext(IEnumVARIANT* pEnumVariant, ULONG cElements, VARIANT* pvar, ULONG * pcElementsFetched)
82 {
83     FIXME("(%p)->(%u, %p, %p)!stub\n",pEnumVariant, cElements, pvar, pcElementsFetched);
84     return E_NOTIMPL;
85 }
86
87 /*****************************************************
88  * ADsOpenObject     [ACTIVEDS.9]
89  */
90 HRESULT WINAPI ADsOpenObject(LPCWSTR lpszPathName, LPCWSTR lpszUserName, LPCWSTR lpszPassword, DWORD dwReserved, REFIID riid, VOID** ppObject)
91 {
92     FIXME("(%s,%s,%u,%p,%p)!stub\n", debugstr_w(lpszPathName),
93           debugstr_w(lpszUserName), dwReserved, debugstr_guid(riid), ppObject);
94     return E_NOTIMPL;
95 }
96
97 /*****************************************************
98  * FreeADsMem             [ACTIVEDS.15]
99  */
100 BOOL WINAPI FreeADsMem(LPVOID pMem)
101 {
102     FIXME("(%p)!stub\n",pMem);
103     return FALSE;
104 }