oleacc: Added proxies for oleacc.idl.

This commit is contained in:
Nikolay Sivov 2015-05-05 12:17:44 +03:00 committed by Alexandre Julliard
parent 7839aa22c3
commit 40a311c821
5 changed files with 40 additions and 16 deletions

View File

@ -1,6 +1,6 @@
MODULE = oleacc.dll
IMPORTLIB = oleacc
IMPORTS = uuid oleaut32 ole32 user32
IMPORTS = uuid oleaut32 ole32 user32 rpcrt4
C_SRCS = \
client.c \
@ -11,3 +11,5 @@ C_SRCS = \
IDL_SRCS = oleacc_classes.idl
RC_SRCS = oleacc.rc
dlldata_EXTRADEFS = -DENTRY_PREFIX=OLEACC_ -DPROXY_DELEGATION -DWINE_REGISTER_DLL

View File

@ -49,6 +49,11 @@ static const WCHAR richedit20wW[] = {'R','i','c','h','E','d','i','t','2','0','W'
typedef HRESULT (WINAPI *accessible_create)(HWND, const IID*, void**);
extern HRESULT WINAPI OLEACC_DllGetClassObject(REFCLSID, REFIID, void**) DECLSPEC_HIDDEN;
extern BOOL WINAPI OLEACC_DllMain(HINSTANCE, DWORD, void*) DECLSPEC_HIDDEN;
extern HRESULT WINAPI OLEACC_DllRegisterServer(void) DECLSPEC_HIDDEN;
extern HRESULT WINAPI OLEACC_DllUnregisterServer(void) DECLSPEC_HIDDEN;
static struct {
const WCHAR *name;
DWORD idx;
@ -406,19 +411,34 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason,
DisableThreadLibraryCalls(hinstDLL);
break;
}
return TRUE;
return OLEACC_DllMain(hinstDLL, fdwReason, lpvReserved);
}
HRESULT WINAPI DllRegisterServer(void)
{
TRACE("()\n");
return __wine_register_resources(oleacc_handle);
return OLEACC_DllRegisterServer();
}
HRESULT WINAPI DllUnregisterServer(void)
{
TRACE("()\n");
return __wine_unregister_resources(oleacc_handle);
return OLEACC_DllUnregisterServer();
}
HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID iid, void **ppv)
{
if(IsEqualGUID(&CLSID_CAccPropServices, rclsid)) {
TRACE("(CLSID_CAccPropServices %s %p)\n", debugstr_guid(iid), ppv);
return get_accpropservices_factory(iid, ppv);
}
if(IsEqualGUID(&CLSID_PSFactoryBuffer, rclsid)) {
TRACE("(CLSID_PSFactoryBuffer %s %p)\n", debugstr_guid(iid), ppv);
return OLEACC_DllGetClassObject(rclsid, iid, ppv);
}
FIXME("%s %s %p: stub\n", debugstr_guid(rclsid), debugstr_guid(iid), ppv);
return E_NOTIMPL;
}
void WINAPI GetOleaccVersionInfo(DWORD* pVersion, DWORD* pBuild)

View File

@ -17,5 +17,13 @@
*/
#pragma makedep regtypelib
#pragma makedep proxy
#pragma makedep register
#include "oleacc.idl"
[
threading(both),
uuid(03022430-abc4-11d0-bde2-00aa001a1953) /* IAccessibleHandler */
]
coclass PSFactoryBuffer { interface IFactoryBuffer; }

View File

@ -16,10 +16,11 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#include <oleacc.h>
#include "oleacc_classes.h"
HRESULT create_client_object(HWND, const IID*, void**) DECLSPEC_HIDDEN;
HRESULT create_window_object(HWND, const IID*, void**) DECLSPEC_HIDDEN;
HRESULT get_accpropservices_factory(REFIID, void**) DECLSPEC_HIDDEN;
int convert_child_id(VARIANT *v) DECLSPEC_HIDDEN;

View File

@ -20,7 +20,6 @@
#include <stdarg.h>
#include "oleacc.h"
#include "oleacc_private.h"
#include "wine/debug.h"
@ -245,13 +244,7 @@ static const IClassFactoryVtbl CAccPropServicesFactoryVtbl = {
static IClassFactory CAccPropServicesFactory = { &CAccPropServicesFactoryVtbl };
HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID iid, void **ppv)
HRESULT get_accpropservices_factory(REFIID riid, void **ppv)
{
if(IsEqualGUID(&CLSID_CAccPropServices, rclsid)) {
TRACE("(CLSID_CAccPropServices %s %p)\n", debugstr_guid(iid), ppv);
return IClassFactory_QueryInterface(&CAccPropServicesFactory, iid, ppv);
}
FIXME("%s %s %p: stub\n", debugstr_guid(rclsid), debugstr_guid(iid), ppv);
return E_NOTIMPL;
return IClassFactory_QueryInterface(&CAccPropServicesFactory, riid, ppv);
}