diff options
author | Miguel Freitas <miguelfreitas@users.sourceforge.net> | 2001-11-07 02:15:24 +0000 |
---|---|---|
committer | Miguel Freitas <miguelfreitas@users.sourceforge.net> | 2001-11-07 02:15:24 +0000 |
commit | 258777b8039c78817611fefe656cef7ec8c79ef1 (patch) | |
tree | 1e837271e500be1175d80c051adfdbd2a70b8044 /src/libw32dll/wine/com.h | |
parent | 4eecee172b445460e94271f69b70ffc6330c47d4 (diff) | |
download | xine-lib-258777b8039c78817611fefe656cef7ec8c79ef1.tar.gz xine-lib-258777b8039c78817611fefe656cef7ec8c79ef1.tar.bz2 |
- update win32 loader
- dynamic buffers fixes a lot of audio problems
CVS patchset: 974
CVS date: 2001/11/07 02:15:24
Diffstat (limited to 'src/libw32dll/wine/com.h')
-rw-r--r-- | src/libw32dll/wine/com.h | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/src/libw32dll/wine/com.h b/src/libw32dll/wine/com.h new file mode 100644 index 000000000..10d8bbf08 --- /dev/null +++ b/src/libw32dll/wine/com.h @@ -0,0 +1,76 @@ +#ifndef AVIFILE_COM_H +#define AVIFILE_COM_H + +#include <inttypes.h> + +/** + * Internal functions and structures for COM emulation code. + */ + +#ifndef WIN32 + +#ifdef __cplusplus +extern "C" { +#endif + +void* CoTaskMemAlloc(unsigned long cb); +void CoTaskMemFree(void* cb); + +#ifndef GUID_TYPE +#define GUID_TYPE +typedef struct +{ + uint32_t f1; + uint16_t f2; + uint16_t f3; + uint8_t f4[8]; +} GUID; +#endif + +extern GUID IID_IUnknown; +extern GUID IID_IClassFactory; + +typedef long (*GETCLASSOBJECT) (GUID* clsid, GUID* iid, void** ppv); +int RegisterComClass(GUID* clsid, GETCLASSOBJECT gcs); +int UnregisterComClass(GUID* clsid, GETCLASSOBJECT gcs); + +#ifndef STDCALL +#define STDCALL __attribute__((__stdcall__)) +#endif + +struct IUnknown; +struct IClassFactory; +struct IUnknown_vt +{ + long STDCALL (*QueryInterface)(struct IUnknown* _this, GUID* iid, void** ppv); + long STDCALL (*AddRef)(struct IUnknown* _this) ; + long STDCALL (*Release)(struct IUnknown* _this) ; +} ; +struct IUnknown +{ + struct IUnknown_vt* vt; +}; + +struct IClassFactory_vt +{ + long STDCALL (*QueryInterface)(struct IUnknown* _this, GUID* iid, void** ppv); + long STDCALL (*AddRef)(struct IUnknown* _this) ; + long STDCALL (*Release)(struct IUnknown* _this) ; + long STDCALL (*CreateInstance)(struct IClassFactory* _this, struct IUnknown* pUnkOuter, GUID* riid, void** ppvObject); +}; + +struct IClassFactory +{ + struct IClassFactory_vt* vt; +}; + +long CoCreateInstance(GUID* rclsid, struct IUnknown* pUnkOuter,
+ long dwClsContext, GUID* riid, void** ppv); + +#ifdef __cplusplus +}; +#endif /* __cplusplus */ + +#endif /* WIN32 */ + +#endif /* AVIFILE_COM_H */ |