widl: Use the output buffer functions to write typelibs.
[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  * ADsFreeEnumerator     [ACTIVEDS.5]
80  */
81 HRESULT WINAPI ADsFreeEnumerator(IEnumVARIANT* pEnumVariant)
82 {
83     FIXME("(%p)!stub\n",pEnumVariant);
84     return E_NOTIMPL;
85 }
86
87 /*****************************************************
88  * ADsEnumerateNext     [ACTIVEDS.6]
89  */
90 HRESULT WINAPI ADsEnumerateNext(IEnumVARIANT* pEnumVariant, ULONG cElements, VARIANT* pvar, ULONG * pcElementsFetched)
91 {
92     FIXME("(%p)->(%u, %p, %p)!stub\n",pEnumVariant, cElements, pvar, pcElementsFetched);
93     return E_NOTIMPL;
94 }
95
96 /*****************************************************
97  * ADsBuildVarArrayStr     [ACTIVEDS.7]
98  */
99 HRESULT WINAPI ADsBuildVarArrayStr(LPWSTR *lppPathNames, DWORD dwPathNames, VARIANT* pvar)
100 {
101     FIXME("(%p, %d, %p)!stub\n",*lppPathNames, dwPathNames, pvar);
102     return E_NOTIMPL;
103 }
104
105 /*****************************************************
106  * ADsBuildVarArrayInt     [ACTIVEDS.8]
107  */
108 HRESULT WINAPI ADsBuildVarArrayInt(LPDWORD lpdwObjectTypes, DWORD dwObjectTypes, VARIANT* pvar)
109 {
110     FIXME("(%p, %d, %p)!stub\n",lpdwObjectTypes, dwObjectTypes, pvar);
111     return E_NOTIMPL;
112 }
113
114 /*****************************************************
115  * ADsOpenObject     [ACTIVEDS.9]
116  */
117 HRESULT WINAPI ADsOpenObject(LPCWSTR lpszPathName, LPCWSTR lpszUserName, LPCWSTR lpszPassword, DWORD dwReserved, REFIID riid, VOID** ppObject)
118 {
119     FIXME("(%s,%s,%u,%p,%p)!stub\n", debugstr_w(lpszPathName),
120           debugstr_w(lpszUserName), dwReserved, debugstr_guid(riid), ppObject);
121     return E_NOTIMPL;
122 }
123
124 /*****************************************************
125  * ADsSetLastError    [ACTIVEDS.12]
126  */
127 VOID WINAPI ADsSetLastError(DWORD dwErr, LPWSTR pszError, LPWSTR pszProvider)
128 {
129     FIXME("(%d,%p,%p)!stub\n", dwErr, pszError, pszProvider);
130 }
131
132 /*****************************************************
133  * ADsGetLastError    [ACTIVEDS.13]
134  */
135 HRESULT WINAPI ADsGetLastError(LPDWORD perror, LPWSTR errorbuf, DWORD errorbuflen, LPWSTR namebuf, DWORD namebuflen)
136 {
137     FIXME("(%p,%p,%d,%p,%d)!stub\n", perror, errorbuf, errorbuflen, namebuf, namebuflen);
138     return E_NOTIMPL;
139 }
140
141 /*****************************************************
142  * AllocADsMem             [ACTIVEDS.14]
143  */
144 LPVOID WINAPI AllocADsMem(DWORD cb)
145 {
146     FIXME("(%d)!stub\n",cb);
147     return NULL;
148 }
149
150 /*****************************************************
151  * FreeADsMem             [ACTIVEDS.15]
152  */
153 BOOL WINAPI FreeADsMem(LPVOID pMem)
154 {
155     FIXME("(%p)!stub\n",pMem);
156     return FALSE;
157 }
158
159 /*****************************************************
160  * ReallocADsMem             [ACTIVEDS.16]
161  */
162 LPVOID WINAPI ReallocADsMem(LPVOID pOldMem, DWORD cbOld, DWORD cbNew)
163 {
164     FIXME("(%p,%d,%d)!stub\n", pOldMem, cbOld, cbNew);
165     return NULL;
166 }
167
168 /*****************************************************
169  * AllocADsStr             [ACTIVEDS.17]
170  */
171 LPWSTR WINAPI AllocADsStr(LPWSTR pStr)
172 {
173     FIXME("(%p)!stub\n",pStr);
174     return NULL;
175 }
176
177 /*****************************************************
178  * FreeADsStr             [ACTIVEDS.18]
179  */
180 BOOL WINAPI FreeADsStr(LPWSTR pStr)
181 {
182     FIXME("(%p)!stub\n",pStr);
183     return FALSE;
184 }
185
186 /*****************************************************
187  * ReallocADsStr             [ACTIVEDS.19]
188  */
189 BOOL WINAPI ReallocADsStr(LPWSTR *ppStr, LPWSTR pStr)
190 {
191     FIXME("(%p,%p)!stub\n",*ppStr, pStr);
192     return FALSE;
193 }
194
195 /*****************************************************
196  * ADsEncodeBinaryData     [ACTIVEDS.20]
197  */
198 HRESULT WINAPI ADsEncodeBinaryData(PBYTE pbSrcData, DWORD dwSrcLen, LPWSTR *ppszDestData)
199 {
200     FIXME("(%p,%d,%p)!stub\n", pbSrcData, dwSrcLen, *ppszDestData);
201     return E_NOTIMPL;
202 }