2 * Generic Implementation of IDispatch for strmbase classes
4 * Copyright 2012 Aric Stewart, CodeWeavers
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
24 #include "wine/unicode.h"
25 #include "wine/strmbase.h"
30 HRESULT WINAPI
BaseDispatch_Init(BaseDispatch
*This
, REFIID riid
)
35 This
->pTypeInfo
= NULL
;
36 hr
= LoadRegTypeLib(&LIBID_QuartzTypeLib
, 1, 0, LOCALE_SYSTEM_DEFAULT
, &pTypeLib
);
39 hr
= ITypeLib_GetTypeInfoOfGuid(pTypeLib
, riid
, &This
->pTypeInfo
);
40 ITypeLib_Release(pTypeLib
);
45 HRESULT WINAPI
BaseDispatch_Destroy(BaseDispatch
*This
)
48 ITypeInfo_Release(This
->pTypeInfo
);
52 HRESULT WINAPI
BaseDispatchImpl_GetIDsOfNames(BaseDispatch
*This
, REFIID riid
, OLECHAR
**rgszNames
, UINT cNames
, LCID lcid
, DISPID
*rgdispid
)
55 return ITypeInfo_GetIDsOfNames(This
->pTypeInfo
, rgszNames
, cNames
, rgdispid
);
59 HRESULT WINAPI
BaseDispatchImpl_GetTypeInfo(BaseDispatch
*This
, REFIID riid
, UINT itinfo
, LCID lcid
, ITypeInfo
**pptinfo
)
63 ITypeInfo_AddRef(This
->pTypeInfo
);
64 *pptinfo
= This
->pTypeInfo
;
70 HRESULT WINAPI
BaseDispatchImpl_GetTypeInfoCount(BaseDispatch
*This
, UINT
*pctinfo
)