Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
738e88db
Commit
738e88db
authored
Jul 27, 2005
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Replace the ICOM_THIS_From macros by inline functions.
parent
54de6149
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
293 additions
and
240 deletions
+293
-240
mediacatenum.c
dlls/devenum/mediacatenum.c
+0
-3
olefont.c
dlls/oleaut32/olefont.c
+94
-74
olepicture.c
dlls/oleaut32/olepicture.c
+58
-49
typelib.c
dlls/oleaut32/typelib.c
+19
-12
typelib2.c
dlls/oleaut32/typelib2.c
+38
-34
capturegraph.c
dlls/qcap/capturegraph.c
+31
-27
filesource.c
dlls/quartz/filesource.c
+23
-19
filtermapper.c
dlls/quartz/filtermapper.c
+8
-6
parser.c
dlls/quartz/parser.c
+8
-5
pin.c
dlls/quartz/pin.c
+14
-11
No files found.
dlls/devenum/mediacatenum.c
View file @
738e88db
...
...
@@ -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
);
...
...
dlls/oleaut32/olefont.c
View file @
738e88db
...
...
@@ -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
*
lp
vtbl1
;
const
IDispatchVtbl
*
lpvtbl
2
;
const
IPersistStreamVtbl
*
lpvtbl
3
;
const
IConnectionPointContainerVtbl
*
lpvtbl
4
;
const
IPersistPropertyBagVtbl
*
lpvtbl
5
;
const
IPersistStreamInitVtbl
*
lpvtbl
6
;
const
IFontVtbl
*
lp
Vtbl
;
const
IDispatchVtbl
*
lpvtbl
IDispatch
;
const
IPersistStreamVtbl
*
lpvtbl
IPersistStream
;
const
IConnectionPointContainerVtbl
*
lpvtbl
IConnectionPointContainer
;
const
IPersistPropertyBagVtbl
*
lpvtbl
IPersistPropertyBag
;
const
IPersistStreamInitVtbl
*
lpvtbl
IPersistStreamInit
;
/*
* 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
->
lp
vtbl1
=
&
OLEFontImpl_VTable
;
newObject
->
lpvtbl
2
=
&
OLEFontImpl_IDispatch_VTable
;
newObject
->
lpvtbl
3
=
&
OLEFontImpl_IPersistStream_VTable
;
newObject
->
lpvtbl
4
=
&
OLEFontImpl_IConnectionPointContainer_VTable
;
newObject
->
lpvtbl
5
=
&
OLEFontImpl_IPersistPropertyBag_VTable
;
newObject
->
lpvtbl
6
=
&
OLEFontImpl_IPersistStreamInit_VTable
;
newObject
->
lp
Vtbl
=
&
OLEFontImpl_VTable
;
newObject
->
lpvtbl
IDispatch
=
&
OLEFontImpl_IDispatch_VTable
;
newObject
->
lpvtbl
IPersistStream
=
&
OLEFontImpl_IPersistStream_VTable
;
newObject
->
lpvtbl
IConnectionPointContainer
=
&
OLEFontImpl_IConnectionPointContainer_VTable
;
newObject
->
lpvtbl
IPersistPropertyBag
=
&
OLEFontImpl_IPersistPropertyBag_VTable
;
newObject
->
lpvtbl
IPersistStreamInit
=
&
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
->
lpvtbl
2
);
*
ppvObject
=
(
IDispatch
*
)
&
(
this
->
lpvtbl
IDispatch
);
if
(
IsEqualGUID
(
&
IID_IFontDisp
,
riid
))
*
ppvObject
=
(
IDispatch
*
)
&
(
this
->
lpvtbl
2
);
*
ppvObject
=
(
IDispatch
*
)
&
(
this
->
lpvtbl
IDispatch
);
if
(
IsEqualGUID
(
&
IID_IPersistStream
,
riid
))
*
ppvObject
=
(
IPersistStream
*
)
&
(
this
->
lpvtbl
3
);
*
ppvObject
=
(
IPersistStream
*
)
&
(
this
->
lpvtbl
IPersistStream
);
if
(
IsEqualGUID
(
&
IID_IConnectionPointContainer
,
riid
))
*
ppvObject
=
(
IConnectionPointContainer
*
)
&
(
this
->
lpvtbl
4
);
*
ppvObject
=
(
IConnectionPointContainer
*
)
&
(
this
->
lpvtbl
IConnectionPointContainer
);
if
(
IsEqualGUID
(
&
IID_IPersistPropertyBag
,
riid
))
*
ppvObject
=
(
IPersistPropertyBag
*
)
&
(
this
->
lpvtbl
5
);
*
ppvObject
=
(
IPersistPropertyBag
*
)
&
(
this
->
lpvtbl
IPersistPropertyBag
);
if
(
IsEqualGUID
(
&
IID_IPersistStreamInit
,
riid
))
*
ppvObject
=
(
IPersistStreamInit
*
)
&
(
this
->
lpvtbl
6
);
*
ppvObject
=
(
IPersistStreamInit
*
)
&
(
this
->
lpvtbl
IPersistStreamInit
);
/*
* 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
(
...
...
dlls/oleaut32/olepicture.c
View file @
738e88db
...
...
@@ -125,10 +125,10 @@ typedef struct OLEPictureImpl {
* IPicture handles IUnknown
*/
const
IPictureVtbl
*
lp
vtbl1
;
const
IDispatchVtbl
*
lpvtbl
2
;
const
IPersistStreamVtbl
*
lpvtbl
3
;
const
IConnectionPointContainerVtbl
*
lpvtbl
4
;
const
IPictureVtbl
*
lp
Vtbl
;
const
IDispatchVtbl
*
lpvtbl
IDispatch
;
const
IPersistStreamVtbl
*
lpvtbl
IPersistStream
;
const
IConnectionPointContainerVtbl
*
lpvtbl
IConnectionPointContainer
;
/* 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
->
lp
vtbl1
=
&
OLEPictureImpl_VTable
;
newObject
->
lpvtbl
2
=
&
OLEPictureImpl_IDispatch_VTable
;
newObject
->
lpvtbl
3
=
&
OLEPictureImpl_IPersistStream_VTable
;
newObject
->
lpvtbl
4
=
&
OLEPictureImpl_IConnectionPointContainer_VTable
;
newObject
->
lp
Vtbl
=
&
OLEPictureImpl_VTable
;
newObject
->
lpvtbl
IDispatch
=
&
OLEPictureImpl_IDispatch_VTable
;
newObject
->
lpvtbl
IPersistStream
=
&
OLEPictureImpl_IPersistStream_VTable
;
newObject
->
lpvtbl
IConnectionPointContainer
=
&
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
->
lpvtbl
2
);
*
ppvObject
=
(
IDispatch
*
)
&
(
This
->
lpvtbl
IDispatch
);
}
else
if
(
memcmp
(
&
IID_IPictureDisp
,
riid
,
sizeof
(
IID_IPictureDisp
))
==
0
)
{
*
ppvObject
=
(
IDispatch
*
)
&
(
This
->
lpvtbl
2
);
*
ppvObject
=
(
IDispatch
*
)
&
(
This
->
lpvtbl
IDispatch
);
}
else
if
(
memcmp
(
&
IID_IPersistStream
,
riid
,
sizeof
(
IID_IPersistStream
))
==
0
)
{
*
ppvObject
=
(
IPersistStream
*
)
&
(
This
->
lpvtbl
3
);
*
ppvObject
=
(
IPersistStream
*
)
&
(
This
->
lpvtbl
IPersistStream
);
}
else
if
(
memcmp
(
&
IID_IConnectionPointContainer
,
riid
,
sizeof
(
IID_IConnectionPointContainer
))
==
0
)
{
*
ppvObject
=
(
IConnectionPointContainer
*
)
&
(
This
->
lpvtbl
4
);
*
ppvObject
=
(
IConnectionPointContainer
*
)
&
(
This
->
lpvtbl
IConnectionPointContainer
);
}
/*
* 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
);
}
/************************************************************************
...
...
dlls/oleaut32/typelib.c
View file @
738e88db
...
...
@@ -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
)
{
I
COM_THIS_From_ITypeComp
(
ITypeLibImpl
,
iface
);
I
TypeLibImpl
*
This
=
impl_from_ITypeComp
(
iface
);
return
IType
Info_QueryInterface
((
ITypeInfo
*
)
This
,
riid
,
ppv
);
return
IType
Lib2_QueryInterface
((
ITypeLib
*
)
This
,
riid
,
ppv
);
}
static
ULONG
WINAPI
ITypeLibComp_fnAddRef
(
ITypeComp
*
iface
)
{
I
COM_THIS_From_ITypeComp
(
ITypeLibImpl
,
iface
);
I
TypeLibImpl
*
This
=
impl_from_ITypeComp
(
iface
);
return
IType
Info_AddRef
((
ITypeInfo
*
)
This
);
return
IType
Lib2_AddRef
((
ITypeLib2
*
)
This
);
}
static
ULONG
WINAPI
ITypeLibComp_fnRelease
(
ITypeComp
*
iface
)
{
I
COM_THIS_From_ITypeComp
(
ITypeLibImpl
,
iface
);
I
TypeLibImpl
*
This
=
impl_from_ITypeComp
(
iface
);
return
IType
Info_Release
((
ITypeInfo
*
)
This
);
return
IType
Lib2_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
)
{
I
COM_THIS_From_ITypeComp
(
ITypeInfoImpl
,
iface
);
I
TypeInfoImpl
*
This
=
info_impl_from_ITypeComp
(
iface
);
return
ITypeInfo_QueryInterface
((
ITypeInfo
*
)
This
,
riid
,
ppv
);
}
static
ULONG
WINAPI
ITypeComp_fnAddRef
(
ITypeComp
*
iface
)
{
I
COM_THIS_From_ITypeComp
(
ITypeInfoImpl
,
iface
);
I
TypeInfoImpl
*
This
=
info_impl_from_ITypeComp
(
iface
);
return
ITypeInfo_AddRef
((
ITypeInfo
*
)
This
);
}
static
ULONG
WINAPI
ITypeComp_fnRelease
(
ITypeComp
*
iface
)
{
I
COM_THIS_From_ITypeComp
(
ITypeInfoImpl
,
iface
);
I
TypeInfoImpl
*
This
=
info_impl_from_ITypeComp
(
iface
);
return
ITypeInfo_Release
((
ITypeInfo
*
)
This
);
}
...
...
@@ -5983,7 +5990,7 @@ static HRESULT WINAPI ITypeComp_fnBind(
DESCKIND
*
pDescKind
,
BINDPTR
*
pBindPtr
)
{
I
COM_THIS_From_ITypeComp
(
ITypeInfoImpl
,
iface
);
I
TypeInfoImpl
*
This
=
info_impl_from_ITypeComp
(
iface
);
TLBFuncDesc
*
pFDesc
;
TLBVarDesc
*
pVDesc
;
...
...
dlls/oleaut32/typelib2.c
View file @
738e88db
...
...
@@ -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
)
{
IC
OM_THIS_From_ITypeInfo2
(
ICreateTypeInfo2Impl
,
iface
);
IC
reateTypeInfo2Impl
*
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
)
{
IC
OM_THIS_From_ITypeInfo2
(
ICreateTypeInfo2Impl
,
iface
);
IC
reateTypeInfo2Impl
*
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
)
{
IC
OM_THIS_From_ITypeInfo2
(
ICreateTypeInfo2Impl
,
iface
);
IC
reateTypeInfo2Impl
*
This
=
impl_from_ITypeInfo2
(
iface
);
return
ICreateTypeInfo2_Release
((
ICreateTypeInfo2
*
)
This
);
}
...
...
@@ -2461,7 +2465,7 @@ static HRESULT WINAPI ITypeInfo2_fnGetContainingTypeLib(
ITypeLib
**
ppTLib
,
UINT
*
pIndex
)
{
IC
OM_THIS_From_ITypeInfo2
(
ICreateTypeInfo2Impl
,
iface
);
IC
reateTypeInfo2Impl
*
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
)
{
IC
OM_THIS_From_ITypeLib2
(
ICreateTypeLib2Impl
,
iface
);
IC
reateTypeLib2Impl
*
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
)
{
IC
OM_THIS_From_ITypeLib2
(
ICreateTypeLib2Impl
,
iface
);
IC
reateTypeLib2Impl
*
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
)
{
IC
OM_THIS_From_ITypeLib2
(
ICreateTypeLib2Impl
,
iface
);
IC
reateTypeLib2Impl
*
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
)
{
IC
OM_THIS_From_ITypeLib2
(
ICreateTypeLib2Impl
,
iface
);
IC
reateTypeLib2Impl
*
This
=
impl_from_ITypeLib2
(
iface
);
TRACE
(
"(%p)
\n
"
,
iface
);
...
...
@@ -3485,7 +3489,7 @@ static HRESULT WINAPI ITypeLib2_fnGetTypeInfo(
UINT
index
,
ITypeInfo
**
ppTInfo
)
{
IC
OM_THIS_From_ITypeLib2
(
ICreateTypeLib2Impl
,
iface
);
IC
reateTypeLib2Impl
*
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
)
{
IC
OM_THIS_From_ITypeLib2
(
ICreateTypeLib2Impl
,
iface
);
IC
reateTypeLib2Impl
*
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
)
{
IC
OM_THIS_From_ITypeLib2
(
ICreateTypeLib2Impl
,
iface
);
IC
reateTypeLib2Impl
*
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
)
{
IC
OM_THIS_From_ITypeLib2
(
ICreateTypeLib2Impl
,
iface
);
IC
reateTypeLib2Impl
*
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
;
}
...
...
dlls/qcap/capturegraph.c
View file @
738e88db
...
...
@@ -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
,
...
...
dlls/quartz/filesource.c
View file @
738e88db
...
...
@@ -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
"
);
...
...
dlls/quartz/filtermapper.c
View file @
738e88db
...
...
@@ -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
;
...
...
dlls/quartz/parser.c
View file @
738e88db
...
...
@@ -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
);
}
...
...
dlls/quartz/pin.c
View file @
738e88db
...
...
@@ -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
)
{
I
COM_THIS_From_IMemInputPin
(
InputPin
,
iface
);
I
nputPin
*
This
=
impl_from_IMemInputPin
(
iface
);
return
IPin_QueryInterface
((
IPin
*
)
&
This
->
pin
,
riid
,
ppv
);
}
ULONG
WINAPI
MemInputPin_AddRef
(
IMemInputPin
*
iface
)
{
I
COM_THIS_From_IMemInputPin
(
InputPin
,
iface
);
I
nputPin
*
This
=
impl_from_IMemInputPin
(
iface
);
return
IPin_AddRef
((
IPin
*
)
&
This
->
pin
);
}
ULONG
WINAPI
MemInputPin_Release
(
IMemInputPin
*
iface
)
{
I
COM_THIS_From_IMemInputPin
(
InputPin
,
iface
);
I
nputPin
*
This
=
impl_from_IMemInputPin
(
iface
);
return
IPin_Release
((
IPin
*
)
&
This
->
pin
);
}
HRESULT
WINAPI
MemInputPin_GetAllocator
(
IMemInputPin
*
iface
,
IMemAllocator
**
ppAllocator
)
{
I
COM_THIS_From_IMemInputPin
(
InputPin
,
iface
);
I
nputPin
*
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
)
{
I
COM_THIS_From_IMemInputPin
(
InputPin
,
iface
);
I
nputPin
*
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
)
{
I
COM_THIS_From_IMemInputPin
(
InputPin
,
iface
);
I
nputPin
*
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
)
{
I
COM_THIS_From_IMemInputPin
(
InputPin
,
iface
);
I
nputPin
*
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
;
I
COM_THIS_From_IMemInputPin
(
InputPin
,
iface
);
I
nputPin
*
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
)
{
I
COM_THIS_From_IMemInputPin
(
InputPin
,
iface
);
I
nputPin
*
This
=
impl_from_IMemInputPin
(
iface
);
FIXME
(
"(%p/%p)->()
\n
"
,
This
,
iface
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment