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