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 */ 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 */ 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 */ 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 */ 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 */ 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 */ 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 */ 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 */ 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 */ 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 */ 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 */ 142 LPVOID WINAPI AllocADsMem(DWORD cb) 143 { 144 FIXME("(%d)!stub\n",cb); 145 return NULL; 146 } 147 148 /***************************************************** 149 * FreeADsMem [ACTIVEDS.15] 150 */ 151 BOOL WINAPI FreeADsMem(LPVOID pMem) 152 { 153 FIXME("(%p)!stub\n",pMem); 154 return FALSE; 155 } 156 157 /***************************************************** 158 * ReallocADsMem [ACTIVEDS.16] 159 */ 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 */ 169 LPWSTR WINAPI AllocADsStr(LPWSTR pStr) 170 { 171 FIXME("(%p)!stub\n",pStr); 172 return NULL; 173 } 174 175 /***************************************************** 176 * FreeADsStr [ACTIVEDS.18] 177 */ 178 BOOL WINAPI FreeADsStr(LPWSTR pStr) 179 { 180 FIXME("(%p)!stub\n",pStr); 181 return FALSE; 182 } 183 184 /***************************************************** 185 * ReallocADsStr [ACTIVEDS.19] 186 */ 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 */ 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