[ACTIVEDS]
[reactos.git] / reactos / dll / win32 / 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 #define WIN32_NO_STATUS
25 #define _INC_WINDOWS
26 #define COM_NO_WINDOWS_H
27
28 #include <stdarg.h>
29
30 #define COBJMACROS
31 #define NONAMELESSUNION
32
33 #include <windef.h>
34 #include <winbase.h>
35 //#include "winuser.h"
36
37 #include <objbase.h>
38 #include <iads.h>
39 //#include "adshlp.h"
40
41 //#include "wine/unicode.h"
42 #include <wine/debug.h>
43
44 WINE_DEFAULT_DEBUG_CHANNEL(activeds);
45
46 /*****************************************************
47 * DllMain
48 */
49 BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
50 {
51 TRACE("(%p, %d, %p)\n",hinstDLL, fdwReason, lpvReserved);
52
53 switch(fdwReason)
54 {
55 case DLL_WINE_PREATTACH:
56 return FALSE; /* prefer native version */
57 case DLL_PROCESS_ATTACH:
58 DisableThreadLibraryCalls( hinstDLL );
59 break;
60 }
61 return TRUE;
62 }
63
64 /*****************************************************
65 * ADsGetObject [ACTIVEDS.3]
66 */
67 HRESULT WINAPI ADsGetObject(LPCWSTR lpszPathName, REFIID riid, VOID** ppObject)
68 {
69 FIXME("(%s)->(%s,%p)!stub\n",debugstr_w(lpszPathName), debugstr_guid(riid), ppObject);
70 return E_NOTIMPL;
71 }
72
73 /*****************************************************
74 * ADsBuildEnumerator [ACTIVEDS.4]
75 */
76 HRESULT WINAPI ADsBuildEnumerator(IADsContainer * pADsContainer, IEnumVARIANT** ppEnumVariant)
77 {
78 FIXME("(%p)->(%p)!stub\n",pADsContainer, ppEnumVariant);
79 return E_NOTIMPL;
80 }
81
82 /*****************************************************
83 * ADsFreeEnumerator [ACTIVEDS.5]
84 */
85 HRESULT WINAPI ADsFreeEnumerator(IEnumVARIANT* pEnumVariant)
86 {
87 FIXME("(%p)!stub\n",pEnumVariant);
88 return E_NOTIMPL;
89 }
90
91 /*****************************************************
92 * ADsEnumerateNext [ACTIVEDS.6]
93 */
94 HRESULT WINAPI ADsEnumerateNext(IEnumVARIANT* pEnumVariant, ULONG cElements, VARIANT* pvar, ULONG * pcElementsFetched)
95 {
96 FIXME("(%p)->(%u, %p, %p)!stub\n",pEnumVariant, cElements, pvar, pcElementsFetched);
97 return E_NOTIMPL;
98 }
99
100 /*****************************************************
101 * ADsBuildVarArrayStr [ACTIVEDS.7]
102 */
103 HRESULT WINAPI ADsBuildVarArrayStr(LPWSTR *lppPathNames, DWORD dwPathNames, VARIANT* pvar)
104 {
105 FIXME("(%p, %d, %p)!stub\n",*lppPathNames, dwPathNames, pvar);
106 return E_NOTIMPL;
107 }
108
109 /*****************************************************
110 * ADsBuildVarArrayInt [ACTIVEDS.8]
111 */
112 HRESULT WINAPI ADsBuildVarArrayInt(LPDWORD lpdwObjectTypes, DWORD dwObjectTypes, VARIANT* pvar)
113 {
114 FIXME("(%p, %d, %p)!stub\n",lpdwObjectTypes, dwObjectTypes, pvar);
115 return E_NOTIMPL;
116 }
117
118 /*****************************************************
119 * ADsOpenObject [ACTIVEDS.9]
120 */
121 HRESULT WINAPI ADsOpenObject(LPCWSTR lpszPathName, LPCWSTR lpszUserName, LPCWSTR lpszPassword, DWORD dwReserved, REFIID riid, VOID** ppObject)
122 {
123 FIXME("(%s,%s,%u,%s,%p)!stub\n", debugstr_w(lpszPathName),
124 debugstr_w(lpszUserName), dwReserved, debugstr_guid(riid), ppObject);
125 return E_NOTIMPL;
126 }
127
128 /*****************************************************
129 * ADsSetLastError [ACTIVEDS.12]
130 */
131 VOID WINAPI ADsSetLastError(DWORD dwErr, LPWSTR pszError, LPWSTR pszProvider)
132 {
133 FIXME("(%d,%p,%p)!stub\n", dwErr, pszError, pszProvider);
134 }
135
136 /*****************************************************
137 * ADsGetLastError [ACTIVEDS.13]
138 */
139 HRESULT WINAPI ADsGetLastError(LPDWORD perror, LPWSTR errorbuf, DWORD errorbuflen, LPWSTR namebuf, DWORD namebuflen)
140 {
141 FIXME("(%p,%p,%d,%p,%d)!stub\n", perror, errorbuf, errorbuflen, namebuf, namebuflen);
142 return E_NOTIMPL;
143 }
144
145 /*****************************************************
146 * AllocADsMem [ACTIVEDS.14]
147 */
148 LPVOID WINAPI AllocADsMem(DWORD cb)
149 {
150 FIXME("(%d)!stub\n",cb);
151 return NULL;
152 }
153
154 /*****************************************************
155 * FreeADsMem [ACTIVEDS.15]
156 */
157 BOOL WINAPI FreeADsMem(LPVOID pMem)
158 {
159 FIXME("(%p)!stub\n",pMem);
160 return FALSE;
161 }
162
163 /*****************************************************
164 * ReallocADsMem [ACTIVEDS.16]
165 */
166 LPVOID WINAPI ReallocADsMem(LPVOID pOldMem, DWORD cbOld, DWORD cbNew)
167 {
168 FIXME("(%p,%d,%d)!stub\n", pOldMem, cbOld, cbNew);
169 return NULL;
170 }
171
172 /*****************************************************
173 * AllocADsStr [ACTIVEDS.17]
174 */
175 LPWSTR WINAPI AllocADsStr(LPWSTR pStr)
176 {
177 FIXME("(%p)!stub\n",pStr);
178 return NULL;
179 }
180
181 /*****************************************************
182 * FreeADsStr [ACTIVEDS.18]
183 */
184 BOOL WINAPI FreeADsStr(LPWSTR pStr)
185 {
186 FIXME("(%p)!stub\n",pStr);
187 return FALSE;
188 }
189
190 /*****************************************************
191 * ReallocADsStr [ACTIVEDS.19]
192 */
193 BOOL WINAPI ReallocADsStr(LPWSTR *ppStr, LPWSTR pStr)
194 {
195 FIXME("(%p,%p)!stub\n",*ppStr, pStr);
196 return FALSE;
197 }
198
199 /*****************************************************
200 * ADsEncodeBinaryData [ACTIVEDS.20]
201 */
202 HRESULT WINAPI ADsEncodeBinaryData(PBYTE pbSrcData, DWORD dwSrcLen, LPWSTR *ppszDestData)
203 {
204 FIXME("(%p,%d,%p)!stub\n", pbSrcData, dwSrcLen, *ppszDestData);
205 return E_NOTIMPL;
206 }