Michael Stefaniuc : avifil32: Basic COM cleanup for IAVIFile from WAVFile.
Alexandre Julliard
julliard at winehq.org
Tue Mar 4 14:08:50 CST 2014
Module: wine
Branch: master
Commit: d1bbb471e877ff7df2a7372d1d36a9ab7702bae5
URL: http://source.winehq.org/git/wine.git/?a=commit;h=d1bbb471e877ff7df2a7372d1d36a9ab7702bae5
Author: Michael Stefaniuc <mstefani at redhat.de>
Date: Mon Mar 3 21:56:00 2014 +0100
avifil32: Basic COM cleanup for IAVIFile from WAVFile.
---
dlls/avifil32/wavfile.c | 49 ++++++++++++++++++++++++-----------------------
1 file changed, 25 insertions(+), 24 deletions(-)
diff --git a/dlls/avifil32/wavfile.c b/dlls/avifil32/wavfile.c
index 07f9b5e..26487ec 100644
--- a/dlls/avifil32/wavfile.c
+++ b/dlls/avifil32/wavfile.c
@@ -16,6 +16,7 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
+#define COBJMACROS
#include <assert.h>
#include <stdarg.h>
@@ -183,8 +184,7 @@ typedef struct _IAVIStreamImpl {
} IAVIStreamImpl;
struct _IAVIFileImpl {
- /* IUnknown stuff */
- const IAVIFileVtbl *lpVtbl;
+ IAVIFile IAVIFile_iface;
LONG ref;
/* IAVIFile, IAVIStream stuff... */
@@ -227,7 +227,7 @@ HRESULT AVIFILE_CreateWAVFile(REFIID riid, LPVOID *ppv)
if (pfile == NULL)
return AVIERR_MEMORY;
- pfile->lpVtbl = &iwavft;
+ pfile->IAVIFile_iface.lpVtbl = &iwavft;
pfile->iPersistFile.lpVtbl = &iwavpft;
pfile->iAVIStream.lpVtbl = &iwavst;
pfile->ref = 0;
@@ -241,10 +241,15 @@ HRESULT AVIFILE_CreateWAVFile(REFIID riid, LPVOID *ppv)
return hr;
}
+static inline IAVIFileImpl *impl_from_IAVIFile(IAVIFile *iface)
+{
+ return CONTAINING_RECORD(iface, IAVIFileImpl, IAVIFile_iface);
+}
+
static HRESULT WINAPI IAVIFile_fnQueryInterface(IAVIFile *iface, REFIID refiid,
LPVOID *obj)
{
- IAVIFileImpl *This = (IAVIFileImpl *)iface;
+ IAVIFileImpl *This = impl_from_IAVIFile(iface);
TRACE("(%p,%s,%p)\n", This, debugstr_guid(refiid), obj);
@@ -269,7 +274,7 @@ static HRESULT WINAPI IAVIFile_fnQueryInterface(IAVIFile *iface, REFIID refiid,
static ULONG WINAPI IAVIFile_fnAddRef(IAVIFile *iface)
{
- IAVIFileImpl *This = (IAVIFileImpl *)iface;
+ IAVIFileImpl *This = impl_from_IAVIFile(iface);
TRACE("(%p)\n",iface);
@@ -278,7 +283,7 @@ static ULONG WINAPI IAVIFile_fnAddRef(IAVIFile *iface)
static ULONG WINAPI IAVIFile_fnRelease(IAVIFile *iface)
{
- IAVIFileImpl *This = (IAVIFileImpl *)iface;
+ IAVIFileImpl *This = impl_from_IAVIFile(iface);
ULONG ref = InterlockedDecrement(&This->ref);
TRACE("(%p)\n",iface);
@@ -312,10 +317,9 @@ static ULONG WINAPI IAVIFile_fnRelease(IAVIFile *iface)
return ref;
}
-static HRESULT WINAPI IAVIFile_fnInfo(IAVIFile *iface, LPAVIFILEINFOW afi,
- LONG size)
+static HRESULT WINAPI IAVIFile_fnInfo(IAVIFile *iface, AVIFILEINFOW *afi, LONG size)
{
- IAVIFileImpl *This = (IAVIFileImpl *)iface;
+ IAVIFileImpl *This = impl_from_IAVIFile(iface);
TRACE("(%p,%p,%d)\n",iface,afi,size);
@@ -346,10 +350,10 @@ static HRESULT WINAPI IAVIFile_fnInfo(IAVIFile *iface, LPAVIFILEINFOW afi,
return AVIERR_OK;
}
-static HRESULT WINAPI IAVIFile_fnGetStream(IAVIFile *iface, PAVISTREAM *avis,
- DWORD fccType, LONG lParam)
+static HRESULT WINAPI IAVIFile_fnGetStream(IAVIFile *iface, IAVIStream **avis, DWORD fccType,
+ LONG lParam)
{
- IAVIFileImpl *This = (IAVIFileImpl *)iface;
+ IAVIFileImpl *This = impl_from_IAVIFile(iface);
TRACE("(%p,%p,0x%08X,%d)\n", iface, avis, fccType, lParam);
@@ -371,10 +375,10 @@ static HRESULT WINAPI IAVIFile_fnGetStream(IAVIFile *iface, PAVISTREAM *avis,
return AVIERR_OK;
}
-static HRESULT WINAPI IAVIFile_fnCreateStream(IAVIFile *iface,PAVISTREAM *avis,
- LPAVISTREAMINFOW asi)
+static HRESULT WINAPI IAVIFile_fnCreateStream(IAVIFile *iface, IAVIStream **avis,
+ AVISTREAMINFOW *asi)
{
- IAVIFileImpl *This = (IAVIFileImpl *)iface;
+ IAVIFileImpl *This = impl_from_IAVIFile(iface);
TRACE("(%p,%p,%p)\n", iface, avis, asi);
@@ -422,10 +426,9 @@ static HRESULT WINAPI IAVIFile_fnCreateStream(IAVIFile *iface,PAVISTREAM *avis,
return AVIERR_OK;
}
-static HRESULT WINAPI IAVIFile_fnWriteData(IAVIFile *iface, DWORD ckid,
- LPVOID lpData, LONG size)
+static HRESULT WINAPI IAVIFile_fnWriteData(IAVIFile *iface, DWORD ckid, void *lpData, LONG size)
{
- IAVIFileImpl *This = (IAVIFileImpl *)iface;
+ IAVIFileImpl *This = impl_from_IAVIFile(iface);
TRACE("(%p,0x%08X,%p,%d)\n", iface, ckid, lpData, size);
@@ -444,10 +447,9 @@ static HRESULT WINAPI IAVIFile_fnWriteData(IAVIFile *iface, DWORD ckid,
return WriteExtraChunk(&This->extra, ckid, lpData, size);
}
-static HRESULT WINAPI IAVIFile_fnReadData(IAVIFile *iface, DWORD ckid,
- LPVOID lpData, LONG *size)
+static HRESULT WINAPI IAVIFile_fnReadData(IAVIFile *iface, DWORD ckid, void *lpData, LONG *size)
{
- IAVIFileImpl *This = (IAVIFileImpl *)iface;
+ IAVIFileImpl *This = impl_from_IAVIFile(iface);
TRACE("(%p,0x%08X,%p,%p)\n", iface, ckid, lpData, size);
@@ -464,10 +466,9 @@ static HRESULT WINAPI IAVIFile_fnEndRecord(IAVIFile *iface)
return AVIERR_OK;
}
-static HRESULT WINAPI IAVIFile_fnDeleteStream(IAVIFile *iface, DWORD fccType,
- LONG lParam)
+static HRESULT WINAPI IAVIFile_fnDeleteStream(IAVIFile *iface, DWORD fccType, LONG lParam)
{
- IAVIFileImpl *This = (IAVIFileImpl *)iface;
+ IAVIFileImpl *This = impl_from_IAVIFile(iface);
TRACE("(%p,0x%08X,%d)\n", iface, fccType, lParam);
More information about the wine-cvs
mailing list