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