Commit 2f967872 authored by Francois Gouget's avatar Francois Gouget Committed by Alexandre Julliard

Add iads.idl to define the IADsContainer interface.

Add adshlp.h to declare the ADs* functions. Fix the ADsOpenObject() prototype. Update win32.api to match.
parent d7d8bbfc
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
6 stdcall ADsEnumerateNext(ptr long ptr ptr) 6 stdcall ADsEnumerateNext(ptr long ptr ptr)
7 stub ADsBuildVarArrayStr 7 stub ADsBuildVarArrayStr
8 stub ADsBuildVarArrayInt 8 stub ADsBuildVarArrayInt
9 stdcall ADsOpenObject(wstr ptr ptr) 9 stdcall ADsOpenObject(wstr wstr wstr long ptr ptr)
12 stub ADsSetLastError 12 stub ADsSetLastError
13 stub ADsGetLastError 13 stub ADsGetLastError
14 stub AllocADsMem 14 stub AllocADsMem
......
...@@ -33,6 +33,10 @@ ...@@ -33,6 +33,10 @@
#include "winver.h" #include "winver.h"
#include "winnls.h" #include "winnls.h"
#include "objbase.h"
#include "iads.h"
#include "adshlp.h"
#include "wine/unicode.h" #include "wine/unicode.h"
#include "wine/debug.h" #include "wine/debug.h"
...@@ -41,7 +45,6 @@ WINE_DEFAULT_DEBUG_CHANNEL(activeds); ...@@ -41,7 +45,6 @@ WINE_DEFAULT_DEBUG_CHANNEL(activeds);
/***************************************************** /*****************************************************
* DllMain * DllMain
*/ */
BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
{ {
TRACE("(%p, %ld, %p)\n",hinstDLL, fdwReason, lpvReserved); TRACE("(%p, %ld, %p)\n",hinstDLL, fdwReason, lpvReserved);
...@@ -52,8 +55,7 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) ...@@ -52,8 +55,7 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
/***************************************************** /*****************************************************
* ADsGetObject [ACTIVEDS.3] * ADsGetObject [ACTIVEDS.3]
*/ */
HRESULT WINAPI ADsGetObject(LPCWSTR lpszPathName, REFIID riid, VOID** ppObject)
HRESULT WINAPI ADsGetObject(LPWSTR lpszPathName, REFIID riid, VOID** ppObject)
{ {
FIXME("(%s)->(%s,%p)!stub\n",debugstr_w(lpszPathName), debugstr_guid(riid), ppObject); FIXME("(%s)->(%s,%p)!stub\n",debugstr_w(lpszPathName), debugstr_guid(riid), ppObject);
return E_NOTIMPL; return E_NOTIMPL;
...@@ -62,9 +64,7 @@ HRESULT WINAPI ADsGetObject(LPWSTR lpszPathName, REFIID riid, VOID** ppObject) ...@@ -62,9 +64,7 @@ HRESULT WINAPI ADsGetObject(LPWSTR lpszPathName, REFIID riid, VOID** ppObject)
/***************************************************** /*****************************************************
* ADsBuildEnumerator [ACTIVEDS.4] * ADsBuildEnumerator [ACTIVEDS.4]
*/ */
HRESULT WINAPI ADsBuildEnumerator(IADsContainer * pADsContainer, IEnumVARIANT** ppEnumVariant)
/* HRESULT WINAPI ADsBuildEnumerator(IADsContainer * pADsContainer, IEnumVariant ** ppEnumVariant) */
HRESULT WINAPI ADsBuildEnumerator(LPVOID * pADsContainer, LPVOID ** ppEnumVariant)
{ {
FIXME("(%p)->(%p)!stub\n",pADsContainer, ppEnumVariant); FIXME("(%p)->(%p)!stub\n",pADsContainer, ppEnumVariant);
return E_NOTIMPL; return E_NOTIMPL;
...@@ -73,9 +73,7 @@ HRESULT WINAPI ADsBuildEnumerator(LPVOID * pADsContainer, LPVOID ** ppEnumVarian ...@@ -73,9 +73,7 @@ HRESULT WINAPI ADsBuildEnumerator(LPVOID * pADsContainer, LPVOID ** ppEnumVarian
/***************************************************** /*****************************************************
* ADsEnumerateNext [ACTIVEDS.6] * ADsEnumerateNext [ACTIVEDS.6]
*/ */
HRESULT WINAPI ADsEnumerateNext(IEnumVARIANT* pEnumVariant, ULONG cElements, VARIANT* pvar, ULONG * pcElementsFetched)
/* HRESULT WINAPI ADsEnumerateNext(IEnumVariant * pEnumVariant, ULONG cElements, VARIANT * pvar, ULONG * pcElementsFetched) */
HRESULT WINAPI ADsEnumerateNext(LPVOID * pEnumVariant, ULONG cElements, LPVOID * pvar, ULONG * pcElementsFetched)
{ {
FIXME("(%p)->(%lu, %p, %p)!stub\n",pEnumVariant, cElements, pvar, pcElementsFetched); FIXME("(%p)->(%lu, %p, %p)!stub\n",pEnumVariant, cElements, pvar, pcElementsFetched);
return E_NOTIMPL; return E_NOTIMPL;
...@@ -84,10 +82,10 @@ HRESULT WINAPI ADsEnumerateNext(LPVOID * pEnumVariant, ULONG cElements, LPVOID * ...@@ -84,10 +82,10 @@ HRESULT WINAPI ADsEnumerateNext(LPVOID * pEnumVariant, ULONG cElements, LPVOID *
/***************************************************** /*****************************************************
* ADsOpenObject [ACTIVEDS.9] * ADsOpenObject [ACTIVEDS.9]
*/ */
HRESULT WINAPI ADsOpenObject(LPCWSTR lpszPathName, LPCWSTR lpszUserName, LPCWSTR lpszPassword, DWORD dwReserved, REFIID riid, VOID** ppObject)
HRESULT WINAPI ADsOpenObject(LPWSTR lpszPathName, REFIID riid, VOID** ppObject)
{ {
FIXME("(%s)->(%s,%p)!stub\n",debugstr_w(lpszPathName), debugstr_guid(riid), ppObject); FIXME("(%s,%s,%lu,%p,%p)!stub\n", debugstr_w(lpszPathName),
debugstr_w(lpszUserName), dwReserved, debugstr_guid(riid), ppObject);
return E_NOTIMPL; return E_NOTIMPL;
} }
......
...@@ -12,6 +12,7 @@ docobj.h ...@@ -12,6 +12,7 @@ docobj.h
downloadmgr.h downloadmgr.h
exdisp.h exdisp.h
hlink.h hlink.h
iads.h
mediaobj.h mediaobj.h
mimeinfo.h mimeinfo.h
mlang.h mlang.h
......
...@@ -17,6 +17,7 @@ WINDOWS_IDL_SRCS = \ ...@@ -17,6 +17,7 @@ WINDOWS_IDL_SRCS = \
downloadmgr.idl \ downloadmgr.idl \
exdisp.idl \ exdisp.idl \
hlink.idl \ hlink.idl \
iads.idl \
mediaobj.idl \ mediaobj.idl \
mimeinfo.idl \ mimeinfo.idl \
mlang.idl \ mlang.idl \
......
/*
* Copyright (C) 2005 Francois Gouget
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#ifndef __WINE_ADSHLP_H
#define __WINE_ADSHLP_H
#ifdef __cplusplus
extern "C" {
#endif
HRESULT WINAPI ADsBuildEnumerator(IADsContainer*,IEnumVARIANT**);
HRESULT WINAPI ADsEnumerateNext(IEnumVARIANT*,ULONG,VARIANT*,ULONG*);
HRESULT WINAPI ADsGetObject(LPCWSTR,REFIID,VOID**);
HRESULT WINAPI ADsOpenObject(LPCWSTR,LPCWSTR,LPCWSTR,DWORD,REFIID,VOID**);
BOOL WINAPI FreeADsMem(LPVOID);
#ifdef __cplusplus
}
#endif
#endif
/*
* Copyright 2005 Francois Gouget
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
import "oaidl.idl";
/*****************************************************************************
* IADsContainer interface
*/
[
object,
uuid(001677d0-fd16-11ce-abc4-02608c9e7553)
]
interface IADsContainer: IDispatch
{
[propget] HRESULT Count(
[out, retval] long *retval);
[propget, restricted] HRESULT _NewEnum(
[out, retval] IUnknown **retval);
[propget] HRESULT Filter(
[out, retval] VARIANT *pvFilter);
[propput] HRESULT Filter(
[in] VARIANT vFilter);
[propget] HRESULT Hints(
[out, retval] VARIANT *pvHints);
[propput] HRESULT Hints(
[in] VARIANT vHints);
HRESULT GetObject(
[in] BSTR bstrClassName,
[in] BSTR bstrRelativeName,
[out, retval] IDispatch **ppObject);
HRESULT Create(
[in] BSTR bstrClassName,
[in] BSTR bstrRelativeName,
[out, retval] IDispatch **ppObject);
HRESULT Delete(
[in] BSTR bstrClassName,
[in] BSTR bstrRelativeName);
HRESULT CopyHere(
[in] BSTR bstrSourceName,
[in] BSTR bstrNewName,
[out, retval] IDispatch **ppObject);
HRESULT MoveHere(
[in] BSTR bstrSourceName,
[in] BSTR bstrNewName,
[out, retval] IDispatch **ppObject);
}
...@@ -3,21 +3,24 @@ ...@@ -3,21 +3,24 @@
%long %long
BOOL BOOL
DWORD
HRESULT HRESULT
ULONG ULONG
%ptr %ptr
IADsContainer *
IEnumVARIANT *
IEnumVARIANT **
LPVOID LPVOID
LPVOID *
LPVOID **
REFIID REFIID
ULONG * ULONG *
VARIANT *
VOID ** VOID **
%wstr %wstr
LPWSTR LPCWSTR
%%advapi32.dll %%advapi32.dll
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment