Replace the ICOM_THIS_From macros by inline functions.
This commit is contained in:
parent
54de614906
commit
738e88db5f
|
@ -29,9 +29,6 @@
|
|||
|
||||
#include "wine/debug.h"
|
||||
|
||||
|
||||
/* #define ICOM_THIS_From_IROTData(class, name) class* This = (class*)(((char*)name)-sizeof(void*)) */
|
||||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(devenum);
|
||||
|
||||
static ULONG WINAPI DEVENUM_IEnumMoniker_AddRef(LPENUMMONIKER iface);
|
||||
|
|
|
@ -63,12 +63,12 @@ struct OLEFontImpl
|
|||
* The first two are supported by the first vtable, the next two are
|
||||
* supported by the second table and the last two have their own.
|
||||
*/
|
||||
const IFontVtbl* lpvtbl1;
|
||||
const IDispatchVtbl* lpvtbl2;
|
||||
const IPersistStreamVtbl* lpvtbl3;
|
||||
const IConnectionPointContainerVtbl* lpvtbl4;
|
||||
const IPersistPropertyBagVtbl* lpvtbl5;
|
||||
const IPersistStreamInitVtbl* lpvtbl6;
|
||||
const IFontVtbl* lpVtbl;
|
||||
const IDispatchVtbl* lpvtblIDispatch;
|
||||
const IPersistStreamVtbl* lpvtblIPersistStream;
|
||||
const IConnectionPointContainerVtbl* lpvtblIConnectionPointContainer;
|
||||
const IPersistPropertyBagVtbl* lpvtblIPersistPropertyBag;
|
||||
const IPersistStreamInitVtbl* lpvtblIPersistStreamInit;
|
||||
/*
|
||||
* Reference count for that instance of the class.
|
||||
*/
|
||||
|
@ -104,11 +104,31 @@ struct OLEFontImpl
|
|||
* There is a version to accommodate all of the VTables implemented
|
||||
* by this object.
|
||||
*/
|
||||
#define _ICOM_THIS_From_IDispatch(class, name) class* this = (class*)(((char*)name)-sizeof(void*))
|
||||
#define _ICOM_THIS_From_IPersistStream(class, name) class* this = (class*)(((char*)name)-2*sizeof(void*))
|
||||
#define _ICOM_THIS_From_IConnectionPointContainer(class, name) class* this = (class*)(((char*)name)-3*sizeof(void*))
|
||||
#define _ICOM_THIS_From_IPersistPropertyBag(class, name) class* this = (class*)(((char*)name)-4*sizeof(void*))
|
||||
#define _ICOM_THIS_From_IPersistStreamInit(class, name) class* this = (class*)(((char*)name)-5*sizeof(void*))
|
||||
|
||||
static inline OLEFontImpl *impl_from_IDispatch( IDispatch *iface )
|
||||
{
|
||||
return (OLEFontImpl *)((char*)iface - FIELD_OFFSET(OLEFontImpl, lpvtblIDispatch));
|
||||
}
|
||||
|
||||
static inline OLEFontImpl *impl_from_IPersistStream( IPersistStream *iface )
|
||||
{
|
||||
return (OLEFontImpl *)((char*)iface - FIELD_OFFSET(OLEFontImpl, lpvtblIPersistStream));
|
||||
}
|
||||
|
||||
static inline OLEFontImpl *impl_from_IConnectionPointContainer( IConnectionPointContainer *iface )
|
||||
{
|
||||
return (OLEFontImpl *)((char*)iface - FIELD_OFFSET(OLEFontImpl, lpvtblIConnectionPointContainer));
|
||||
}
|
||||
|
||||
static inline OLEFontImpl *impl_from_IPersistPropertyBag( IPersistPropertyBag *iface )
|
||||
{
|
||||
return (OLEFontImpl *)((char*)iface - FIELD_OFFSET(OLEFontImpl, lpvtblIPersistPropertyBag));
|
||||
}
|
||||
|
||||
static inline OLEFontImpl *impl_from_IPersistStreamInit( IPersistStreamInit *iface )
|
||||
{
|
||||
return (OLEFontImpl *)((char*)iface - FIELD_OFFSET(OLEFontImpl, lpvtblIPersistStreamInit));
|
||||
}
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
|
@ -402,12 +422,12 @@ static OLEFontImpl* OLEFontImpl_Construct(LPFONTDESC fontDesc)
|
|||
/*
|
||||
* Initialize the virtual function table.
|
||||
*/
|
||||
newObject->lpvtbl1 = &OLEFontImpl_VTable;
|
||||
newObject->lpvtbl2 = &OLEFontImpl_IDispatch_VTable;
|
||||
newObject->lpvtbl3 = &OLEFontImpl_IPersistStream_VTable;
|
||||
newObject->lpvtbl4 = &OLEFontImpl_IConnectionPointContainer_VTable;
|
||||
newObject->lpvtbl5 = &OLEFontImpl_IPersistPropertyBag_VTable;
|
||||
newObject->lpvtbl6 = &OLEFontImpl_IPersistStreamInit_VTable;
|
||||
newObject->lpVtbl = &OLEFontImpl_VTable;
|
||||
newObject->lpvtblIDispatch = &OLEFontImpl_IDispatch_VTable;
|
||||
newObject->lpvtblIPersistStream = &OLEFontImpl_IPersistStream_VTable;
|
||||
newObject->lpvtblIConnectionPointContainer = &OLEFontImpl_IConnectionPointContainer_VTable;
|
||||
newObject->lpvtblIPersistPropertyBag = &OLEFontImpl_IPersistPropertyBag_VTable;
|
||||
newObject->lpvtblIPersistStreamInit = &OLEFontImpl_IPersistStreamInit_VTable;
|
||||
|
||||
/*
|
||||
* Start with one reference count. The caller of this function
|
||||
|
@ -495,17 +515,17 @@ HRESULT WINAPI OLEFontImpl_QueryInterface(
|
|||
if (IsEqualGUID(&IID_IFont, riid))
|
||||
*ppvObject = (IFont*)this;
|
||||
if (IsEqualGUID(&IID_IDispatch, riid))
|
||||
*ppvObject = (IDispatch*)&(this->lpvtbl2);
|
||||
*ppvObject = (IDispatch*)&(this->lpvtblIDispatch);
|
||||
if (IsEqualGUID(&IID_IFontDisp, riid))
|
||||
*ppvObject = (IDispatch*)&(this->lpvtbl2);
|
||||
*ppvObject = (IDispatch*)&(this->lpvtblIDispatch);
|
||||
if (IsEqualGUID(&IID_IPersistStream, riid))
|
||||
*ppvObject = (IPersistStream*)&(this->lpvtbl3);
|
||||
*ppvObject = (IPersistStream*)&(this->lpvtblIPersistStream);
|
||||
if (IsEqualGUID(&IID_IConnectionPointContainer, riid))
|
||||
*ppvObject = (IConnectionPointContainer*)&(this->lpvtbl4);
|
||||
*ppvObject = (IConnectionPointContainer*)&(this->lpvtblIConnectionPointContainer);
|
||||
if (IsEqualGUID(&IID_IPersistPropertyBag, riid))
|
||||
*ppvObject = (IPersistPropertyBag*)&(this->lpvtbl5);
|
||||
*ppvObject = (IPersistPropertyBag*)&(this->lpvtblIPersistPropertyBag);
|
||||
if (IsEqualGUID(&IID_IPersistStreamInit, riid))
|
||||
*ppvObject = (IPersistStreamInit*)&(this->lpvtbl6);
|
||||
*ppvObject = (IPersistStreamInit*)&(this->lpvtblIPersistStreamInit);
|
||||
|
||||
/*
|
||||
* Check that we obtained an interface.
|
||||
|
@ -1156,9 +1176,9 @@ static HRESULT WINAPI OLEFontImpl_IDispatch_QueryInterface(
|
|||
REFIID riid,
|
||||
VOID** ppvoid)
|
||||
{
|
||||
_ICOM_THIS_From_IDispatch(IFont, iface);
|
||||
OLEFontImpl *this = impl_from_IDispatch(iface);
|
||||
|
||||
return IFont_QueryInterface(this, riid, ppvoid);
|
||||
return IFont_QueryInterface((IFont *)this, riid, ppvoid);
|
||||
}
|
||||
|
||||
/************************************************************************
|
||||
|
@ -1169,9 +1189,9 @@ static HRESULT WINAPI OLEFontImpl_IDispatch_QueryInterface(
|
|||
static ULONG WINAPI OLEFontImpl_IDispatch_Release(
|
||||
IDispatch* iface)
|
||||
{
|
||||
_ICOM_THIS_From_IDispatch(IFont, iface);
|
||||
OLEFontImpl *this = impl_from_IDispatch(iface);
|
||||
|
||||
return IFont_Release(this);
|
||||
return IFont_Release((IFont *)this);
|
||||
}
|
||||
|
||||
/************************************************************************
|
||||
|
@ -1182,9 +1202,9 @@ static ULONG WINAPI OLEFontImpl_IDispatch_Release(
|
|||
static ULONG WINAPI OLEFontImpl_IDispatch_AddRef(
|
||||
IDispatch* iface)
|
||||
{
|
||||
_ICOM_THIS_From_IDispatch(IFont, iface);
|
||||
OLEFontImpl *this = impl_from_IDispatch(iface);
|
||||
|
||||
return IFont_AddRef(this);
|
||||
return IFont_AddRef((IFont *)this);
|
||||
}
|
||||
|
||||
/************************************************************************
|
||||
|
@ -1196,7 +1216,7 @@ static HRESULT WINAPI OLEFontImpl_GetTypeInfoCount(
|
|||
IDispatch* iface,
|
||||
unsigned int* pctinfo)
|
||||
{
|
||||
_ICOM_THIS_From_IDispatch(IFont, iface);
|
||||
OLEFontImpl *this = impl_from_IDispatch(iface);
|
||||
FIXME("(%p)->(%p): Stub\n", this, pctinfo);
|
||||
|
||||
return E_NOTIMPL;
|
||||
|
@ -1217,7 +1237,7 @@ static HRESULT WINAPI OLEFontImpl_GetTypeInfo(
|
|||
ITypeLib *tl;
|
||||
HRESULT hres;
|
||||
|
||||
_ICOM_THIS_From_IDispatch(OLEFontImpl, iface);
|
||||
OLEFontImpl *this = impl_from_IDispatch(iface);
|
||||
TRACE("(%p, iTInfo=%d, lcid=%04x, %p)\n", this, iTInfo, (int)lcid, ppTInfo);
|
||||
if (iTInfo != 0)
|
||||
return E_FAIL;
|
||||
|
@ -1246,7 +1266,7 @@ static HRESULT WINAPI OLEFontImpl_GetIDsOfNames(
|
|||
LCID lcid,
|
||||
DISPID* rgDispId)
|
||||
{
|
||||
_ICOM_THIS_From_IDispatch(IFont, iface);
|
||||
OLEFontImpl *this = impl_from_IDispatch(iface);
|
||||
FIXME("(%p,%s,%p,%d,%04x,%p), stub!\n", this, debugstr_guid(riid), rgszNames,
|
||||
cNames, (int)lcid, rgDispId
|
||||
);
|
||||
|
@ -1273,7 +1293,7 @@ static HRESULT WINAPI OLEFontImpl_Invoke(
|
|||
EXCEPINFO* pExepInfo,
|
||||
UINT* puArgErr)
|
||||
{
|
||||
_ICOM_THIS_From_IDispatch(IFont, iface);
|
||||
OLEFontImpl *this = impl_from_IDispatch(iface);
|
||||
OLEFontImpl *xthis = (OLEFontImpl*)this;
|
||||
|
||||
switch (dispIdMember) {
|
||||
|
@ -1282,7 +1302,7 @@ static HRESULT WINAPI OLEFontImpl_Invoke(
|
|||
case DISPATCH_PROPERTYGET:
|
||||
case DISPATCH_PROPERTYGET|DISPATCH_METHOD:
|
||||
V_VT(pVarResult) = VT_BSTR;
|
||||
return OLEFontImpl_get_Name(this, &V_BSTR(pVarResult));
|
||||
return OLEFontImpl_get_Name((IFont *)this, &V_BSTR(pVarResult));
|
||||
case DISPATCH_PROPERTYPUT: {
|
||||
BSTR name;
|
||||
BOOL freename;
|
||||
|
@ -1334,7 +1354,7 @@ static HRESULT WINAPI OLEFontImpl_Invoke(
|
|||
case DISPATCH_PROPERTYGET:
|
||||
case DISPATCH_PROPERTYGET|DISPATCH_METHOD:
|
||||
V_VT(pVarResult) = VT_BOOL;
|
||||
return OLEFontImpl_get_Bold(this, (BOOL*)&V_BOOL(pVarResult));
|
||||
return OLEFontImpl_get_Bold((IFont *)this, (BOOL*)&V_BOOL(pVarResult));
|
||||
case DISPATCH_PROPERTYPUT:
|
||||
if (V_VT(&pDispParams->rgvarg[0]) != VT_BOOL) {
|
||||
FIXME("DISPID_FONT_BOLD/put, vt is %d, not VT_BOOL.\n",V_VT(&pDispParams->rgvarg[0]));
|
||||
|
@ -1350,7 +1370,7 @@ static HRESULT WINAPI OLEFontImpl_Invoke(
|
|||
case DISPATCH_PROPERTYGET:
|
||||
case DISPATCH_PROPERTYGET|DISPATCH_METHOD:
|
||||
V_VT(pVarResult) = VT_BOOL;
|
||||
return OLEFontImpl_get_Italic(this, (BOOL*)&V_BOOL(pVarResult));
|
||||
return OLEFontImpl_get_Italic((IFont *)this, (BOOL*)&V_BOOL(pVarResult));
|
||||
case DISPATCH_PROPERTYPUT:
|
||||
if (V_VT(&pDispParams->rgvarg[0]) != VT_BOOL) {
|
||||
FIXME("DISPID_FONT_ITALIC/put, vt is %d, not VT_BOOL.\n",V_VT(&pDispParams->rgvarg[0]));
|
||||
|
@ -1366,7 +1386,7 @@ static HRESULT WINAPI OLEFontImpl_Invoke(
|
|||
case DISPATCH_PROPERTYGET:
|
||||
case DISPATCH_PROPERTYGET|DISPATCH_METHOD:
|
||||
V_VT(pVarResult) = VT_BOOL;
|
||||
return OLEFontImpl_get_Underline(this, (BOOL*)&V_BOOL(pVarResult));
|
||||
return OLEFontImpl_get_Underline((IFont *)this, (BOOL*)&V_BOOL(pVarResult));
|
||||
case DISPATCH_PROPERTYPUT:
|
||||
if (V_VT(&pDispParams->rgvarg[0]) != VT_BOOL) {
|
||||
FIXME("DISPID_FONT_UNDER/put, vt is %d, not VT_BOOL.\n",V_VT(&pDispParams->rgvarg[0]));
|
||||
|
@ -1382,7 +1402,7 @@ static HRESULT WINAPI OLEFontImpl_Invoke(
|
|||
case DISPATCH_PROPERTYGET:
|
||||
case DISPATCH_PROPERTYGET|DISPATCH_METHOD:
|
||||
V_VT(pVarResult) = VT_BOOL;
|
||||
return OLEFontImpl_get_Strikethrough(this, (BOOL*)&V_BOOL(pVarResult));
|
||||
return OLEFontImpl_get_Strikethrough((IFont *)this, (BOOL*)&V_BOOL(pVarResult));
|
||||
case DISPATCH_PROPERTYPUT:
|
||||
if (V_VT(&pDispParams->rgvarg[0]) != VT_BOOL) {
|
||||
FIXME("DISPID_FONT_STRIKE/put, vt is %d, not VT_BOOL.\n",V_VT(&pDispParams->rgvarg[0]));
|
||||
|
@ -1412,7 +1432,7 @@ static HRESULT WINAPI OLEFontImpl_Invoke(
|
|||
case DISPATCH_PROPERTYGET:
|
||||
case DISPATCH_PROPERTYGET|DISPATCH_METHOD:
|
||||
V_VT(pVarResult) = VT_CY;
|
||||
return OLEFontImpl_get_Size(this, &V_CY(pVarResult));
|
||||
return OLEFontImpl_get_Size((IFont *)this, &V_CY(pVarResult));
|
||||
}
|
||||
break;
|
||||
case DISPID_FONT_CHARSET:
|
||||
|
@ -1426,7 +1446,7 @@ static HRESULT WINAPI OLEFontImpl_Invoke(
|
|||
case DISPATCH_PROPERTYGET:
|
||||
case DISPATCH_PROPERTYGET|DISPATCH_METHOD:
|
||||
V_VT(pVarResult) = VT_I2;
|
||||
return OLEFontImpl_get_Charset(this, &V_I2(pVarResult));
|
||||
return OLEFontImpl_get_Charset((IFont *)this, &V_I2(pVarResult));
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
@ -1447,9 +1467,9 @@ static HRESULT WINAPI OLEFontImpl_IPersistStream_QueryInterface(
|
|||
REFIID riid,
|
||||
VOID** ppvoid)
|
||||
{
|
||||
_ICOM_THIS_From_IPersistStream(IFont, iface);
|
||||
OLEFontImpl *this = impl_from_IPersistStream(iface);
|
||||
|
||||
return IFont_QueryInterface(this, riid, ppvoid);
|
||||
return IFont_QueryInterface((IFont *)this, riid, ppvoid);
|
||||
}
|
||||
|
||||
/************************************************************************
|
||||
|
@ -1460,9 +1480,9 @@ static HRESULT WINAPI OLEFontImpl_IPersistStream_QueryInterface(
|
|||
static ULONG WINAPI OLEFontImpl_IPersistStream_Release(
|
||||
IPersistStream* iface)
|
||||
{
|
||||
_ICOM_THIS_From_IPersistStream(IFont, iface);
|
||||
OLEFontImpl *this = impl_from_IPersistStream(iface);
|
||||
|
||||
return IFont_Release(this);
|
||||
return IFont_Release((IFont *)this);
|
||||
}
|
||||
|
||||
/************************************************************************
|
||||
|
@ -1473,9 +1493,9 @@ static ULONG WINAPI OLEFontImpl_IPersistStream_Release(
|
|||
static ULONG WINAPI OLEFontImpl_IPersistStream_AddRef(
|
||||
IPersistStream* iface)
|
||||
{
|
||||
_ICOM_THIS_From_IPersistStream(IFont, iface);
|
||||
OLEFontImpl *this = impl_from_IPersistStream(iface);
|
||||
|
||||
return IFont_AddRef(this);
|
||||
return IFont_AddRef((IFont *)this);
|
||||
}
|
||||
|
||||
/************************************************************************
|
||||
|
@ -1540,7 +1560,7 @@ static HRESULT WINAPI OLEFontImpl_Load(
|
|||
BYTE bStringSize;
|
||||
INT len;
|
||||
|
||||
_ICOM_THIS_From_IPersistStream(OLEFontImpl, iface);
|
||||
OLEFontImpl *this = impl_from_IPersistStream(iface);
|
||||
|
||||
/*
|
||||
* Read the version byte
|
||||
|
@ -1632,7 +1652,7 @@ static HRESULT WINAPI OLEFontImpl_Save(
|
|||
BYTE bAttributes;
|
||||
BYTE bStringSize;
|
||||
|
||||
_ICOM_THIS_From_IPersistStream(OLEFontImpl, iface);
|
||||
OLEFontImpl *this = impl_from_IPersistStream(iface);
|
||||
|
||||
/*
|
||||
* Read the version byte
|
||||
|
@ -1725,7 +1745,7 @@ static HRESULT WINAPI OLEFontImpl_GetSizeMax(
|
|||
IPersistStream* iface,
|
||||
ULARGE_INTEGER* pcbSize)
|
||||
{
|
||||
_ICOM_THIS_From_IPersistStream(OLEFontImpl, iface);
|
||||
OLEFontImpl *this = impl_from_IPersistStream(iface);
|
||||
|
||||
if (pcbSize==NULL)
|
||||
return E_POINTER;
|
||||
|
@ -1756,7 +1776,7 @@ static HRESULT WINAPI OLEFontImpl_IConnectionPointContainer_QueryInterface(
|
|||
REFIID riid,
|
||||
VOID** ppvoid)
|
||||
{
|
||||
_ICOM_THIS_From_IConnectionPointContainer(OLEFontImpl, iface);
|
||||
OLEFontImpl *this = impl_from_IConnectionPointContainer(iface);
|
||||
|
||||
return IFont_QueryInterface((IFont*)this, riid, ppvoid);
|
||||
}
|
||||
|
@ -1769,7 +1789,7 @@ static HRESULT WINAPI OLEFontImpl_IConnectionPointContainer_QueryInterface(
|
|||
static ULONG WINAPI OLEFontImpl_IConnectionPointContainer_Release(
|
||||
IConnectionPointContainer* iface)
|
||||
{
|
||||
_ICOM_THIS_From_IConnectionPointContainer(OLEFontImpl, iface);
|
||||
OLEFontImpl *this = impl_from_IConnectionPointContainer(iface);
|
||||
|
||||
return IFont_Release((IFont*)this);
|
||||
}
|
||||
|
@ -1782,7 +1802,7 @@ static ULONG WINAPI OLEFontImpl_IConnectionPointContainer_Release(
|
|||
static ULONG WINAPI OLEFontImpl_IConnectionPointContainer_AddRef(
|
||||
IConnectionPointContainer* iface)
|
||||
{
|
||||
_ICOM_THIS_From_IConnectionPointContainer(OLEFontImpl, iface);
|
||||
OLEFontImpl *this = impl_from_IConnectionPointContainer(iface);
|
||||
|
||||
return IFont_AddRef((IFont*)this);
|
||||
}
|
||||
|
@ -1797,7 +1817,7 @@ static HRESULT WINAPI OLEFontImpl_EnumConnectionPoints(
|
|||
IConnectionPointContainer* iface,
|
||||
IEnumConnectionPoints **ppEnum)
|
||||
{
|
||||
_ICOM_THIS_From_IConnectionPointContainer(OLEFontImpl, iface);
|
||||
OLEFontImpl *this = impl_from_IConnectionPointContainer(iface);
|
||||
|
||||
FIXME("(%p)->(%p): stub\n", this, ppEnum);
|
||||
return E_NOTIMPL;
|
||||
|
@ -1814,7 +1834,7 @@ static HRESULT WINAPI OLEFontImpl_FindConnectionPoint(
|
|||
REFIID riid,
|
||||
IConnectionPoint **ppCp)
|
||||
{
|
||||
_ICOM_THIS_From_IConnectionPointContainer(OLEFontImpl, iface);
|
||||
OLEFontImpl *this = impl_from_IConnectionPointContainer(iface);
|
||||
TRACE("(%p)->(%s, %p): stub\n", this, debugstr_guid(riid), ppCp);
|
||||
|
||||
if(memcmp(riid, &IID_IPropertyNotifySink, sizeof(IID_IPropertyNotifySink)) == 0) {
|
||||
|
@ -1832,22 +1852,22 @@ static HRESULT WINAPI OLEFontImpl_FindConnectionPoint(
|
|||
static HRESULT WINAPI OLEFontImpl_IPersistPropertyBag_QueryInterface(
|
||||
IPersistPropertyBag *iface, REFIID riid, LPVOID *ppvObj
|
||||
) {
|
||||
_ICOM_THIS_From_IPersistPropertyBag(IFont, iface);
|
||||
return IFont_QueryInterface(this,riid,ppvObj);
|
||||
OLEFontImpl *this = impl_from_IPersistPropertyBag(iface);
|
||||
return IFont_QueryInterface((IFont *)this,riid,ppvObj);
|
||||
}
|
||||
|
||||
static ULONG WINAPI OLEFontImpl_IPersistPropertyBag_AddRef(
|
||||
IPersistPropertyBag *iface
|
||||
) {
|
||||
_ICOM_THIS_From_IPersistPropertyBag(IFont, iface);
|
||||
return IFont_AddRef(this);
|
||||
OLEFontImpl *this = impl_from_IPersistPropertyBag(iface);
|
||||
return IFont_AddRef((IFont *)this);
|
||||
}
|
||||
|
||||
static ULONG WINAPI OLEFontImpl_IPersistPropertyBag_Release(
|
||||
IPersistPropertyBag *iface
|
||||
) {
|
||||
_ICOM_THIS_From_IPersistPropertyBag(IFont, iface);
|
||||
return IFont_Release(this);
|
||||
OLEFontImpl *this = impl_from_IPersistPropertyBag(iface);
|
||||
return IFont_Release((IFont *)this);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI OLEFontImpl_IPersistPropertyBag_GetClassID(
|
||||
|
@ -1886,7 +1906,7 @@ static HRESULT WINAPI OLEFontImpl_IPersistPropertyBag_Load(
|
|||
VARIANT rawAttr;
|
||||
VARIANT valueAttr;
|
||||
HRESULT iRes = S_OK;
|
||||
_ICOM_THIS_From_IPersistPropertyBag(IFont, iface);
|
||||
OLEFontImpl *this = impl_from_IPersistPropertyBag(iface);
|
||||
|
||||
VariantInit(&rawAttr);
|
||||
VariantInit(&valueAttr);
|
||||
|
@ -1897,7 +1917,7 @@ static HRESULT WINAPI OLEFontImpl_IPersistPropertyBag_Load(
|
|||
{
|
||||
iRes = VariantChangeType(&rawAttr, &valueAttr, 0, VT_BSTR);
|
||||
if (iRes == S_OK)
|
||||
iRes = IFont_put_Name(this, V_BSTR(&valueAttr));
|
||||
iRes = IFont_put_Name((IFont *)this, V_BSTR(&valueAttr));
|
||||
}
|
||||
else if (iRes == E_INVALIDARG)
|
||||
iRes = S_OK;
|
||||
|
@ -1911,7 +1931,7 @@ static HRESULT WINAPI OLEFontImpl_IPersistPropertyBag_Load(
|
|||
{
|
||||
iRes = VariantChangeType(&rawAttr, &valueAttr, 0, VT_CY);
|
||||
if (iRes == S_OK)
|
||||
iRes = IFont_put_Size(this, V_CY(&valueAttr));
|
||||
iRes = IFont_put_Size((IFont *)this, V_CY(&valueAttr));
|
||||
}
|
||||
else if (iRes == E_INVALIDARG)
|
||||
iRes = S_OK;
|
||||
|
@ -1925,7 +1945,7 @@ static HRESULT WINAPI OLEFontImpl_IPersistPropertyBag_Load(
|
|||
{
|
||||
iRes = VariantChangeType(&rawAttr, &valueAttr, 0, VT_I2);
|
||||
if (iRes == S_OK)
|
||||
iRes = IFont_put_Charset(this, V_I2(&valueAttr));
|
||||
iRes = IFont_put_Charset((IFont *)this, V_I2(&valueAttr));
|
||||
}
|
||||
else if (iRes == E_INVALIDARG)
|
||||
iRes = S_OK;
|
||||
|
@ -1939,7 +1959,7 @@ static HRESULT WINAPI OLEFontImpl_IPersistPropertyBag_Load(
|
|||
{
|
||||
iRes = VariantChangeType(&rawAttr, &valueAttr, 0, VT_I2);
|
||||
if (iRes == S_OK)
|
||||
iRes = IFont_put_Weight(this, V_I2(&valueAttr));
|
||||
iRes = IFont_put_Weight((IFont *)this, V_I2(&valueAttr));
|
||||
}
|
||||
else if (iRes == E_INVALIDARG)
|
||||
iRes = S_OK;
|
||||
|
@ -1954,7 +1974,7 @@ static HRESULT WINAPI OLEFontImpl_IPersistPropertyBag_Load(
|
|||
{
|
||||
iRes = VariantChangeType(&rawAttr, &valueAttr, 0, VT_BOOL);
|
||||
if (iRes == S_OK)
|
||||
iRes = IFont_put_Underline(this, V_BOOL(&valueAttr));
|
||||
iRes = IFont_put_Underline((IFont *)this, V_BOOL(&valueAttr));
|
||||
}
|
||||
else if (iRes == E_INVALIDARG)
|
||||
iRes = S_OK;
|
||||
|
@ -1968,7 +1988,7 @@ static HRESULT WINAPI OLEFontImpl_IPersistPropertyBag_Load(
|
|||
{
|
||||
iRes = VariantChangeType(&rawAttr, &valueAttr, 0, VT_BOOL);
|
||||
if (iRes == S_OK)
|
||||
iRes = IFont_put_Italic(this, V_BOOL(&valueAttr));
|
||||
iRes = IFont_put_Italic((IFont *)this, V_BOOL(&valueAttr));
|
||||
}
|
||||
else if (iRes == E_INVALIDARG)
|
||||
iRes = S_OK;
|
||||
|
@ -1982,7 +2002,7 @@ static HRESULT WINAPI OLEFontImpl_IPersistPropertyBag_Load(
|
|||
{
|
||||
iRes = VariantChangeType(&rawAttr, &valueAttr, 0, VT_BOOL);
|
||||
if (iRes == S_OK)
|
||||
IFont_put_Strikethrough(this, V_BOOL(&valueAttr));
|
||||
IFont_put_Strikethrough((IFont *)this, V_BOOL(&valueAttr));
|
||||
}
|
||||
else if (iRes == E_INVALIDARG)
|
||||
iRes = S_OK;
|
||||
|
@ -2021,22 +2041,22 @@ static const IPersistPropertyBagVtbl OLEFontImpl_IPersistPropertyBag_VTable =
|
|||
static HRESULT WINAPI OLEFontImpl_IPersistStreamInit_QueryInterface(
|
||||
IPersistStreamInit *iface, REFIID riid, LPVOID *ppvObj
|
||||
) {
|
||||
_ICOM_THIS_From_IPersistStreamInit(IFont, iface);
|
||||
return IFont_QueryInterface(this,riid,ppvObj);
|
||||
OLEFontImpl *this = impl_from_IPersistStreamInit(iface);
|
||||
return IFont_QueryInterface((IFont *)this,riid,ppvObj);
|
||||
}
|
||||
|
||||
static ULONG WINAPI OLEFontImpl_IPersistStreamInit_AddRef(
|
||||
IPersistStreamInit *iface
|
||||
) {
|
||||
_ICOM_THIS_From_IPersistStreamInit(IFont, iface);
|
||||
return IFont_AddRef(this);
|
||||
OLEFontImpl *this = impl_from_IPersistStreamInit(iface);
|
||||
return IFont_AddRef((IFont *)this);
|
||||
}
|
||||
|
||||
static ULONG WINAPI OLEFontImpl_IPersistStreamInit_Release(
|
||||
IPersistStreamInit *iface
|
||||
) {
|
||||
_ICOM_THIS_From_IPersistStreamInit(IFont, iface);
|
||||
return IFont_Release(this);
|
||||
OLEFontImpl *this = impl_from_IPersistStreamInit(iface);
|
||||
return IFont_Release((IFont *)this);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI OLEFontImpl_IPersistStreamInit_GetClassID(
|
||||
|
|
|
@ -125,10 +125,10 @@ typedef struct OLEPictureImpl {
|
|||
* IPicture handles IUnknown
|
||||
*/
|
||||
|
||||
const IPictureVtbl *lpvtbl1;
|
||||
const IDispatchVtbl *lpvtbl2;
|
||||
const IPersistStreamVtbl *lpvtbl3;
|
||||
const IConnectionPointContainerVtbl *lpvtbl4;
|
||||
const IPictureVtbl *lpVtbl;
|
||||
const IDispatchVtbl *lpvtblIDispatch;
|
||||
const IPersistStreamVtbl *lpvtblIPersistStream;
|
||||
const IConnectionPointContainerVtbl *lpvtblIConnectionPointContainer;
|
||||
|
||||
/* Object reference count */
|
||||
LONG ref;
|
||||
|
@ -168,12 +168,21 @@ typedef struct OLEPictureImpl {
|
|||
/*
|
||||
* Macros to retrieve pointer to IUnknown (IPicture) from the other VTables.
|
||||
*/
|
||||
#define ICOM_THIS_From_IDispatch(impl, name) \
|
||||
impl *This = (impl*)(((char*)name)-sizeof(void*));
|
||||
#define ICOM_THIS_From_IPersistStream(impl, name) \
|
||||
impl *This = (impl*)(((char*)name)-2*sizeof(void*));
|
||||
#define ICOM_THIS_From_IConnectionPointContainer(impl, name) \
|
||||
impl *This = (impl*)(((char*)name)-3*sizeof(void*));
|
||||
|
||||
static inline OLEPictureImpl *impl_from_IDispatch( IDispatch *iface )
|
||||
{
|
||||
return (OLEPictureImpl *)((char*)iface - FIELD_OFFSET(OLEPictureImpl, lpvtblIDispatch));
|
||||
}
|
||||
|
||||
static inline OLEPictureImpl *impl_from_IPersistStream( IPersistStream *iface )
|
||||
{
|
||||
return (OLEPictureImpl *)((char*)iface - FIELD_OFFSET(OLEPictureImpl, lpvtblIPersistStream));
|
||||
}
|
||||
|
||||
static inline OLEPictureImpl *impl_from_IConnectionPointContainer( IConnectionPointContainer *iface )
|
||||
{
|
||||
return (OLEPictureImpl *)((char*)iface - FIELD_OFFSET(OLEPictureImpl, lpvtblIConnectionPointContainer));
|
||||
}
|
||||
|
||||
/*
|
||||
* Predeclare VTables. They get initialized at the end.
|
||||
|
@ -265,10 +274,10 @@ static OLEPictureImpl* OLEPictureImpl_Construct(LPPICTDESC pictDesc, BOOL fOwn)
|
|||
/*
|
||||
* Initialize the virtual function table.
|
||||
*/
|
||||
newObject->lpvtbl1 = &OLEPictureImpl_VTable;
|
||||
newObject->lpvtbl2 = &OLEPictureImpl_IDispatch_VTable;
|
||||
newObject->lpvtbl3 = &OLEPictureImpl_IPersistStream_VTable;
|
||||
newObject->lpvtbl4 = &OLEPictureImpl_IConnectionPointContainer_VTable;
|
||||
newObject->lpVtbl = &OLEPictureImpl_VTable;
|
||||
newObject->lpvtblIDispatch = &OLEPictureImpl_IDispatch_VTable;
|
||||
newObject->lpvtblIPersistStream = &OLEPictureImpl_IPersistStream_VTable;
|
||||
newObject->lpvtblIConnectionPointContainer = &OLEPictureImpl_IConnectionPointContainer_VTable;
|
||||
|
||||
CreateConnectionPoint((IUnknown*)newObject,&IID_IPropertyNotifySink,&newObject->pCP);
|
||||
|
||||
|
@ -407,19 +416,19 @@ static HRESULT WINAPI OLEPictureImpl_QueryInterface(
|
|||
}
|
||||
else if (memcmp(&IID_IDispatch, riid, sizeof(IID_IDispatch)) == 0)
|
||||
{
|
||||
*ppvObject = (IDispatch*)&(This->lpvtbl2);
|
||||
*ppvObject = (IDispatch*)&(This->lpvtblIDispatch);
|
||||
}
|
||||
else if (memcmp(&IID_IPictureDisp, riid, sizeof(IID_IPictureDisp)) == 0)
|
||||
{
|
||||
*ppvObject = (IDispatch*)&(This->lpvtbl2);
|
||||
*ppvObject = (IDispatch*)&(This->lpvtblIDispatch);
|
||||
}
|
||||
else if (memcmp(&IID_IPersistStream, riid, sizeof(IID_IPersistStream)) == 0)
|
||||
{
|
||||
*ppvObject = (IPersistStream*)&(This->lpvtbl3);
|
||||
*ppvObject = (IPersistStream*)&(This->lpvtblIPersistStream);
|
||||
}
|
||||
else if (memcmp(&IID_IConnectionPointContainer, riid, sizeof(IID_IConnectionPointContainer)) == 0)
|
||||
{
|
||||
*ppvObject = (IConnectionPointContainer*)&(This->lpvtbl4);
|
||||
*ppvObject = (IConnectionPointContainer*)&(This->lpvtblIConnectionPointContainer);
|
||||
}
|
||||
/*
|
||||
* Check that we obtained an interface.
|
||||
|
@ -791,34 +800,34 @@ static HRESULT WINAPI OLEPictureImpl_get_Attributes(IPicture *iface,
|
|||
static HRESULT WINAPI OLEPictureImpl_IConnectionPointContainer_QueryInterface(
|
||||
IConnectionPointContainer* iface,
|
||||
REFIID riid,
|
||||
VOID** ppvoid
|
||||
) {
|
||||
ICOM_THIS_From_IConnectionPointContainer(IPicture,iface);
|
||||
VOID** ppvoid)
|
||||
{
|
||||
OLEPictureImpl *This = impl_from_IConnectionPointContainer(iface);
|
||||
|
||||
return IPicture_QueryInterface(This,riid,ppvoid);
|
||||
return IPicture_QueryInterface((IPicture *)This,riid,ppvoid);
|
||||
}
|
||||
|
||||
static ULONG WINAPI OLEPictureImpl_IConnectionPointContainer_AddRef(
|
||||
IConnectionPointContainer* iface)
|
||||
{
|
||||
ICOM_THIS_From_IConnectionPointContainer(IPicture, iface);
|
||||
OLEPictureImpl *This = impl_from_IConnectionPointContainer(iface);
|
||||
|
||||
return IPicture_AddRef(This);
|
||||
return IPicture_AddRef((IPicture *)This);
|
||||
}
|
||||
|
||||
static ULONG WINAPI OLEPictureImpl_IConnectionPointContainer_Release(
|
||||
IConnectionPointContainer* iface)
|
||||
{
|
||||
ICOM_THIS_From_IConnectionPointContainer(IPicture, iface);
|
||||
OLEPictureImpl *This = impl_from_IConnectionPointContainer(iface);
|
||||
|
||||
return IPicture_Release(This);
|
||||
return IPicture_Release((IPicture *)This);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI OLEPictureImpl_EnumConnectionPoints(
|
||||
IConnectionPointContainer* iface,
|
||||
IEnumConnectionPoints** ppEnum
|
||||
) {
|
||||
ICOM_THIS_From_IConnectionPointContainer(IPicture, iface);
|
||||
IEnumConnectionPoints** ppEnum)
|
||||
{
|
||||
OLEPictureImpl *This = impl_from_IConnectionPointContainer(iface);
|
||||
|
||||
FIXME("(%p,%p), stub!\n",This,ppEnum);
|
||||
return E_NOTIMPL;
|
||||
|
@ -827,9 +836,9 @@ static HRESULT WINAPI OLEPictureImpl_EnumConnectionPoints(
|
|||
static HRESULT WINAPI OLEPictureImpl_FindConnectionPoint(
|
||||
IConnectionPointContainer* iface,
|
||||
REFIID riid,
|
||||
IConnectionPoint **ppCP
|
||||
) {
|
||||
ICOM_THIS_From_IConnectionPointContainer(OLEPictureImpl, iface);
|
||||
IConnectionPoint **ppCP)
|
||||
{
|
||||
OLEPictureImpl *This = impl_from_IConnectionPointContainer(iface);
|
||||
TRACE("(%p,%s,%p)\n",This,debugstr_guid(riid),ppCP);
|
||||
if (!ppCP)
|
||||
return E_POINTER;
|
||||
|
@ -852,9 +861,9 @@ static HRESULT WINAPI OLEPictureImpl_IPersistStream_QueryInterface(
|
|||
REFIID riid,
|
||||
VOID** ppvoid)
|
||||
{
|
||||
ICOM_THIS_From_IPersistStream(IPicture, iface);
|
||||
OLEPictureImpl *This = impl_from_IPersistStream(iface);
|
||||
|
||||
return IPicture_QueryInterface(This, riid, ppvoid);
|
||||
return IPicture_QueryInterface((IPicture *)This, riid, ppvoid);
|
||||
}
|
||||
|
||||
/************************************************************************
|
||||
|
@ -865,9 +874,9 @@ static HRESULT WINAPI OLEPictureImpl_IPersistStream_QueryInterface(
|
|||
static ULONG WINAPI OLEPictureImpl_IPersistStream_AddRef(
|
||||
IPersistStream* iface)
|
||||
{
|
||||
ICOM_THIS_From_IPersistStream(IPicture, iface);
|
||||
OLEPictureImpl *This = impl_from_IPersistStream(iface);
|
||||
|
||||
return IPicture_AddRef(This);
|
||||
return IPicture_AddRef((IPicture *)This);
|
||||
}
|
||||
|
||||
/************************************************************************
|
||||
|
@ -878,9 +887,9 @@ static ULONG WINAPI OLEPictureImpl_IPersistStream_AddRef(
|
|||
static ULONG WINAPI OLEPictureImpl_IPersistStream_Release(
|
||||
IPersistStream* iface)
|
||||
{
|
||||
ICOM_THIS_From_IPersistStream(IPicture, iface);
|
||||
OLEPictureImpl *This = impl_from_IPersistStream(iface);
|
||||
|
||||
return IPicture_Release(This);
|
||||
return IPicture_Release((IPicture *)This);
|
||||
}
|
||||
|
||||
/************************************************************************
|
||||
|
@ -889,7 +898,7 @@ static ULONG WINAPI OLEPictureImpl_IPersistStream_Release(
|
|||
static HRESULT WINAPI OLEPictureImpl_GetClassID(
|
||||
IPersistStream* iface,CLSID* pClassID)
|
||||
{
|
||||
ICOM_THIS_From_IPersistStream(IPicture, iface);
|
||||
OLEPictureImpl *This = impl_from_IPersistStream(iface);
|
||||
FIXME("(%p),stub!\n",This);
|
||||
return E_FAIL;
|
||||
}
|
||||
|
@ -900,7 +909,7 @@ static HRESULT WINAPI OLEPictureImpl_GetClassID(
|
|||
static HRESULT WINAPI OLEPictureImpl_IsDirty(
|
||||
IPersistStream* iface)
|
||||
{
|
||||
ICOM_THIS_From_IPersistStream(IPicture, iface);
|
||||
OLEPictureImpl *This = impl_from_IPersistStream(iface);
|
||||
FIXME("(%p),stub!\n",This);
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
@ -1028,7 +1037,7 @@ static HRESULT WINAPI OLEPictureImpl_Load(IPersistStream* iface,IStream*pStm) {
|
|||
DWORD header[2];
|
||||
WORD magic;
|
||||
STATSTG statstg;
|
||||
ICOM_THIS_From_IPersistStream(OLEPictureImpl, iface);
|
||||
OLEPictureImpl *This = impl_from_IPersistStream(iface);
|
||||
|
||||
TRACE("(%p,%p)\n",This,pStm);
|
||||
|
||||
|
@ -1519,7 +1528,7 @@ static HRESULT WINAPI OLEPictureImpl_Save(
|
|||
ULONG dummy;
|
||||
int iSerializeResult = 0;
|
||||
|
||||
ICOM_THIS_From_IPersistStream(OLEPictureImpl, iface);
|
||||
OLEPictureImpl *This = impl_from_IPersistStream(iface);
|
||||
|
||||
switch (This->desc.picType) {
|
||||
case PICTYPE_ICON:
|
||||
|
@ -1837,7 +1846,7 @@ static int serializeIcon(HICON hIcon, void ** ppBuffer, unsigned int * pLength)
|
|||
static HRESULT WINAPI OLEPictureImpl_GetSizeMax(
|
||||
IPersistStream* iface,ULARGE_INTEGER*pcbSize)
|
||||
{
|
||||
ICOM_THIS_From_IPersistStream(IPicture, iface);
|
||||
OLEPictureImpl *This = impl_from_IPersistStream(iface);
|
||||
FIXME("(%p,%p),stub!\n",This,pcbSize);
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
@ -1855,9 +1864,9 @@ static HRESULT WINAPI OLEPictureImpl_IDispatch_QueryInterface(
|
|||
REFIID riid,
|
||||
VOID** ppvoid)
|
||||
{
|
||||
ICOM_THIS_From_IDispatch(IPicture, iface);
|
||||
OLEPictureImpl *This = impl_from_IDispatch(iface);
|
||||
|
||||
return IPicture_QueryInterface(This, riid, ppvoid);
|
||||
return IPicture_QueryInterface((IPicture *)This, riid, ppvoid);
|
||||
}
|
||||
|
||||
/************************************************************************
|
||||
|
@ -1868,9 +1877,9 @@ static HRESULT WINAPI OLEPictureImpl_IDispatch_QueryInterface(
|
|||
static ULONG WINAPI OLEPictureImpl_IDispatch_AddRef(
|
||||
IDispatch* iface)
|
||||
{
|
||||
ICOM_THIS_From_IDispatch(IPicture, iface);
|
||||
OLEPictureImpl *This = impl_from_IDispatch(iface);
|
||||
|
||||
return IPicture_AddRef(This);
|
||||
return IPicture_AddRef((IPicture *)This);
|
||||
}
|
||||
|
||||
/************************************************************************
|
||||
|
@ -1881,9 +1890,9 @@ static ULONG WINAPI OLEPictureImpl_IDispatch_AddRef(
|
|||
static ULONG WINAPI OLEPictureImpl_IDispatch_Release(
|
||||
IDispatch* iface)
|
||||
{
|
||||
ICOM_THIS_From_IDispatch(IPicture, iface);
|
||||
OLEPictureImpl *This = impl_from_IDispatch(iface);
|
||||
|
||||
return IPicture_Release(This);
|
||||
return IPicture_Release((IPicture *)This);
|
||||
}
|
||||
|
||||
/************************************************************************
|
||||
|
|
|
@ -885,8 +885,10 @@ typedef struct tagITypeLibImpl
|
|||
static const ITypeLib2Vtbl tlbvt;
|
||||
static const ITypeCompVtbl tlbtcvt;
|
||||
|
||||
#define _ITypeComp_Offset(impl) ((int)(&(((impl*)0)->lpVtblTypeComp)))
|
||||
#define ICOM_THIS_From_ITypeComp(impl, iface) impl* This = (impl*)(((char*)iface)-_ITypeComp_Offset(impl))
|
||||
static inline ITypeLibImpl *impl_from_ITypeComp( ITypeComp *iface )
|
||||
{
|
||||
return (ITypeLibImpl *)((char*)iface - FIELD_OFFSET(ITypeLibImpl, lpVtblTypeComp));
|
||||
}
|
||||
|
||||
/* ITypeLib methods */
|
||||
static ITypeLib2* ITypeLib2_Constructor_MSFT(LPVOID pLib, DWORD dwTLBLength);
|
||||
|
@ -995,6 +997,11 @@ typedef struct tagITypeInfoImpl
|
|||
struct tagITypeInfoImpl * next;
|
||||
} ITypeInfoImpl;
|
||||
|
||||
static inline ITypeInfoImpl *info_impl_from_ITypeComp( ITypeComp *iface )
|
||||
{
|
||||
return (ITypeInfoImpl *)((char*)iface - FIELD_OFFSET(ITypeInfoImpl, lpVtblTypeComp));
|
||||
}
|
||||
|
||||
static const ITypeInfo2Vtbl tinfvt;
|
||||
static const ITypeCompVtbl tcompvt;
|
||||
|
||||
|
@ -4003,23 +4010,23 @@ static const ITypeLib2Vtbl tlbvt = {
|
|||
|
||||
static HRESULT WINAPI ITypeLibComp_fnQueryInterface(ITypeComp * iface, REFIID riid, LPVOID * ppv)
|
||||
{
|
||||
ICOM_THIS_From_ITypeComp(ITypeLibImpl, iface);
|
||||
ITypeLibImpl *This = impl_from_ITypeComp(iface);
|
||||
|
||||
return ITypeInfo_QueryInterface((ITypeInfo *)This, riid, ppv);
|
||||
return ITypeLib2_QueryInterface((ITypeLib *)This, riid, ppv);
|
||||
}
|
||||
|
||||
static ULONG WINAPI ITypeLibComp_fnAddRef(ITypeComp * iface)
|
||||
{
|
||||
ICOM_THIS_From_ITypeComp(ITypeLibImpl, iface);
|
||||
ITypeLibImpl *This = impl_from_ITypeComp(iface);
|
||||
|
||||
return ITypeInfo_AddRef((ITypeInfo *)This);
|
||||
return ITypeLib2_AddRef((ITypeLib2 *)This);
|
||||
}
|
||||
|
||||
static ULONG WINAPI ITypeLibComp_fnRelease(ITypeComp * iface)
|
||||
{
|
||||
ICOM_THIS_From_ITypeComp(ITypeLibImpl, iface);
|
||||
ITypeLibImpl *This = impl_from_ITypeComp(iface);
|
||||
|
||||
return ITypeInfo_Release((ITypeInfo *)This);
|
||||
return ITypeLib2_Release((ITypeLib2 *)This);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI ITypeLibComp_fnBind(
|
||||
|
@ -5955,21 +5962,21 @@ HRESULT WINAPI CreateDispTypeInfo(
|
|||
|
||||
static HRESULT WINAPI ITypeComp_fnQueryInterface(ITypeComp * iface, REFIID riid, LPVOID * ppv)
|
||||
{
|
||||
ICOM_THIS_From_ITypeComp(ITypeInfoImpl, iface);
|
||||
ITypeInfoImpl *This = info_impl_from_ITypeComp(iface);
|
||||
|
||||
return ITypeInfo_QueryInterface((ITypeInfo *)This, riid, ppv);
|
||||
}
|
||||
|
||||
static ULONG WINAPI ITypeComp_fnAddRef(ITypeComp * iface)
|
||||
{
|
||||
ICOM_THIS_From_ITypeComp(ITypeInfoImpl, iface);
|
||||
ITypeInfoImpl *This = info_impl_from_ITypeComp(iface);
|
||||
|
||||
return ITypeInfo_AddRef((ITypeInfo *)This);
|
||||
}
|
||||
|
||||
static ULONG WINAPI ITypeComp_fnRelease(ITypeComp * iface)
|
||||
{
|
||||
ICOM_THIS_From_ITypeComp(ITypeInfoImpl, iface);
|
||||
ITypeInfoImpl *This = info_impl_from_ITypeComp(iface);
|
||||
|
||||
return ITypeInfo_Release((ITypeInfo *)This);
|
||||
}
|
||||
|
@ -5983,7 +5990,7 @@ static HRESULT WINAPI ITypeComp_fnBind(
|
|||
DESCKIND * pDescKind,
|
||||
BINDPTR * pBindPtr)
|
||||
{
|
||||
ICOM_THIS_From_ITypeComp(ITypeInfoImpl, iface);
|
||||
ITypeInfoImpl *This = info_impl_from_ITypeComp(iface);
|
||||
TLBFuncDesc * pFDesc;
|
||||
TLBVarDesc * pVDesc;
|
||||
|
||||
|
|
|
@ -166,8 +166,10 @@ typedef struct tagICreateTypeLib2Impl
|
|||
struct tagICreateTypeInfo2Impl *last_typeinfo;
|
||||
} ICreateTypeLib2Impl;
|
||||
|
||||
#define _ITypeLib2_Offset(impl) ((int)(&(((impl*)0)->lpVtblTypeLib2)))
|
||||
#define ICOM_THIS_From_ITypeLib2(impl, iface) impl* This = (impl*)(((char*)iface)-_ITypeLib2_Offset(impl))
|
||||
static inline ICreateTypeLib2Impl *impl_from_ITypeLib2( ITypeLib2 *iface )
|
||||
{
|
||||
return (ICreateTypeLib2Impl *)((char*)iface - FIELD_OFFSET(ICreateTypeLib2Impl, lpVtblTypeLib2));
|
||||
}
|
||||
|
||||
typedef struct tagICreateTypeInfo2Impl
|
||||
{
|
||||
|
@ -192,8 +194,10 @@ typedef struct tagICreateTypeInfo2Impl
|
|||
struct tagICreateTypeInfo2Impl *next_typeinfo;
|
||||
} ICreateTypeInfo2Impl;
|
||||
|
||||
#define _ITypeInfo2_Offset(impl) ((int)(&(((impl*)0)->lpVtblTypeInfo2)))
|
||||
#define ICOM_THIS_From_ITypeInfo2(impl, iface) impl* This = (impl*)(((char*)iface)-_ITypeInfo2_Offset(impl))
|
||||
static inline ICreateTypeInfo2Impl *impl_from_ITypeInfo2( ITypeInfo2 *iface )
|
||||
{
|
||||
return (ICreateTypeInfo2Impl *)((char*)iface - FIELD_OFFSET(ICreateTypeInfo2Impl, lpVtblTypeInfo2));
|
||||
}
|
||||
|
||||
static ULONG WINAPI ICreateTypeLib2_fnRelease(ICreateTypeLib2 *iface);
|
||||
|
||||
|
@ -2198,7 +2202,7 @@ static HRESULT WINAPI ICreateTypeInfo2_fnSetName(
|
|||
*/
|
||||
static HRESULT WINAPI ITypeInfo2_fnQueryInterface(ITypeInfo2 * iface, REFIID riid, LPVOID * ppv)
|
||||
{
|
||||
ICOM_THIS_From_ITypeInfo2(ICreateTypeInfo2Impl, iface);
|
||||
ICreateTypeInfo2Impl *This = impl_from_ITypeInfo2(iface);
|
||||
|
||||
return ICreateTypeInfo2_QueryInterface((ICreateTypeInfo2 *)This, riid, ppv);
|
||||
}
|
||||
|
@ -2210,7 +2214,7 @@ static HRESULT WINAPI ITypeInfo2_fnQueryInterface(ITypeInfo2 * iface, REFIID rii
|
|||
*/
|
||||
static ULONG WINAPI ITypeInfo2_fnAddRef(ITypeInfo2 * iface)
|
||||
{
|
||||
ICOM_THIS_From_ITypeInfo2(ICreateTypeInfo2Impl, iface);
|
||||
ICreateTypeInfo2Impl *This = impl_from_ITypeInfo2(iface);
|
||||
|
||||
return ICreateTypeInfo2_AddRef((ICreateTypeInfo2 *)This);
|
||||
}
|
||||
|
@ -2222,7 +2226,7 @@ static ULONG WINAPI ITypeInfo2_fnAddRef(ITypeInfo2 * iface)
|
|||
*/
|
||||
static ULONG WINAPI ITypeInfo2_fnRelease(ITypeInfo2 * iface)
|
||||
{
|
||||
ICOM_THIS_From_ITypeInfo2(ICreateTypeInfo2Impl, iface);
|
||||
ICreateTypeInfo2Impl *This = impl_from_ITypeInfo2(iface);
|
||||
|
||||
return ICreateTypeInfo2_Release((ICreateTypeInfo2 *)This);
|
||||
}
|
||||
|
@ -2461,7 +2465,7 @@ static HRESULT WINAPI ITypeInfo2_fnGetContainingTypeLib(
|
|||
ITypeLib** ppTLib,
|
||||
UINT* pIndex)
|
||||
{
|
||||
ICOM_THIS_From_ITypeInfo2(ICreateTypeInfo2Impl, iface);
|
||||
ICreateTypeInfo2Impl *This = impl_from_ITypeInfo2(iface);
|
||||
|
||||
TRACE("(%p,%p,%p)\n", iface, ppTLib, pIndex);
|
||||
|
||||
|
@ -3431,7 +3435,7 @@ static HRESULT WINAPI ICreateTypeLib2_fnSetHelpStringDll(
|
|||
*/
|
||||
static HRESULT WINAPI ITypeLib2_fnQueryInterface(ITypeLib2 * iface, REFIID riid, LPVOID * ppv)
|
||||
{
|
||||
ICOM_THIS_From_ITypeLib2(ICreateTypeLib2Impl, iface);
|
||||
ICreateTypeLib2Impl *This = impl_from_ITypeLib2(iface);
|
||||
|
||||
return ICreateTypeLib2_QueryInterface((ICreateTypeLib2 *)This, riid, ppv);
|
||||
}
|
||||
|
@ -3443,7 +3447,7 @@ static HRESULT WINAPI ITypeLib2_fnQueryInterface(ITypeLib2 * iface, REFIID riid,
|
|||
*/
|
||||
static ULONG WINAPI ITypeLib2_fnAddRef(ITypeLib2 * iface)
|
||||
{
|
||||
ICOM_THIS_From_ITypeLib2(ICreateTypeLib2Impl, iface);
|
||||
ICreateTypeLib2Impl *This = impl_from_ITypeLib2(iface);
|
||||
|
||||
return ICreateTypeLib2_AddRef((ICreateTypeLib2 *)This);
|
||||
}
|
||||
|
@ -3455,7 +3459,7 @@ static ULONG WINAPI ITypeLib2_fnAddRef(ITypeLib2 * iface)
|
|||
*/
|
||||
static ULONG WINAPI ITypeLib2_fnRelease(ITypeLib2 * iface)
|
||||
{
|
||||
ICOM_THIS_From_ITypeLib2(ICreateTypeLib2Impl, iface);
|
||||
ICreateTypeLib2Impl *This = impl_from_ITypeLib2(iface);
|
||||
|
||||
return ICreateTypeLib2_Release((ICreateTypeLib2 *)This);
|
||||
}
|
||||
|
@ -3468,7 +3472,7 @@ static ULONG WINAPI ITypeLib2_fnRelease(ITypeLib2 * iface)
|
|||
static UINT WINAPI ITypeLib2_fnGetTypeInfoCount(
|
||||
ITypeLib2 * iface)
|
||||
{
|
||||
ICOM_THIS_From_ITypeLib2(ICreateTypeLib2Impl, iface);
|
||||
ICreateTypeLib2Impl *This = impl_from_ITypeLib2(iface);
|
||||
|
||||
TRACE("(%p)\n", iface);
|
||||
|
||||
|
@ -3485,7 +3489,7 @@ static HRESULT WINAPI ITypeLib2_fnGetTypeInfo(
|
|||
UINT index,
|
||||
ITypeInfo** ppTInfo)
|
||||
{
|
||||
ICOM_THIS_From_ITypeLib2(ICreateTypeLib2Impl, iface);
|
||||
ICreateTypeLib2Impl *This = impl_from_ITypeLib2(iface);
|
||||
|
||||
TRACE("(%p,%d,%p)\n", iface, index, ppTInfo);
|
||||
|
||||
|
@ -3506,7 +3510,7 @@ static HRESULT WINAPI ITypeLib2_fnGetTypeInfoType(
|
|||
UINT index,
|
||||
TYPEKIND* pTKind)
|
||||
{
|
||||
ICOM_THIS_From_ITypeLib2(ICreateTypeLib2Impl, iface);
|
||||
ICreateTypeLib2Impl *This = impl_from_ITypeLib2(iface);
|
||||
|
||||
TRACE("(%p,%d,%p)\n", iface, index, pTKind);
|
||||
|
||||
|
@ -3529,7 +3533,7 @@ static HRESULT WINAPI ITypeLib2_fnGetTypeInfoOfGuid(
|
|||
REFGUID guid,
|
||||
ITypeInfo** ppTinfo)
|
||||
{
|
||||
ICOM_THIS_From_ITypeLib2(ICreateTypeLib2Impl, iface);
|
||||
ICreateTypeLib2Impl *This = impl_from_ITypeLib2(iface);
|
||||
|
||||
int guidoffset;
|
||||
int typeinfo;
|
||||
|
@ -3554,9 +3558,9 @@ static HRESULT WINAPI ITypeLib2_fnGetLibAttr(
|
|||
ITypeLib2 * iface,
|
||||
TLIBATTR** ppTLibAttr)
|
||||
{
|
||||
/* ICOM_THIS_From_ITypeLib2(ICreateTypeLib2Impl, iface); */
|
||||
ICreateTypeLib2Impl *This = impl_from_ITypeLib2(iface);
|
||||
|
||||
FIXME("(%p,%p), stub!\n", iface, ppTLibAttr);
|
||||
FIXME("(%p,%p), stub!\n", This, ppTLibAttr);
|
||||
|
||||
return E_OUTOFMEMORY;
|
||||
}
|
||||
|
@ -3570,9 +3574,9 @@ static HRESULT WINAPI ITypeLib2_fnGetTypeComp(
|
|||
ITypeLib2 * iface,
|
||||
ITypeComp** ppTComp)
|
||||
{
|
||||
/* ICOM_THIS_From_ITypeLib2(ICreateTypeLib2Impl, iface); */
|
||||
ICreateTypeLib2Impl *This = impl_from_ITypeLib2(iface);
|
||||
|
||||
FIXME("(%p,%p), stub!\n", iface, ppTComp);
|
||||
FIXME("(%p,%p), stub!\n", This, ppTComp);
|
||||
|
||||
return E_OUTOFMEMORY;
|
||||
}
|
||||
|
@ -3590,9 +3594,9 @@ static HRESULT WINAPI ITypeLib2_fnGetDocumentation(
|
|||
DWORD* pdwHelpContext,
|
||||
BSTR* pBstrHelpFile)
|
||||
{
|
||||
/* ICOM_THIS_From_ITypeLib2(ICreateTypeLib2Impl, iface); */
|
||||
ICreateTypeLib2Impl *This = impl_from_ITypeLib2(iface);
|
||||
|
||||
FIXME("(%p,%d,%p,%p,%p,%p), stub!\n", iface, index, pBstrName, pBstrDocString, pdwHelpContext, pBstrHelpFile);
|
||||
FIXME("(%p,%d,%p,%p,%p,%p), stub!\n", This, index, pBstrName, pBstrDocString, pdwHelpContext, pBstrHelpFile);
|
||||
|
||||
return E_OUTOFMEMORY;
|
||||
}
|
||||
|
@ -3608,7 +3612,7 @@ static HRESULT WINAPI ITypeLib2_fnIsName(
|
|||
ULONG lHashVal,
|
||||
BOOL* pfName)
|
||||
{
|
||||
ICOM_THIS_From_ITypeLib2(ICreateTypeLib2Impl, iface);
|
||||
ICreateTypeLib2Impl *This = impl_from_ITypeLib2(iface);
|
||||
|
||||
char *encoded_name;
|
||||
int nameoffset;
|
||||
|
@ -3646,9 +3650,9 @@ static HRESULT WINAPI ITypeLib2_fnFindName(
|
|||
MEMBERID* rgMemId,
|
||||
USHORT* pcFound)
|
||||
{
|
||||
/* ICOM_THIS_From_ITypeLib2(ICreateTypeLib2Impl, iface); */
|
||||
ICreateTypeLib2Impl *This = impl_from_ITypeLib2(iface);
|
||||
|
||||
FIXME("(%p,%s,%lx,%p,%p,%p), stub!\n", iface, debugstr_w(szNameBuf), lHashVal, ppTInfo, rgMemId, pcFound);
|
||||
FIXME("(%p,%s,%lx,%p,%p,%p), stub!\n", This, debugstr_w(szNameBuf), lHashVal, ppTInfo, rgMemId, pcFound);
|
||||
|
||||
return E_OUTOFMEMORY;
|
||||
}
|
||||
|
@ -3662,9 +3666,9 @@ static void WINAPI ITypeLib2_fnReleaseTLibAttr(
|
|||
ITypeLib2 * iface,
|
||||
TLIBATTR* pTLibAttr)
|
||||
{
|
||||
/* ICOM_THIS_From_ITypeLib2(ICreateTypeLib2Impl, iface); */
|
||||
ICreateTypeLib2Impl *This = impl_from_ITypeLib2(iface);
|
||||
|
||||
FIXME("(%p,%p), stub!\n", iface, pTLibAttr);
|
||||
FIXME("(%p,%p), stub!\n", This, pTLibAttr);
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
|
@ -3682,9 +3686,9 @@ static HRESULT WINAPI ITypeLib2_fnGetCustData(
|
|||
REFGUID guid, /* [I] The GUID under which the custom data is stored. */
|
||||
VARIANT* pVarVal) /* [O] The custom data. */
|
||||
{
|
||||
/* ICOM_THIS_From_ITypeLib2(ICreateTypeLib2Impl, iface); */
|
||||
ICreateTypeLib2Impl *This = impl_from_ITypeLib2(iface);
|
||||
|
||||
FIXME("(%p,%s,%p), stub!\n", iface, debugstr_guid(guid), pVarVal);
|
||||
FIXME("(%p,%s,%p), stub!\n", This, debugstr_guid(guid), pVarVal);
|
||||
|
||||
return E_OUTOFMEMORY;
|
||||
}
|
||||
|
@ -3705,9 +3709,9 @@ static HRESULT WINAPI ITypeLib2_fnGetLibStatistics(
|
|||
ULONG* pcUniqueNames, /* [O] The number of unique names in the type library. */
|
||||
ULONG* pcchUniqueNames) /* [O] The number of changed (?) characters in names in the type library. */
|
||||
{
|
||||
/* ICOM_THIS_From_ITypeLib2(ICreateTypeLib2Impl, iface); */
|
||||
ICreateTypeLib2Impl *This = impl_from_ITypeLib2(iface);
|
||||
|
||||
FIXME("(%p,%p,%p), stub!\n", iface, pcUniqueNames, pcchUniqueNames);
|
||||
FIXME("(%p,%p,%p), stub!\n", This, pcUniqueNames, pcchUniqueNames);
|
||||
|
||||
return E_OUTOFMEMORY;
|
||||
}
|
||||
|
@ -3730,9 +3734,9 @@ static HRESULT WINAPI ITypeLib2_fnGetDocumentation2(
|
|||
DWORD* pdwHelpStringContext,
|
||||
BSTR* pbstrHelpStringDll)
|
||||
{
|
||||
/* ICOM_THIS_From_ITypeLib2(ICreateTypeLib2Impl, iface); */
|
||||
ICreateTypeLib2Impl *This = impl_from_ITypeLib2(iface);
|
||||
|
||||
FIXME("(%p,%d,%ld,%p,%p,%p), stub!\n", iface, index, lcid, pbstrHelpString, pdwHelpStringContext, pbstrHelpStringDll);
|
||||
FIXME("(%p,%d,%ld,%p,%p,%p), stub!\n", This, index, lcid, pbstrHelpString, pdwHelpStringContext, pbstrHelpStringDll);
|
||||
|
||||
return E_OUTOFMEMORY;
|
||||
}
|
||||
|
@ -3751,9 +3755,9 @@ static HRESULT WINAPI ITypeLib2_fnGetAllCustData(
|
|||
ITypeLib2 * iface, /* [I] The type library in which to find the custom data. */
|
||||
CUSTDATA* pCustData) /* [O] The structure in which to place the custom data. */
|
||||
{
|
||||
/* ICOM_THIS_From_ITypeLib2(ICreateTypeLib2Impl, iface); */
|
||||
ICreateTypeLib2Impl *This = impl_from_ITypeLib2(iface);
|
||||
|
||||
FIXME("(%p,%p), stub!\n", iface, pCustData);
|
||||
FIXME("(%p,%p), stub!\n", This, pCustData);
|
||||
|
||||
return E_OUTOFMEMORY;
|
||||
}
|
||||
|
|
|
@ -65,11 +65,15 @@ typedef struct CaptureGraphImpl
|
|||
static const ICaptureGraphBuilderVtbl builder_Vtbl;
|
||||
static const ICaptureGraphBuilder2Vtbl builder2_Vtbl;
|
||||
|
||||
#define _ICaptureGraphBuilder_Offset ((int)(&(((CaptureGraphImpl*)0)->lpVtbl)))
|
||||
#define _ICOM_THIS_From_ICaptureGraphBuilder(class, name) class* This = (class*)(((char*)name)-_ICaptureGraphBuilder_Offset)
|
||||
static inline CaptureGraphImpl *impl_from_ICaptureGraphBuilder( ICaptureGraphBuilder *iface )
|
||||
{
|
||||
return (CaptureGraphImpl *)((char*)iface - FIELD_OFFSET(CaptureGraphImpl, lpVtbl));
|
||||
}
|
||||
|
||||
#define _ICaptureGraphBuilder2_Offset ((int)(&(((CaptureGraphImpl*)0)->lpVtbl2)))
|
||||
#define _ICOM_THIS_From_ICaptureGraphBuilder2(class, name) class* This = (class*)(((char*)name)-_ICaptureGraphBuilder2_Offset)
|
||||
static inline CaptureGraphImpl *impl_from_ICaptureGraphBuilder2( ICaptureGraphBuilder2 *iface )
|
||||
{
|
||||
return (CaptureGraphImpl *)((char*)iface - FIELD_OFFSET(CaptureGraphImpl, lpVtbl2));
|
||||
}
|
||||
|
||||
/*
|
||||
converts This to an interface pointer
|
||||
|
@ -112,7 +116,7 @@ fnCaptureGraphBuilder2_QueryInterface(ICaptureGraphBuilder2 * iface,
|
|||
REFIID riid,
|
||||
LPVOID * ppv)
|
||||
{
|
||||
_ICOM_THIS_From_ICaptureGraphBuilder2(CaptureGraphImpl, iface);
|
||||
CaptureGraphImpl *This = impl_from_ICaptureGraphBuilder2(iface);
|
||||
|
||||
TRACE("(%p/%p)->(%s, %p)\n", This, iface, debugstr_guid(riid), ppv);
|
||||
|
||||
|
@ -138,7 +142,7 @@ fnCaptureGraphBuilder2_QueryInterface(ICaptureGraphBuilder2 * iface,
|
|||
static ULONG WINAPI
|
||||
fnCaptureGraphBuilder2_AddRef(ICaptureGraphBuilder2 * iface)
|
||||
{
|
||||
_ICOM_THIS_From_ICaptureGraphBuilder2(CaptureGraphImpl, iface);
|
||||
CaptureGraphImpl *This = impl_from_ICaptureGraphBuilder2(iface);
|
||||
DWORD ref = InterlockedIncrement(&This->ref);
|
||||
|
||||
TRACE("(%p/%p)->() AddRef from %ld\n", This, iface, ref - 1);
|
||||
|
@ -148,7 +152,7 @@ fnCaptureGraphBuilder2_AddRef(ICaptureGraphBuilder2 * iface)
|
|||
static ULONG WINAPI
|
||||
fnCaptureGraphBuilder2_Release(ICaptureGraphBuilder2 * iface)
|
||||
{
|
||||
_ICOM_THIS_From_ICaptureGraphBuilder2(CaptureGraphImpl, iface);
|
||||
CaptureGraphImpl *This = impl_from_ICaptureGraphBuilder2(iface);
|
||||
DWORD ref = InterlockedDecrement(&This->ref);
|
||||
|
||||
TRACE("(%p/%p)->() Release from %ld\n", This, iface, ref + 1);
|
||||
|
@ -175,7 +179,7 @@ fnCaptureGraphBuilder2_SetFilterGraph(ICaptureGraphBuilder2 * iface,
|
|||
this method. If you call this method after the graph builder has created its
|
||||
own filter graph, the call will fail. */
|
||||
IMediaEvent *pmev;
|
||||
_ICOM_THIS_From_ICaptureGraphBuilder2(CaptureGraphImpl, iface);
|
||||
CaptureGraphImpl *This = impl_from_ICaptureGraphBuilder2(iface);
|
||||
|
||||
TRACE("(%p/%p)->(%p)\n", This, iface, pfg);
|
||||
|
||||
|
@ -200,7 +204,7 @@ static HRESULT WINAPI
|
|||
fnCaptureGraphBuilder2_GetFilterGraph(ICaptureGraphBuilder2 * iface,
|
||||
IGraphBuilder **pfg)
|
||||
{
|
||||
_ICOM_THIS_From_ICaptureGraphBuilder2(CaptureGraphImpl, iface);
|
||||
CaptureGraphImpl *This = impl_from_ICaptureGraphBuilder2(iface);
|
||||
|
||||
TRACE("(%p/%p)->(%p)\n", This, iface, pfg);
|
||||
|
||||
|
@ -227,7 +231,7 @@ fnCaptureGraphBuilder2_SetOutputFileName(ICaptureGraphBuilder2 * iface,
|
|||
IBaseFilter **ppf,
|
||||
IFileSinkFilter **ppSink)
|
||||
{
|
||||
_ICOM_THIS_From_ICaptureGraphBuilder2(CaptureGraphImpl, iface);
|
||||
CaptureGraphImpl *This = impl_from_ICaptureGraphBuilder2(iface);
|
||||
|
||||
FIXME("(%p/%p)->(%s, %s, %p, %p) Stub!\n", This, iface,
|
||||
debugstr_guid(pType), debugstr_w(lpstrFile), ppf, ppSink);
|
||||
|
@ -243,7 +247,7 @@ fnCaptureGraphBuilder2_FindInterface(ICaptureGraphBuilder2 * iface,
|
|||
REFIID riid,
|
||||
void **ppint)
|
||||
{
|
||||
_ICOM_THIS_From_ICaptureGraphBuilder2(CaptureGraphImpl, iface);
|
||||
CaptureGraphImpl *This = impl_from_ICaptureGraphBuilder2(iface);
|
||||
|
||||
FIXME("(%p/%p)->(%s, %s, %p, %s, %p) - workaround stub!\n", This, iface,
|
||||
debugstr_guid(pCategory), debugstr_guid(pType),
|
||||
|
@ -264,7 +268,7 @@ fnCaptureGraphBuilder2_RenderStream(ICaptureGraphBuilder2 * iface,
|
|||
IBaseFilter *pfCompressor,
|
||||
IBaseFilter *pfRenderer)
|
||||
{
|
||||
_ICOM_THIS_From_ICaptureGraphBuilder2(CaptureGraphImpl, iface);
|
||||
CaptureGraphImpl *This = impl_from_ICaptureGraphBuilder2(iface);
|
||||
|
||||
FIXME("(%p/%p)->(%s, %s, %p, %p, %p) Stub!\n", This, iface,
|
||||
debugstr_guid(pCategory), debugstr_guid(pType),
|
||||
|
@ -283,7 +287,7 @@ fnCaptureGraphBuilder2_ControlStream(ICaptureGraphBuilder2 * iface,
|
|||
WORD wStartCookie,
|
||||
WORD wStopCookie)
|
||||
{
|
||||
_ICOM_THIS_From_ICaptureGraphBuilder2(CaptureGraphImpl, iface);
|
||||
CaptureGraphImpl *This = impl_from_ICaptureGraphBuilder2(iface);
|
||||
|
||||
FIXME("(%p/%p)->(%s, %s, %p, %p, %p, %i, %i) Stub!\n", This, iface,
|
||||
debugstr_guid(pCategory), debugstr_guid(pType),
|
||||
|
@ -297,7 +301,7 @@ fnCaptureGraphBuilder2_AllocCapFile(ICaptureGraphBuilder2 * iface,
|
|||
LPCOLESTR lpwstr,
|
||||
DWORDLONG dwlSize)
|
||||
{
|
||||
_ICOM_THIS_From_ICaptureGraphBuilder2(CaptureGraphImpl, iface);
|
||||
CaptureGraphImpl *This = impl_from_ICaptureGraphBuilder2(iface);
|
||||
|
||||
FIXME("(%p/%p)->(%s, %lld) Stub!\n", This, iface,
|
||||
debugstr_w(lpwstr), dwlSize);
|
||||
|
@ -312,7 +316,7 @@ fnCaptureGraphBuilder2_CopyCaptureFile(ICaptureGraphBuilder2 * iface,
|
|||
int fAllowEscAbort,
|
||||
IAMCopyCaptureFileProgress *pCallback)
|
||||
{
|
||||
_ICOM_THIS_From_ICaptureGraphBuilder2(CaptureGraphImpl, iface);
|
||||
CaptureGraphImpl *This = impl_from_ICaptureGraphBuilder2(iface);
|
||||
|
||||
FIXME("(%p/%p)->(%s, %s, %i, %p) Stub!\n", This, iface,
|
||||
debugstr_w(lpwstrOld), debugstr_w(lpwstrNew),
|
||||
|
@ -331,7 +335,7 @@ fnCaptureGraphBuilder2_FindPin(ICaptureGraphBuilder2 * iface,
|
|||
int num,
|
||||
IPin **ppPin)
|
||||
{
|
||||
_ICOM_THIS_From_ICaptureGraphBuilder2(CaptureGraphImpl, iface);
|
||||
CaptureGraphImpl *This = impl_from_ICaptureGraphBuilder2(iface);
|
||||
|
||||
FIXME("(%p/%p)->(%p, %x, %s, %s, %d, %i, %p) Stub!\n", This, iface,
|
||||
pSource, pindir, debugstr_guid(pCategory), debugstr_guid(pType),
|
||||
|
@ -361,7 +365,7 @@ static HRESULT WINAPI
|
|||
fnCaptureGraphBuilder_QueryInterface(ICaptureGraphBuilder * iface,
|
||||
REFIID riid, LPVOID * ppv)
|
||||
{
|
||||
_ICOM_THIS_From_ICaptureGraphBuilder(CaptureGraphImpl, iface);
|
||||
CaptureGraphImpl *This = impl_from_ICaptureGraphBuilder(iface);
|
||||
TRACE("%p --> Forwarding to v2 (%p)\n", iface, This);
|
||||
return IUnknown_QueryInterface(_ICaptureGraphBuilder2_(This), riid, ppv);
|
||||
}
|
||||
|
@ -369,7 +373,7 @@ fnCaptureGraphBuilder_QueryInterface(ICaptureGraphBuilder * iface,
|
|||
static ULONG WINAPI
|
||||
fnCaptureGraphBuilder_AddRef(ICaptureGraphBuilder * iface)
|
||||
{
|
||||
_ICOM_THIS_From_ICaptureGraphBuilder(CaptureGraphImpl, iface);
|
||||
CaptureGraphImpl *This = impl_from_ICaptureGraphBuilder(iface);
|
||||
TRACE("%p --> Forwarding to v2 (%p)\n", iface, This);
|
||||
return IUnknown_AddRef(_ICaptureGraphBuilder2_(This));
|
||||
}
|
||||
|
@ -377,7 +381,7 @@ fnCaptureGraphBuilder_AddRef(ICaptureGraphBuilder * iface)
|
|||
static ULONG WINAPI
|
||||
fnCaptureGraphBuilder_Release(ICaptureGraphBuilder * iface)
|
||||
{
|
||||
_ICOM_THIS_From_ICaptureGraphBuilder(CaptureGraphImpl, iface);
|
||||
CaptureGraphImpl *This = impl_from_ICaptureGraphBuilder(iface);
|
||||
TRACE("%p --> Forwarding to v2 (%p)\n", iface, This);
|
||||
return IUnknown_Release(_ICaptureGraphBuilder2_(This));
|
||||
}
|
||||
|
@ -386,7 +390,7 @@ static HRESULT WINAPI
|
|||
fnCaptureGraphBuilder_SetFiltergraph(ICaptureGraphBuilder * iface,
|
||||
IGraphBuilder *pfg)
|
||||
{
|
||||
_ICOM_THIS_From_ICaptureGraphBuilder(CaptureGraphImpl, iface);
|
||||
CaptureGraphImpl *This = impl_from_ICaptureGraphBuilder(iface);
|
||||
TRACE("%p --> Forwarding to v2 (%p)\n", iface, This);
|
||||
return ICaptureGraphBuilder2_SetFiltergraph(_ICaptureGraphBuilder2_(This), pfg);
|
||||
}
|
||||
|
@ -395,7 +399,7 @@ static HRESULT WINAPI
|
|||
fnCaptureGraphBuilder_GetFiltergraph(ICaptureGraphBuilder * iface,
|
||||
IGraphBuilder **pfg)
|
||||
{
|
||||
_ICOM_THIS_From_ICaptureGraphBuilder(CaptureGraphImpl, iface);
|
||||
CaptureGraphImpl *This = impl_from_ICaptureGraphBuilder(iface);
|
||||
TRACE("%p --> Forwarding to v2 (%p)\n", iface, This);
|
||||
return ICaptureGraphBuilder2_GetFiltergraph(_ICaptureGraphBuilder2_(This), pfg);
|
||||
}
|
||||
|
@ -405,7 +409,7 @@ fnCaptureGraphBuilder_SetOutputFileName(ICaptureGraphBuilder * iface,
|
|||
const GUID *pType, LPCOLESTR lpstrFile,
|
||||
IBaseFilter **ppf, IFileSinkFilter **ppSink)
|
||||
{
|
||||
_ICOM_THIS_From_ICaptureGraphBuilder(CaptureGraphImpl, iface);
|
||||
CaptureGraphImpl *This = impl_from_ICaptureGraphBuilder(iface);
|
||||
TRACE("%p --> Forwarding to v2 (%p)\n", iface, This);
|
||||
return ICaptureGraphBuilder2_SetOutputFileName(_ICaptureGraphBuilder2_(This),
|
||||
pType, lpstrFile, ppf, ppSink);
|
||||
|
@ -416,7 +420,7 @@ fnCaptureGraphBuilder_FindInterface(ICaptureGraphBuilder * iface,
|
|||
const GUID *pCategory, IBaseFilter *pf,
|
||||
REFIID riid, void **ppint)
|
||||
{
|
||||
_ICOM_THIS_From_ICaptureGraphBuilder(CaptureGraphImpl, iface);
|
||||
CaptureGraphImpl *This = impl_from_ICaptureGraphBuilder(iface);
|
||||
TRACE("%p --> Forwarding to v2 (%p)\n", iface, This);
|
||||
return ICaptureGraphBuilder2_FindInterface(_ICaptureGraphBuilder2_(This),
|
||||
pCategory, NULL, pf, riid, ppint);
|
||||
|
@ -427,7 +431,7 @@ fnCaptureGraphBuilder_RenderStream(ICaptureGraphBuilder * iface,
|
|||
const GUID *pCategory, IUnknown *pSource,
|
||||
IBaseFilter *pfCompressor, IBaseFilter *pfRenderer)
|
||||
{
|
||||
_ICOM_THIS_From_ICaptureGraphBuilder(CaptureGraphImpl, iface);
|
||||
CaptureGraphImpl *This = impl_from_ICaptureGraphBuilder(iface);
|
||||
TRACE("%p --> Forwarding to v2 (%p)\n", iface, This);
|
||||
return ICaptureGraphBuilder2_RenderStream(_ICaptureGraphBuilder2_(This),
|
||||
pCategory, NULL, pSource,
|
||||
|
@ -440,7 +444,7 @@ fnCaptureGraphBuilder_ControlStream(ICaptureGraphBuilder * iface,
|
|||
REFERENCE_TIME *pstart, REFERENCE_TIME *pstop,
|
||||
WORD wStartCookie, WORD wStopCookie)
|
||||
{
|
||||
_ICOM_THIS_From_ICaptureGraphBuilder(CaptureGraphImpl, iface);
|
||||
CaptureGraphImpl *This = impl_from_ICaptureGraphBuilder(iface);
|
||||
TRACE("%p --> Forwarding to v2 (%p)\n", iface, This);
|
||||
return ICaptureGraphBuilder2_ControlStream(_ICaptureGraphBuilder2_(This),
|
||||
pCategory, NULL, pFilter, pstart,
|
||||
|
@ -451,7 +455,7 @@ static HRESULT WINAPI
|
|||
fnCaptureGraphBuilder_AllocCapFile(ICaptureGraphBuilder * iface,
|
||||
LPCOLESTR lpstr, DWORDLONG dwlSize)
|
||||
{
|
||||
_ICOM_THIS_From_ICaptureGraphBuilder(CaptureGraphImpl, iface);
|
||||
CaptureGraphImpl *This = impl_from_ICaptureGraphBuilder(iface);
|
||||
TRACE("%p --> Forwarding to v2 (%p)\n", iface, This);
|
||||
return ICaptureGraphBuilder2_AllocCapFile(_ICaptureGraphBuilder2_(This),
|
||||
lpstr, dwlSize);
|
||||
|
@ -463,7 +467,7 @@ fnCaptureGraphBuilder_CopyCaptureFile(ICaptureGraphBuilder * iface,
|
|||
int fAllowEscAbort,
|
||||
IAMCopyCaptureFileProgress *pCallback)
|
||||
{
|
||||
_ICOM_THIS_From_ICaptureGraphBuilder(CaptureGraphImpl, iface);
|
||||
CaptureGraphImpl *This = impl_from_ICaptureGraphBuilder(iface);
|
||||
TRACE("%p --> Forwarding to v2 (%p)\n", iface, This);
|
||||
return ICaptureGraphBuilder2_CopyCaptureFile(_ICaptureGraphBuilder2_(This),
|
||||
lpwstrOld, lpwstrNew,
|
||||
|
|
|
@ -58,11 +58,10 @@ static const IAsyncReaderVtbl FileAsyncReader_Vtbl;
|
|||
|
||||
static HRESULT FileAsyncReader_Construct(HANDLE hFile, IBaseFilter * pBaseFilter, LPCRITICAL_SECTION pCritSec, IPin ** ppPin);
|
||||
|
||||
#define _IFileSourceFilter_Offset ((int)(&(((AsyncReader*)0)->lpVtblFSF)))
|
||||
#define ICOM_THIS_From_IFileSourceFilter(impl, iface) impl* This = (impl*)(((char*)iface)-_IFileSourceFilter_Offset);
|
||||
|
||||
#define _IAsyncReader_Offset ((int)(&(((FileAsyncReader*)0)->lpVtblAR)))
|
||||
#define ICOM_THIS_From_IAsyncReader(impl, iface) impl* This = (impl*)(((char*)iface)-_IAsyncReader_Offset);
|
||||
static inline AsyncReader *impl_from_IFileSourceFilter( IFileSourceFilter *iface )
|
||||
{
|
||||
return (AsyncReader *)((char*)iface - FIELD_OFFSET(AsyncReader, lpVtblFSF));
|
||||
}
|
||||
|
||||
static HRESULT process_extensions(HKEY hkeyExtensions, LPCOLESTR pszFileName, GUID * majorType, GUID * minorType)
|
||||
{
|
||||
|
@ -541,21 +540,21 @@ static const IBaseFilterVtbl AsyncReader_Vtbl =
|
|||
|
||||
static HRESULT WINAPI FileSource_QueryInterface(IFileSourceFilter * iface, REFIID riid, LPVOID * ppv)
|
||||
{
|
||||
ICOM_THIS_From_IFileSourceFilter(AsyncReader, iface);
|
||||
AsyncReader *This = impl_from_IFileSourceFilter(iface);
|
||||
|
||||
return IBaseFilter_QueryInterface((IFileSourceFilter*)&This->lpVtbl, riid, ppv);
|
||||
}
|
||||
|
||||
static ULONG WINAPI FileSource_AddRef(IFileSourceFilter * iface)
|
||||
{
|
||||
ICOM_THIS_From_IFileSourceFilter(AsyncReader, iface);
|
||||
AsyncReader *This = impl_from_IFileSourceFilter(iface);
|
||||
|
||||
return IBaseFilter_AddRef((IFileSourceFilter*)&This->lpVtbl);
|
||||
}
|
||||
|
||||
static ULONG WINAPI FileSource_Release(IFileSourceFilter * iface)
|
||||
{
|
||||
ICOM_THIS_From_IFileSourceFilter(AsyncReader, iface);
|
||||
AsyncReader *This = impl_from_IFileSourceFilter(iface);
|
||||
|
||||
return IBaseFilter_Release((IFileSourceFilter*)&This->lpVtbl);
|
||||
}
|
||||
|
@ -565,7 +564,7 @@ static HRESULT WINAPI FileSource_Load(IFileSourceFilter * iface, LPCOLESTR pszFi
|
|||
HRESULT hr;
|
||||
HANDLE hFile;
|
||||
IAsyncReader * pReader = NULL;
|
||||
ICOM_THIS_From_IFileSourceFilter(AsyncReader, iface);
|
||||
AsyncReader *This = impl_from_IFileSourceFilter(iface);
|
||||
|
||||
TRACE("(%s, %p)\n", debugstr_w(pszFileName), pmt);
|
||||
|
||||
|
@ -634,7 +633,7 @@ static HRESULT WINAPI FileSource_Load(IFileSourceFilter * iface, LPCOLESTR pszFi
|
|||
|
||||
static HRESULT WINAPI FileSource_GetCurFile(IFileSourceFilter * iface, LPOLESTR * ppszFileName, AM_MEDIA_TYPE * pmt)
|
||||
{
|
||||
ICOM_THIS_From_IFileSourceFilter(AsyncReader, iface);
|
||||
AsyncReader *This = impl_from_IFileSourceFilter(iface);
|
||||
|
||||
TRACE("(%p, %p)\n", ppszFileName, pmt);
|
||||
|
||||
|
@ -697,6 +696,11 @@ typedef struct FileAsyncReader
|
|||
CRITICAL_SECTION csList; /* critical section to protect operations on list */
|
||||
} FileAsyncReader;
|
||||
|
||||
static inline FileAsyncReader *impl_from_IAsyncReader( IAsyncReader *iface )
|
||||
{
|
||||
return (FileAsyncReader *)((char*)iface - FIELD_OFFSET(FileAsyncReader, lpVtblAR));
|
||||
}
|
||||
|
||||
static HRESULT AcceptProcAFR(LPVOID iface, const AM_MEDIA_TYPE *pmt)
|
||||
{
|
||||
AsyncReader *This = (AsyncReader *)iface;
|
||||
|
@ -865,21 +869,21 @@ static HRESULT FileAsyncReader_Construct(HANDLE hFile, IBaseFilter * pBaseFilter
|
|||
|
||||
static HRESULT WINAPI FileAsyncReader_QueryInterface(IAsyncReader * iface, REFIID riid, LPVOID * ppv)
|
||||
{
|
||||
ICOM_THIS_From_IAsyncReader(FileAsyncReader, iface);
|
||||
FileAsyncReader *This = impl_from_IAsyncReader(iface);
|
||||
|
||||
return IPin_QueryInterface((IPin *)This, riid, ppv);
|
||||
}
|
||||
|
||||
static ULONG WINAPI FileAsyncReader_AddRef(IAsyncReader * iface)
|
||||
{
|
||||
ICOM_THIS_From_IAsyncReader(FileAsyncReader, iface);
|
||||
FileAsyncReader *This = impl_from_IAsyncReader(iface);
|
||||
|
||||
return IPin_AddRef((IPin *)This);
|
||||
}
|
||||
|
||||
static ULONG WINAPI FileAsyncReader_Release(IAsyncReader * iface)
|
||||
{
|
||||
ICOM_THIS_From_IAsyncReader(FileAsyncReader, iface);
|
||||
FileAsyncReader *This = impl_from_IAsyncReader(iface);
|
||||
|
||||
return IPin_Release((IPin *)This);
|
||||
}
|
||||
|
@ -947,7 +951,7 @@ static HRESULT WINAPI FileAsyncReader_Request(IAsyncReader * iface, IMediaSample
|
|||
DATAREQUEST * pDataRq;
|
||||
BYTE * pBuffer;
|
||||
HRESULT hr = S_OK;
|
||||
ICOM_THIS_From_IAsyncReader(FileAsyncReader, iface);
|
||||
FileAsyncReader *This = impl_from_IAsyncReader(iface);
|
||||
|
||||
TRACE("(%p, %lx)\n", pSample, dwUser);
|
||||
|
||||
|
@ -1025,7 +1029,7 @@ static HRESULT WINAPI FileAsyncReader_WaitForNext(IAsyncReader * iface, DWORD dw
|
|||
{
|
||||
HRESULT hr = S_OK;
|
||||
DATAREQUEST * pDataRq = NULL;
|
||||
ICOM_THIS_From_IAsyncReader(FileAsyncReader, iface);
|
||||
FileAsyncReader *This = impl_from_IAsyncReader(iface);
|
||||
|
||||
TRACE("(%lu, %p, %p)\n", dwTimeout, ppSample, pdwUser);
|
||||
|
||||
|
@ -1115,7 +1119,7 @@ static HRESULT WINAPI FileAsyncReader_SyncRead(IAsyncReader * iface, LONGLONG ll
|
|||
{
|
||||
OVERLAPPED ovl;
|
||||
HRESULT hr = S_OK;
|
||||
ICOM_THIS_From_IAsyncReader(FileAsyncReader, iface);
|
||||
FileAsyncReader *This = impl_from_IAsyncReader(iface);
|
||||
|
||||
TRACE("(%lx%08lx, %ld, %p)\n", (ULONG)(llPosition >> 32), (ULONG)llPosition, lLength, pBuffer);
|
||||
|
||||
|
@ -1150,7 +1154,7 @@ static HRESULT WINAPI FileAsyncReader_Length(IAsyncReader * iface, LONGLONG * pT
|
|||
{
|
||||
DWORD dwSizeLow;
|
||||
DWORD dwSizeHigh;
|
||||
ICOM_THIS_From_IAsyncReader(FileAsyncReader, iface);
|
||||
FileAsyncReader *This = impl_from_IAsyncReader(iface);
|
||||
|
||||
TRACE("(%p, %p)\n", pTotal, pAvailable);
|
||||
|
||||
|
@ -1167,7 +1171,7 @@ static HRESULT WINAPI FileAsyncReader_Length(IAsyncReader * iface, LONGLONG * pT
|
|||
|
||||
static HRESULT WINAPI FileAsyncReader_BeginFlush(IAsyncReader * iface)
|
||||
{
|
||||
ICOM_THIS_From_IAsyncReader(FileAsyncReader, iface);
|
||||
FileAsyncReader *This = impl_from_IAsyncReader(iface);
|
||||
|
||||
TRACE("()\n");
|
||||
|
||||
|
@ -1182,7 +1186,7 @@ static HRESULT WINAPI FileAsyncReader_BeginFlush(IAsyncReader * iface)
|
|||
|
||||
static HRESULT WINAPI FileAsyncReader_EndFlush(IAsyncReader * iface)
|
||||
{
|
||||
ICOM_THIS_From_IAsyncReader(FileAsyncReader, iface);
|
||||
FileAsyncReader *This = impl_from_IAsyncReader(iface);
|
||||
|
||||
TRACE("()\n");
|
||||
|
||||
|
|
|
@ -52,8 +52,10 @@ typedef struct FilterMapper2Impl
|
|||
static const IFilterMapper2Vtbl fm2vtbl;
|
||||
static const IFilterMapperVtbl fmvtbl;
|
||||
|
||||
#define _IFilterMapper_Offset ((int)(&(((FilterMapper2Impl*)0)->lpVtblFilterMapper)))
|
||||
#define ICOM_THIS_From_IFilterMapper(impl, iface) impl* This = (impl*)(((char*)iface)-_IFilterMapper_Offset)
|
||||
static inline FilterMapper2Impl *impl_from_IFilterMapper( IFilterMapper *iface )
|
||||
{
|
||||
return (FilterMapper2Impl *)((char*)iface - FIELD_OFFSET(FilterMapper2Impl, lpVtblFilterMapper));
|
||||
}
|
||||
|
||||
static const WCHAR wszClsidSlash[] = {'C','L','S','I','D','\\',0};
|
||||
static const WCHAR wszSlashInstance[] = {'\\','I','n','s','t','a','n','c','e','\\',0};
|
||||
|
@ -1053,7 +1055,7 @@ static const IFilterMapper2Vtbl fm2vtbl =
|
|||
|
||||
static HRESULT WINAPI FilterMapper_QueryInterface(IFilterMapper * iface, REFIID riid, LPVOID *ppv)
|
||||
{
|
||||
ICOM_THIS_From_IFilterMapper(FilterMapper2Impl, iface);
|
||||
FilterMapper2Impl *This = impl_from_IFilterMapper(iface);
|
||||
|
||||
TRACE("(%p)->(%s, %p)\n", This, debugstr_guid(riid), ppv);
|
||||
|
||||
|
@ -1062,14 +1064,14 @@ static HRESULT WINAPI FilterMapper_QueryInterface(IFilterMapper * iface, REFIID
|
|||
|
||||
static ULONG WINAPI FilterMapper_AddRef(IFilterMapper * iface)
|
||||
{
|
||||
ICOM_THIS_From_IFilterMapper(FilterMapper2Impl, iface);
|
||||
FilterMapper2Impl *This = impl_from_IFilterMapper(iface);
|
||||
|
||||
return FilterMapper2_AddRef((IFilterMapper2*)This);
|
||||
}
|
||||
|
||||
static ULONG WINAPI FilterMapper_Release(IFilterMapper * iface)
|
||||
{
|
||||
ICOM_THIS_From_IFilterMapper(FilterMapper2Impl, iface);
|
||||
FilterMapper2Impl *This = impl_from_IFilterMapper(iface);
|
||||
|
||||
return FilterMapper2_Release((IFilterMapper2*)This);
|
||||
}
|
||||
|
@ -1088,7 +1090,7 @@ static HRESULT WINAPI FilterMapper_EnumMatchingFilters(
|
|||
CLSID clsOutMaj,
|
||||
CLSID clsOutSub)
|
||||
{
|
||||
ICOM_THIS_From_IFilterMapper(FilterMapper2Impl, iface);
|
||||
FilterMapper2Impl *This = impl_from_IFilterMapper(iface);
|
||||
GUID InputType[2];
|
||||
GUID OutputType[2];
|
||||
IEnumMoniker* ppEnumMoniker;
|
||||
|
|
|
@ -54,8 +54,11 @@ static HRESULT Parser_ChangeRate(LPVOID iface);
|
|||
|
||||
static HRESULT Parser_InputPin_Construct(const PIN_INFO * pPinInfo, SAMPLEPROC pSampleProc, LPVOID pUserData, QUERYACCEPTPROC pQueryAccept, LPCRITICAL_SECTION pCritSec, IPin ** ppPin);
|
||||
|
||||
#define _IMediaSeeking_Offset ((int)(&(((Parser_OutputPin*)0)->mediaSeeking)))
|
||||
#define ICOM_THIS_From_IMediaSeeking(impl, iface) impl* This = (impl*)(((char*)iface)-_IMediaSeeking_Offset);
|
||||
static inline Parser_OutputPin *impl_from_IMediaSeeking( IMediaSeeking *iface )
|
||||
{
|
||||
return (Parser_OutputPin *)((char*)iface - FIELD_OFFSET(Parser_OutputPin, mediaSeeking.lpVtbl));
|
||||
}
|
||||
|
||||
|
||||
HRESULT Parser_Create(ParserImpl* pParser, const CLSID* pClsid, PFN_PROCESS_SAMPLE fnProcessSample, PFN_QUERY_ACCEPT fnQueryAccept, PFN_PRE_CONNECT fnPreConnect)
|
||||
{
|
||||
|
@ -550,21 +553,21 @@ static HRESULT Parser_ChangeRate(LPVOID iface)
|
|||
|
||||
static HRESULT WINAPI Parser_Seeking_QueryInterface(IMediaSeeking * iface, REFIID riid, LPVOID * ppv)
|
||||
{
|
||||
ICOM_THIS_From_IMediaSeeking(Parser_OutputPin, iface);
|
||||
Parser_OutputPin *This = impl_from_IMediaSeeking(iface);
|
||||
|
||||
return IUnknown_QueryInterface((IUnknown *)This, riid, ppv);
|
||||
}
|
||||
|
||||
static ULONG WINAPI Parser_Seeking_AddRef(IMediaSeeking * iface)
|
||||
{
|
||||
ICOM_THIS_From_IMediaSeeking(Parser_OutputPin, iface);
|
||||
Parser_OutputPin *This = impl_from_IMediaSeeking(iface);
|
||||
|
||||
return IUnknown_AddRef((IUnknown *)This);
|
||||
}
|
||||
|
||||
static ULONG WINAPI Parser_Seeking_Release(IMediaSeeking * iface)
|
||||
{
|
||||
ICOM_THIS_From_IMediaSeeking(Parser_OutputPin, iface);
|
||||
Parser_OutputPin *This = impl_from_IMediaSeeking(iface);
|
||||
|
||||
return IUnknown_Release((IUnknown *)This);
|
||||
}
|
||||
|
|
|
@ -37,8 +37,11 @@ static const IPinVtbl PullPin_Vtbl;
|
|||
#define ALIGNDOWN(value,boundary) ((value) & ~(boundary-1))
|
||||
#define ALIGNUP(value,boundary) (ALIGNDOWN(value - 1, boundary) + boundary)
|
||||
|
||||
#define _IMemInputPin_Offset ((int)(&(((InputPin*)0)->lpVtblMemInput)))
|
||||
#define ICOM_THIS_From_IMemInputPin(impl, iface) impl* This = (impl*)(((char*)iface)-_IMemInputPin_Offset);
|
||||
static inline InputPin *impl_from_IMemInputPin( IMemInputPin *iface )
|
||||
{
|
||||
return (InputPin *)((char*)iface - FIELD_OFFSET(InputPin, lpVtblMemInput));
|
||||
}
|
||||
|
||||
|
||||
static void Copy_PinInfo(PIN_INFO * pDest, const PIN_INFO * pSrc)
|
||||
{
|
||||
|
@ -529,28 +532,28 @@ static const IPinVtbl InputPin_Vtbl =
|
|||
|
||||
HRESULT WINAPI MemInputPin_QueryInterface(IMemInputPin * iface, REFIID riid, LPVOID * ppv)
|
||||
{
|
||||
ICOM_THIS_From_IMemInputPin(InputPin, iface);
|
||||
InputPin *This = impl_from_IMemInputPin(iface);
|
||||
|
||||
return IPin_QueryInterface((IPin *)&This->pin, riid, ppv);
|
||||
}
|
||||
|
||||
ULONG WINAPI MemInputPin_AddRef(IMemInputPin * iface)
|
||||
{
|
||||
ICOM_THIS_From_IMemInputPin(InputPin, iface);
|
||||
InputPin *This = impl_from_IMemInputPin(iface);
|
||||
|
||||
return IPin_AddRef((IPin *)&This->pin);
|
||||
}
|
||||
|
||||
ULONG WINAPI MemInputPin_Release(IMemInputPin * iface)
|
||||
{
|
||||
ICOM_THIS_From_IMemInputPin(InputPin, iface);
|
||||
InputPin *This = impl_from_IMemInputPin(iface);
|
||||
|
||||
return IPin_Release((IPin *)&This->pin);
|
||||
}
|
||||
|
||||
HRESULT WINAPI MemInputPin_GetAllocator(IMemInputPin * iface, IMemAllocator ** ppAllocator)
|
||||
{
|
||||
ICOM_THIS_From_IMemInputPin(InputPin, iface);
|
||||
InputPin *This = impl_from_IMemInputPin(iface);
|
||||
|
||||
TRACE("(%p/%p)->(%p)\n", This, iface, ppAllocator);
|
||||
|
||||
|
@ -563,7 +566,7 @@ HRESULT WINAPI MemInputPin_GetAllocator(IMemInputPin * iface, IMemAllocator ** p
|
|||
|
||||
HRESULT WINAPI MemInputPin_NotifyAllocator(IMemInputPin * iface, IMemAllocator * pAllocator, BOOL bReadOnly)
|
||||
{
|
||||
ICOM_THIS_From_IMemInputPin(InputPin, iface);
|
||||
InputPin *This = impl_from_IMemInputPin(iface);
|
||||
|
||||
TRACE("(%p/%p)->(%p, %d)\n", This, iface, pAllocator, bReadOnly);
|
||||
|
||||
|
@ -578,7 +581,7 @@ HRESULT WINAPI MemInputPin_NotifyAllocator(IMemInputPin * iface, IMemAllocator *
|
|||
|
||||
HRESULT WINAPI MemInputPin_GetAllocatorRequirements(IMemInputPin * iface, ALLOCATOR_PROPERTIES * pProps)
|
||||
{
|
||||
ICOM_THIS_From_IMemInputPin(InputPin, iface);
|
||||
InputPin *This = impl_from_IMemInputPin(iface);
|
||||
|
||||
TRACE("(%p/%p)->(%p)\n", This, iface, pProps);
|
||||
|
||||
|
@ -589,7 +592,7 @@ HRESULT WINAPI MemInputPin_GetAllocatorRequirements(IMemInputPin * iface, ALLOCA
|
|||
|
||||
HRESULT WINAPI MemInputPin_Receive(IMemInputPin * iface, IMediaSample * pSample)
|
||||
{
|
||||
ICOM_THIS_From_IMemInputPin(InputPin, iface);
|
||||
InputPin *This = impl_from_IMemInputPin(iface);
|
||||
|
||||
/* this trace commented out for performance reasons */
|
||||
/*TRACE("(%p/%p)->(%p)\n", This, iface, pSample);*/
|
||||
|
@ -600,7 +603,7 @@ HRESULT WINAPI MemInputPin_Receive(IMemInputPin * iface, IMediaSample * pSample)
|
|||
HRESULT WINAPI MemInputPin_ReceiveMultiple(IMemInputPin * iface, IMediaSample ** pSamples, long nSamples, long *nSamplesProcessed)
|
||||
{
|
||||
HRESULT hr = S_OK;
|
||||
ICOM_THIS_From_IMemInputPin(InputPin, iface);
|
||||
InputPin *This = impl_from_IMemInputPin(iface);
|
||||
|
||||
TRACE("(%p/%p)->(%p, %ld, %p)\n", This, iface, pSamples, nSamples, nSamplesProcessed);
|
||||
|
||||
|
@ -616,7 +619,7 @@ HRESULT WINAPI MemInputPin_ReceiveMultiple(IMemInputPin * iface, IMediaSample **
|
|||
|
||||
HRESULT WINAPI MemInputPin_ReceiveCanBlock(IMemInputPin * iface)
|
||||
{
|
||||
ICOM_THIS_From_IMemInputPin(InputPin, iface);
|
||||
InputPin *This = impl_from_IMemInputPin(iface);
|
||||
|
||||
FIXME("(%p/%p)->()\n", This, iface);
|
||||
|
||||
|
|
Loading…
Reference in New Issue