From d5f1bc61265f362506ade6de064c664a50dc6da4 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Wed, 9 Jan 2013 18:47:20 +0100 Subject: [PATCH] (360) Combine objbase.h and xaudio.h --- 360/xaudio-c/objbase.h | 767 ----------------------------------------- 360/xaudio-c/xaudio.h | 749 +++++++++++++++++++++++++++++++++++++++- 2 files changed, 743 insertions(+), 773 deletions(-) delete mode 100644 360/xaudio-c/objbase.h diff --git a/360/xaudio-c/objbase.h b/360/xaudio-c/objbase.h deleted file mode 100644 index c14cb6d972..0000000000 --- a/360/xaudio-c/objbase.h +++ /dev/null @@ -1,767 +0,0 @@ -#if !defined( _XOBJBASE_H_ ) -#define _XOBJBASE_H_ - -#include - -#if _MSC_VER > 1000 -#pragma once -#endif - -#define __RPC_FAR - -typedef unsigned char byte; -typedef unsigned char boolean; - -typedef double DOUBLE; - -#ifdef CONST_VTABLE -#define CONST_VTBL const -#else -#define CONST_VTBL -#endif - -/**************************************************************************** - * Special things for VC5 Com support - ****************************************************************************/ - -#ifndef DECLSPEC_SELECTANY -#if (_MSC_VER >= 1100) -#define DECLSPEC_SELECTANY __declspec(selectany) -#else -#define DECLSPEC_SELECTANY -#endif -#endif - -#ifndef DECLSPEC_NOVTABLE -#define DECLSPEC_NOVTABLE -#endif - -#ifndef DECLSPEC_UUID -#define DECLSPEC_UUID(x) -#endif - -#define MIDL_INTERFACE(x) struct DECLSPEC_UUID(x) DECLSPEC_NOVTABLE - -#if _MSC_VER >= 1100 -#define EXTERN_GUID(itf,l1,s1,s2,c1,c2,c3,c4,c5,c6,c7,c8) \ - EXTERN_C const IID DECLSPEC_SELECTANY itf = {l1,s1,s2,{c1,c2,c3,c4,c5,c6,c7,c8}} -#else -#define EXTERN_GUID(itf,l1,s1,s2,c1,c2,c3,c4,c5,c6,c7,c8) EXTERN_C const IID itf -#endif - -#include - -#define WINOLEAPI EXTERN_C DECLSPEC_IMPORT HRESULT STDAPICALLTYPE -#define WINOLEAPI_(type) EXTERN_C DECLSPEC_IMPORT type STDAPICALLTYPE - -/****** Interface Declaration ***********************************************/ - -/* - * These are macros for declaring interfaces. They exist so that - * a single definition of the interface is simulataneously a proper - * declaration of the interface structures (C++ abstract classes) - * for both C and C++. - * - * DECLARE_INTERFACE(iface) is used to declare an interface that does - * not derive from a base interface. - * DECLARE_INTERFACE_(iface, baseiface) is used to declare an interface - * that does derive from a base interface. - * - * By default if the source file has a .c extension the C version of - * the interface declaratations will be expanded; if it has a .cpp - * extension the C++ version will be expanded. if you want to force - * the C version expansion even though the source file has a .cpp - * extension, then define the macro "CINTERFACE". - * eg. cl -DCINTERFACE file.cpp - * - * - * Example C expansion: - * - * typedef struct IClassFactory - * { - * const struct IClassFactoryVtbl FAR* lpVtbl; - * } IClassFactory; - * - * typedef struct IClassFactoryVtbl IClassFactoryVtbl; - * - * struct IClassFactoryVtbl - * { - * HRESULT (STDMETHODCALLTYPE * QueryInterface) ( - * IClassFactory FAR* This, - * IID FAR* riid, - * LPVOID FAR* ppvObj) ; - * ULONG (STDMETHODCALLTYPE * AddRef) (IClassFactory FAR* This) ; - * ULONG (STDMETHODCALLTYPE * Release) (IClassFactory FAR* This) ; - * HRESULT (STDMETHODCALLTYPE * CreateInstance) ( - * IClassFactory FAR* This, - * LPUNKNOWN pUnkOuter, - * IID FAR* riid, - * LPVOID FAR* ppvObject); - * HRESULT (STDMETHODCALLTYPE * LockServer) ( - * IClassFactory FAR* This, - * BOOL fLock); - * }; - */ - -#define interface struct - -#define STDMETHOD(method) HRESULT (STDMETHODCALLTYPE * method) -#define STDMETHOD_(type,method) type (STDMETHODCALLTYPE * method) -#define STDMETHODV(method) HRESULT (STDMETHODVCALLTYPE * method) -#define STDMETHODV_(type,method) type (STDMETHODVCALLTYPE * method) - -#if !defined(BEGIN_INTERFACE) - #define BEGIN_INTERFACE - #define END_INTERFACE -#endif - - -#define PURE -#define THIS_ INTERFACE FAR* This, -#define THIS INTERFACE FAR* This -#ifdef CONST_VTABLE -#undef CONST_VTBL -#define CONST_VTBL const -#define DECLARE_INTERFACE(iface) typedef interface iface { \ - const struct iface##Vtbl FAR* lpVtbl; \ - } iface; \ - typedef const struct iface##Vtbl iface##Vtbl; \ - const struct iface##Vtbl -#else -#undef CONST_VTBL -#define CONST_VTBL -#define DECLARE_INTERFACE(iface) typedef interface iface { \ - struct iface##Vtbl FAR* lpVtbl; \ - } iface; \ - typedef struct iface##Vtbl iface##Vtbl; \ - struct iface##Vtbl -#endif -#define DECLARE_INTERFACE_(iface, baseiface) DECLARE_INTERFACE(iface) - - - - - -/****** Additional basic types **********************************************/ - - -#ifndef FARSTRUCT -#define FARSTRUCT -#endif // FARSTRUCT - - - -#ifndef HUGEP -#if defined(_WIN32) || defined(_MPPC_) -#define HUGEP -#else -#define HUGEP __huge -#endif // WIN32 -#endif // HUGEP - - -#include - -#define LISet32(li, v) ((li).HighPart = (v) < 0 ? -1 : 0, (li).LowPart = (v)) - -#define ULISet32(li, v) ((li).HighPart = 0, (li).LowPart = (v)) - - -#if defined(_WIN32) && !defined(OLE2ANSI) -typedef WCHAR OLECHAR; - -typedef /* [string] */ OLECHAR __RPC_FAR *LPOLESTR; - -typedef /* [string] */ const OLECHAR __RPC_FAR *LPCOLESTR; - -#define OLESTR(str) L##str - -#else - -typedef char OLECHAR; -typedef LPSTR LPOLESTR; -typedef LPCSTR LPCOLESTR; -#define OLESTR(str) str -#endif - - -/* Forward Declarations */ - -#ifndef __IUnknown_FWD_DEFINED__ -#define __IUnknown_FWD_DEFINED__ -typedef interface IUnknown IUnknown; -#endif /* __IUnknown_FWD_DEFINED__ */ - - -#ifndef __IUnknown_INTERFACE_DEFINED__ -#define __IUnknown_INTERFACE_DEFINED__ - - -/* interface IUnknown */ -/* [unique][uuid][object][local] */ - -typedef /* [unique] */ IUnknown __RPC_FAR *LPUNKNOWN; -typedef /* [unique] */ IUnknown __RPC_FAR *PUNKNOWN; - -////////////////////////////////////////////////////////////////// -// IID_IUnknown and all other system IIDs are provided in UUID.LIB -// Link that library in with your proxies, clients and servers -////////////////////////////////////////////////////////////////// - -EXTERN_C const IID IID_IUnknown; - - typedef struct IUnknownVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( - IUnknown __RPC_FAR * This, - /* [in] */ __in REFIID riid, - /* [iid_is][out] */ __deref_out void __RPC_FAR *__RPC_FAR *ppvObject); - - ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( - IUnknown __RPC_FAR * This); - - ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( - IUnknown __RPC_FAR * This); - - END_INTERFACE - } IUnknownVtbl; - - interface IUnknown - { - CONST_VTBL struct IUnknownVtbl __RPC_FAR *lpVtbl; - }; - - -#define IUnknown_QueryInterface(This,riid,ppvObject) \ - (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) - -#define IUnknown_AddRef(This) \ - (This)->lpVtbl -> AddRef(This) - -#define IUnknown_Release(This) \ - (This)->lpVtbl -> Release(This) - - - - - - -/* interface __MIDL_itf_unknwn_0005 */ -/* [local] */ - -#endif // VC6 hack - - -#ifndef __ISequentialStream_FWD_DEFINED__ -#define __ISequentialStream_FWD_DEFINED__ -typedef interface ISequentialStream ISequentialStream; -#endif /* __ISequentialStream_FWD_DEFINED__ */ - - -#ifndef __ISequentialStream_INTERFACE_DEFINED__ -#define __ISequentialStream_INTERFACE_DEFINED__ - -/* interface ISequentialStream */ -/* [unique][uuid][object] */ - - -EXTERN_C const IID IID_ISequentialStream; - - typedef struct ISequentialStreamVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( - ISequentialStream __RPC_FAR * This, - /* [in] */ __in REFIID riid, - /* [iid_is][out] */ __deref_out void __RPC_FAR *__RPC_FAR *ppvObject); - - ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( - ISequentialStream __RPC_FAR * This); - - ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( - ISequentialStream __RPC_FAR * This); - - /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Read )( - ISequentialStream __RPC_FAR * This, - /* [length_is][size_is][out] */ __out_bcount_part_opt(cb, *pcbRead) void __RPC_FAR *pv, - /* [in] */ __in ULONG cb, - /* [out] */ __out_opt ULONG __RPC_FAR *pcbRead); - - /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Write )( - ISequentialStream __RPC_FAR * This, - /* [size_is][in] */ __in_bcount_opt(cb) const void __RPC_FAR *pv, - /* [in] */ __in ULONG cb, - /* [out] */ __out_opt ULONG __RPC_FAR *pcbWritten); - - END_INTERFACE - } ISequentialStreamVtbl; - - interface ISequentialStream - { - CONST_VTBL struct ISequentialStreamVtbl __RPC_FAR *lpVtbl; - }; - - -#define ISequentialStream_QueryInterface(This,riid,ppvObject) \ - (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) - -#define ISequentialStream_AddRef(This) \ - (This)->lpVtbl -> AddRef(This) - -#define ISequentialStream_Release(This) \ - (This)->lpVtbl -> Release(This) - - -#define ISequentialStream_Read(This,pv,cb,pcbRead) \ - (This)->lpVtbl -> Read(This,pv,cb,pcbRead) - -#define ISequentialStream_Write(This,pv,cb,pcbWritten) \ - (This)->lpVtbl -> Write(This,pv,cb,pcbWritten) - - -#endif /* __ISequentialStream_INTERFACE_DEFINED__ */ - - - -#ifndef __IStream_FWD_DEFINED__ -#define __IStream_FWD_DEFINED__ -typedef interface IStream IStream; -#endif /* __IStream_FWD_DEFINED__ */ - - -#ifndef __IStream_INTERFACE_DEFINED__ -#define __IStream_INTERFACE_DEFINED__ - -/* interface IStream */ -/* [unique][uuid][object] */ - -typedef /* [unique] */ IStream __RPC_FAR *LPSTREAM; - -typedef struct tagSTATSTG - { - LPOLESTR pwcsName; - DWORD type; - ULARGE_INTEGER cbSize; - FILETIME mtime; - FILETIME ctime; - FILETIME atime; - DWORD grfMode; - DWORD grfLocksSupported; - CLSID clsid; - DWORD grfStateBits; - DWORD reserved; - } STATSTG; - -typedef -enum tagSTGTY - { STGTY_STORAGE = 1, - STGTY_STREAM = 2, - STGTY_LOCKBYTES = 3, - STGTY_PROPERTY = 4 - } STGTY; - -typedef -enum tagSTREAM_SEEK - { STREAM_SEEK_SET = 0, - STREAM_SEEK_CUR = 1, - STREAM_SEEK_END = 2 - } STREAM_SEEK; - -typedef -enum tagLOCKTYPE - { LOCK_WRITE = 1, - LOCK_EXCLUSIVE = 2, - LOCK_ONLYONCE = 4 - } LOCKTYPE; - - -EXTERN_C const IID IID_IStream; - - - typedef struct IStreamVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( - IStream __RPC_FAR * This, - /* [in] */ __in REFIID riid, - /* [iid_is][out] */ __deref_out void __RPC_FAR *__RPC_FAR *ppvObject); - - ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( - IStream __RPC_FAR * This); - - ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( - IStream __RPC_FAR * This); - - /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Read )( - IStream __RPC_FAR * This, - /* [length_is][size_is][out] */ __out_bcount_part_opt(cb, *pcbRead) void __RPC_FAR *pv, - /* [in] */ __in ULONG cb, - /* [out] */ __out_opt ULONG __RPC_FAR *pcbRead); - - /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Write )( - IStream __RPC_FAR * This, - /* [size_is][in] */ __in_bcount_opt(cb) const void __RPC_FAR *pv, - /* [in] */ __in ULONG cb, - /* [out] */ __out_opt ULONG __RPC_FAR *pcbWritten); - - /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Seek )( - IStream __RPC_FAR * This, - /* [in] */ __in LARGE_INTEGER dlibMove, - /* [in] */ __in DWORD dwOrigin, - /* [out] */ __out_opt ULARGE_INTEGER __RPC_FAR *plibNewPosition); - - HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetSize )( - IStream __RPC_FAR * This, - /* [in] */ __in ULARGE_INTEGER libNewSize); - - /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CopyTo )( - IStream __RPC_FAR * This, - /* [unique][in] */ __in IStream __RPC_FAR *pstm, - /* [in] */ __in ULARGE_INTEGER cb, - /* [out] */ __out_opt ULARGE_INTEGER __RPC_FAR *pcbRead, - /* [out] */ __out_opt ULARGE_INTEGER __RPC_FAR *pcbWritten); - - HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Commit )( - IStream __RPC_FAR * This, - /* [in] */ __in DWORD grfCommitFlags); - - HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Revert )( - IStream __RPC_FAR * This); - - HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LockRegion )( - IStream __RPC_FAR * This, - /* [in] */ __in ULARGE_INTEGER libOffset, - /* [in] */ __in ULARGE_INTEGER cb, - /* [in] */ __in DWORD dwLockType); - - HRESULT ( STDMETHODCALLTYPE __RPC_FAR *UnlockRegion )( - IStream __RPC_FAR * This, - /* [in] */ __in ULARGE_INTEGER libOffset, - /* [in] */ __in ULARGE_INTEGER cb, - /* [in] */ __in DWORD dwLockType); - - HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Stat )( - IStream __RPC_FAR * This, - /* [out] */ __out STATSTG __RPC_FAR *pstatstg, - /* [in] */ __in DWORD grfStatFlag); - - HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Clone )( - IStream __RPC_FAR * This, - /* [out] */ __deref_out_opt IStream __RPC_FAR *__RPC_FAR *ppstm); - - END_INTERFACE - } IStreamVtbl; - - interface IStream - { - CONST_VTBL struct IStreamVtbl __RPC_FAR *lpVtbl; - }; - - -#define IStream_QueryInterface(This,riid,ppvObject) \ - (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) - -#define IStream_AddRef(This) \ - (This)->lpVtbl -> AddRef(This) - -#define IStream_Release(This) \ - (This)->lpVtbl -> Release(This) - - -#define IStream_Read(This,pv,cb,pcbRead) \ - (This)->lpVtbl -> Read(This,pv,cb,pcbRead) - -#define IStream_Write(This,pv,cb,pcbWritten) \ - (This)->lpVtbl -> Write(This,pv,cb,pcbWritten) - - -#define IStream_Seek(This,dlibMove,dwOrigin,plibNewPosition) \ - (This)->lpVtbl -> Seek(This,dlibMove,dwOrigin,plibNewPosition) - -#define IStream_SetSize(This,libNewSize) \ - (This)->lpVtbl -> SetSize(This,libNewSize) - -#define IStream_CopyTo(This,pstm,cb,pcbRead,pcbWritten) \ - (This)->lpVtbl -> CopyTo(This,pstm,cb,pcbRead,pcbWritten) - -#define IStream_Commit(This,grfCommitFlags) \ - (This)->lpVtbl -> Commit(This,grfCommitFlags) - -#define IStream_Revert(This) \ - (This)->lpVtbl -> Revert(This) - -#define IStream_LockRegion(This,libOffset,cb,dwLockType) \ - (This)->lpVtbl -> LockRegion(This,libOffset,cb,dwLockType) - -#define IStream_UnlockRegion(This,libOffset,cb,dwLockType) \ - (This)->lpVtbl -> UnlockRegion(This,libOffset,cb,dwLockType) - -#define IStream_Stat(This,pstatstg,grfStatFlag) \ - (This)->lpVtbl -> Stat(This,pstatstg,grfStatFlag) - -#define IStream_Clone(This,ppstm) \ - (This)->lpVtbl -> Clone(This,ppstm) - - - - -#endif /* __IStream_INTERFACE_DEFINED__ */ - - -#ifndef __IClassFactory_FWD_DEFINED__ -#define __IClassFactory_FWD_DEFINED__ -typedef interface IClassFactory IClassFactory; -#endif /* __IClassFactory_FWD_DEFINED__ */ - - -#ifndef __IClassFactory_INTERFACE_DEFINED__ -#define __IClassFactory_INTERFACE_DEFINED__ - -/* interface IClassFactory */ -/* [unique][uuid][object] */ - -typedef /* [unique] */ IClassFactory __RPC_FAR *LPCLASSFACTORY; - - -EXTERN_C const IID IID_IClassFactory; - - - typedef struct IClassFactoryVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( - IClassFactory __RPC_FAR * This, - /* [in] */ __in REFIID riid, - /* [iid_is][out] */ __deref_out void __RPC_FAR *__RPC_FAR *ppvObject); - - ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( - IClassFactory __RPC_FAR * This); - - ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( - IClassFactory __RPC_FAR * This); - - /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateInstance )( - IClassFactory __RPC_FAR * This, - /* [unique][in] */ __in_opt IUnknown __RPC_FAR *pUnkOuter, - /* [in] */ __in REFIID riid, - /* [iid_is][out] */ __deref_out void __RPC_FAR *__RPC_FAR *ppvObject); - - /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LockServer )( - IClassFactory __RPC_FAR * This, - /* [in] */ __in BOOL fLock); - - END_INTERFACE - } IClassFactoryVtbl; - - interface IClassFactory - { - CONST_VTBL struct IClassFactoryVtbl __RPC_FAR *lpVtbl; - }; - - - -#define IClassFactory_QueryInterface(This,riid,ppvObject) \ - (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) - -#define IClassFactory_AddRef(This) \ - (This)->lpVtbl -> AddRef(This) - -#define IClassFactory_Release(This) \ - (This)->lpVtbl -> Release(This) - - -#define IClassFactory_CreateInstance(This,pUnkOuter,riid,ppvObject) \ - (This)->lpVtbl -> CreateInstance(This,pUnkOuter,riid,ppvObject) - -#define IClassFactory_LockServer(This,fLock) \ - (This)->lpVtbl -> LockServer(This,fLock) - - - - - -#endif /* __IClassFactory_INTERFACE_DEFINED__ */ - - - -#ifndef __IPersist_FWD_DEFINED__ -#define __IPersist_FWD_DEFINED__ -typedef interface IPersist IPersist; -#endif /* __IPersist_FWD_DEFINED__ */ - - -#ifndef __IPersist_INTERFACE_DEFINED__ -#define __IPersist_INTERFACE_DEFINED__ - -/* interface IPersist */ -/* [uuid][object] */ - -typedef /* [unique] */ IPersist __RPC_FAR *LPPERSIST; - - -EXTERN_C const IID IID_IPersist; - - - typedef struct IPersistVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( - IPersist __RPC_FAR * This, - /* [in] */ __in REFIID riid, - /* [iid_is][out] */ __deref_out void __RPC_FAR *__RPC_FAR *ppvObject); - - ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( - IPersist __RPC_FAR * This); - - ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( - IPersist __RPC_FAR * This); - - HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetClassID )( - IPersist __RPC_FAR * This, - /* [out] */ __out CLSID __RPC_FAR *pClassID); - - END_INTERFACE - } IPersistVtbl; - - interface IPersist - { - CONST_VTBL struct IPersistVtbl __RPC_FAR *lpVtbl; - }; - - - -#define IPersist_QueryInterface(This,riid,ppvObject) \ - (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) - -#define IPersist_AddRef(This) \ - (This)->lpVtbl -> AddRef(This) - -#define IPersist_Release(This) \ - (This)->lpVtbl -> Release(This) - - -#define IPersist_GetClassID(This,pClassID) \ - (This)->lpVtbl -> GetClassID(This,pClassID) - - - - - -#endif /* __IPersist_INTERFACE_DEFINED__ */ - - - - -#ifndef __IPersistStream_FWD_DEFINED__ -#define __IPersistStream_FWD_DEFINED__ -typedef interface IPersistStream IPersistStream; -#endif /* __IPersistStream_FWD_DEFINED__ */ - - -#ifndef __IPersistStream_INTERFACE_DEFINED__ -#define __IPersistStream_INTERFACE_DEFINED__ - -/* interface IPersistStream */ -/* [unique][uuid][object] */ - -typedef /* [unique] */ IPersistStream __RPC_FAR *LPPERSISTSTREAM; - - -EXTERN_C const IID IID_IPersistStream; - - typedef struct IPersistStreamVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( - IPersistStream __RPC_FAR * This, - /* [in] */ __in REFIID riid, - /* [iid_is][out] */ __deref_out void __RPC_FAR *__RPC_FAR *ppvObject); - - ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( - IPersistStream __RPC_FAR * This); - - ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( - IPersistStream __RPC_FAR * This); - - HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetClassID )( - IPersistStream __RPC_FAR * This, - /* [out] */ __out CLSID __RPC_FAR *pClassID); - - HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsDirty )( - IPersistStream __RPC_FAR * This); - - HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Load )( - IPersistStream __RPC_FAR * This, - /* [unique][in] */ __in_opt IStream __RPC_FAR *pStm); - - HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Save )( - IPersistStream __RPC_FAR * This, - /* [unique][in] */ __in_opt IStream __RPC_FAR *pStm, - /* [in] */ __in BOOL fClearDirty); - - HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSizeMax )( - IPersistStream __RPC_FAR * This, - /* [out] */ __out ULARGE_INTEGER __RPC_FAR *pcbSize); - - END_INTERFACE - } IPersistStreamVtbl; - - interface IPersistStream - { - CONST_VTBL struct IPersistStreamVtbl __RPC_FAR *lpVtbl; - }; - - - -#define IPersistStream_QueryInterface(This,riid,ppvObject) \ - (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) - -#define IPersistStream_AddRef(This) \ - (This)->lpVtbl -> AddRef(This) - -#define IPersistStream_Release(This) \ - (This)->lpVtbl -> Release(This) - - -#define IPersistStream_GetClassID(This,pClassID) \ - (This)->lpVtbl -> GetClassID(This,pClassID) - - -#define IPersistStream_IsDirty(This) \ - (This)->lpVtbl -> IsDirty(This) - -#define IPersistStream_Load(This,pStm) \ - (This)->lpVtbl -> Load(This,pStm) - -#define IPersistStream_Save(This,pStm,fClearDirty) \ - (This)->lpVtbl -> Save(This,pStm,fClearDirty) - -#define IPersistStream_GetSizeMax(This,pcbSize) \ - (This)->lpVtbl -> GetSizeMax(This,pcbSize) - - - - - -#endif /* __IPersistStream_INTERFACE_DEFINED__ */ - - - -#include - -#ifndef INITGUID -#include -#endif - -#ifndef RC_INVOKED -#include -#endif // RC_INVOKED - -#endif // _XOBJBASE_H_ diff --git a/360/xaudio-c/xaudio.h b/360/xaudio-c/xaudio.h index 7476cb832a..221154cf40 100644 --- a/360/xaudio-c/xaudio.h +++ b/360/xaudio-c/xaudio.h @@ -14,11 +14,751 @@ DEFINE_CLSID(XAudio2, 3eda9b49, 2085, 498b, 9b, b2, 39, a6, 77, 84, 93, de); DEFINE_CLSID(XAudio2_Debug, 47199894, 7cc2, 444d, 98, 73, ce, d2, 56, 2c, c6, 0e); DEFINE_IID(IXAudio2, 8bcf1f58, 9fe7, 4583, 8a, c6, e2, ad, c4, 65, c8, bb); +#include -// Ignore the rest of this header if only the GUID definitions were requested -#ifndef GUID_DEFS_ONLY +#if _MSC_VER > 1000 +#pragma once +#endif -#include "objbase.h" // Xbox COM declarations (IUnknown, etc) +#define __RPC_FAR + +typedef unsigned char byte; +typedef unsigned char boolean; + +typedef double DOUBLE; + +#ifdef CONST_VTABLE +#define CONST_VTBL const +#else +#define CONST_VTBL +#endif + +/**************************************************************************** + * Special things for VC5 Com support + ****************************************************************************/ + +#ifndef DECLSPEC_SELECTANY +#if (_MSC_VER >= 1100) +#define DECLSPEC_SELECTANY __declspec(selectany) +#else +#define DECLSPEC_SELECTANY +#endif +#endif + +#ifndef DECLSPEC_NOVTABLE +#define DECLSPEC_NOVTABLE +#endif + +#ifndef DECLSPEC_UUID +#define DECLSPEC_UUID(x) +#endif + +#define MIDL_INTERFACE(x) struct DECLSPEC_UUID(x) DECLSPEC_NOVTABLE + +#if _MSC_VER >= 1100 +#define EXTERN_GUID(itf,l1,s1,s2,c1,c2,c3,c4,c5,c6,c7,c8) \ + EXTERN_C const IID DECLSPEC_SELECTANY itf = {l1,s1,s2,{c1,c2,c3,c4,c5,c6,c7,c8}} +#else +#define EXTERN_GUID(itf,l1,s1,s2,c1,c2,c3,c4,c5,c6,c7,c8) EXTERN_C const IID itf +#endif + +#include + +#define WINOLEAPI EXTERN_C DECLSPEC_IMPORT HRESULT STDAPICALLTYPE +#define WINOLEAPI_(type) EXTERN_C DECLSPEC_IMPORT type STDAPICALLTYPE + +/****** Interface Declaration ***********************************************/ + +/* + * These are macros for declaring interfaces. They exist so that + * a single definition of the interface is simulataneously a proper + * declaration of the interface structures (C++ abstract classes) + * for both C and C++. + * + * DECLARE_INTERFACE(iface) is used to declare an interface that does + * not derive from a base interface. + * DECLARE_INTERFACE_(iface, baseiface) is used to declare an interface + * that does derive from a base interface. + * + * By default if the source file has a .c extension the C version of + * the interface declaratations will be expanded; if it has a .cpp + * extension the C++ version will be expanded. if you want to force + * the C version expansion even though the source file has a .cpp + * extension, then define the macro "CINTERFACE". + * eg. cl -DCINTERFACE file.cpp + * + * + * Example C expansion: + * + * typedef struct IClassFactory + * { + * const struct IClassFactoryVtbl FAR* lpVtbl; + * } IClassFactory; + * + * typedef struct IClassFactoryVtbl IClassFactoryVtbl; + * + * struct IClassFactoryVtbl + * { + * HRESULT (STDMETHODCALLTYPE * QueryInterface) ( + * IClassFactory FAR* This, + * IID FAR* riid, + * LPVOID FAR* ppvObj) ; + * ULONG (STDMETHODCALLTYPE * AddRef) (IClassFactory FAR* This) ; + * ULONG (STDMETHODCALLTYPE * Release) (IClassFactory FAR* This) ; + * HRESULT (STDMETHODCALLTYPE * CreateInstance) ( + * IClassFactory FAR* This, + * LPUNKNOWN pUnkOuter, + * IID FAR* riid, + * LPVOID FAR* ppvObject); + * HRESULT (STDMETHODCALLTYPE * LockServer) ( + * IClassFactory FAR* This, + * BOOL fLock); + * }; + */ + +#define interface struct + +#define STDMETHOD(method) HRESULT (STDMETHODCALLTYPE * method) +#define STDMETHOD_(type,method) type (STDMETHODCALLTYPE * method) +#define STDMETHODV(method) HRESULT (STDMETHODVCALLTYPE * method) +#define STDMETHODV_(type,method) type (STDMETHODVCALLTYPE * method) + +#if !defined(BEGIN_INTERFACE) + #define BEGIN_INTERFACE + #define END_INTERFACE +#endif + + +#define PURE +#define THIS_ INTERFACE FAR* This, +#define THIS INTERFACE FAR* This +#ifdef CONST_VTABLE +#undef CONST_VTBL +#define CONST_VTBL const +#define DECLARE_INTERFACE(iface) typedef interface iface { \ + const struct iface##Vtbl FAR* lpVtbl; \ + } iface; \ + typedef const struct iface##Vtbl iface##Vtbl; \ + const struct iface##Vtbl +#else +#undef CONST_VTBL +#define CONST_VTBL +#define DECLARE_INTERFACE(iface) typedef interface iface { \ + struct iface##Vtbl FAR* lpVtbl; \ + } iface; \ + typedef struct iface##Vtbl iface##Vtbl; \ + struct iface##Vtbl +#endif +#define DECLARE_INTERFACE_(iface, baseiface) DECLARE_INTERFACE(iface) + + + + + +/****** Additional basic types **********************************************/ + + +#ifndef FARSTRUCT +#define FARSTRUCT +#endif // FARSTRUCT + + + +#ifndef HUGEP +#if defined(_WIN32) || defined(_MPPC_) +#define HUGEP +#else +#define HUGEP __huge +#endif // WIN32 +#endif // HUGEP + + +#include + +#define LISet32(li, v) ((li).HighPart = (v) < 0 ? -1 : 0, (li).LowPart = (v)) + +#define ULISet32(li, v) ((li).HighPart = 0, (li).LowPart = (v)) + + +#if defined(_WIN32) && !defined(OLE2ANSI) +typedef WCHAR OLECHAR; + +typedef /* [string] */ OLECHAR __RPC_FAR *LPOLESTR; + +typedef /* [string] */ const OLECHAR __RPC_FAR *LPCOLESTR; + +#define OLESTR(str) L##str + +#else + +typedef char OLECHAR; +typedef LPSTR LPOLESTR; +typedef LPCSTR LPCOLESTR; +#define OLESTR(str) str +#endif + + +/* Forward Declarations */ + +#ifndef __IUnknown_FWD_DEFINED__ +#define __IUnknown_FWD_DEFINED__ +typedef interface IUnknown IUnknown; +#endif /* __IUnknown_FWD_DEFINED__ */ + + +#ifndef __IUnknown_INTERFACE_DEFINED__ +#define __IUnknown_INTERFACE_DEFINED__ + + +/* interface IUnknown */ +/* [unique][uuid][object][local] */ + +typedef /* [unique] */ IUnknown __RPC_FAR *LPUNKNOWN; +typedef /* [unique] */ IUnknown __RPC_FAR *PUNKNOWN; + +////////////////////////////////////////////////////////////////// +// IID_IUnknown and all other system IIDs are provided in UUID.LIB +// Link that library in with your proxies, clients and servers +////////////////////////////////////////////////////////////////// + +EXTERN_C const IID IID_IUnknown; + + typedef struct IUnknownVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( + IUnknown __RPC_FAR * This, + /* [in] */ __in REFIID riid, + /* [iid_is][out] */ __deref_out void __RPC_FAR *__RPC_FAR *ppvObject); + + ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( + IUnknown __RPC_FAR * This); + + ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( + IUnknown __RPC_FAR * This); + + END_INTERFACE + } IUnknownVtbl; + + interface IUnknown + { + CONST_VTBL struct IUnknownVtbl __RPC_FAR *lpVtbl; + }; + + +#define IUnknown_QueryInterface(This,riid,ppvObject) \ + (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) + +#define IUnknown_AddRef(This) \ + (This)->lpVtbl -> AddRef(This) + +#define IUnknown_Release(This) \ + (This)->lpVtbl -> Release(This) + + + + + + +/* interface __MIDL_itf_unknwn_0005 */ +/* [local] */ + +#endif // VC6 hack + + +#ifndef __ISequentialStream_FWD_DEFINED__ +#define __ISequentialStream_FWD_DEFINED__ +typedef interface ISequentialStream ISequentialStream; +#endif /* __ISequentialStream_FWD_DEFINED__ */ + + +#ifndef __ISequentialStream_INTERFACE_DEFINED__ +#define __ISequentialStream_INTERFACE_DEFINED__ + +/* interface ISequentialStream */ +/* [unique][uuid][object] */ + + +EXTERN_C const IID IID_ISequentialStream; + + typedef struct ISequentialStreamVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( + ISequentialStream __RPC_FAR * This, + /* [in] */ __in REFIID riid, + /* [iid_is][out] */ __deref_out void __RPC_FAR *__RPC_FAR *ppvObject); + + ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( + ISequentialStream __RPC_FAR * This); + + ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( + ISequentialStream __RPC_FAR * This); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Read )( + ISequentialStream __RPC_FAR * This, + /* [length_is][size_is][out] */ __out_bcount_part_opt(cb, *pcbRead) void __RPC_FAR *pv, + /* [in] */ __in ULONG cb, + /* [out] */ __out_opt ULONG __RPC_FAR *pcbRead); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Write )( + ISequentialStream __RPC_FAR * This, + /* [size_is][in] */ __in_bcount_opt(cb) const void __RPC_FAR *pv, + /* [in] */ __in ULONG cb, + /* [out] */ __out_opt ULONG __RPC_FAR *pcbWritten); + + END_INTERFACE + } ISequentialStreamVtbl; + + interface ISequentialStream + { + CONST_VTBL struct ISequentialStreamVtbl __RPC_FAR *lpVtbl; + }; + + +#define ISequentialStream_QueryInterface(This,riid,ppvObject) \ + (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) + +#define ISequentialStream_AddRef(This) \ + (This)->lpVtbl -> AddRef(This) + +#define ISequentialStream_Release(This) \ + (This)->lpVtbl -> Release(This) + + +#define ISequentialStream_Read(This,pv,cb,pcbRead) \ + (This)->lpVtbl -> Read(This,pv,cb,pcbRead) + +#define ISequentialStream_Write(This,pv,cb,pcbWritten) \ + (This)->lpVtbl -> Write(This,pv,cb,pcbWritten) + + +#endif /* __ISequentialStream_INTERFACE_DEFINED__ */ + + + +#ifndef __IStream_FWD_DEFINED__ +#define __IStream_FWD_DEFINED__ +typedef interface IStream IStream; +#endif /* __IStream_FWD_DEFINED__ */ + + +#ifndef __IStream_INTERFACE_DEFINED__ +#define __IStream_INTERFACE_DEFINED__ + +/* interface IStream */ +/* [unique][uuid][object] */ + +typedef /* [unique] */ IStream __RPC_FAR *LPSTREAM; + +typedef struct tagSTATSTG + { + LPOLESTR pwcsName; + DWORD type; + ULARGE_INTEGER cbSize; + FILETIME mtime; + FILETIME ctime; + FILETIME atime; + DWORD grfMode; + DWORD grfLocksSupported; + CLSID clsid; + DWORD grfStateBits; + DWORD reserved; + } STATSTG; + +typedef +enum tagSTGTY + { STGTY_STORAGE = 1, + STGTY_STREAM = 2, + STGTY_LOCKBYTES = 3, + STGTY_PROPERTY = 4 + } STGTY; + +typedef +enum tagSTREAM_SEEK + { STREAM_SEEK_SET = 0, + STREAM_SEEK_CUR = 1, + STREAM_SEEK_END = 2 + } STREAM_SEEK; + +typedef +enum tagLOCKTYPE + { LOCK_WRITE = 1, + LOCK_EXCLUSIVE = 2, + LOCK_ONLYONCE = 4 + } LOCKTYPE; + + +EXTERN_C const IID IID_IStream; + + + typedef struct IStreamVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( + IStream __RPC_FAR * This, + /* [in] */ __in REFIID riid, + /* [iid_is][out] */ __deref_out void __RPC_FAR *__RPC_FAR *ppvObject); + + ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( + IStream __RPC_FAR * This); + + ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( + IStream __RPC_FAR * This); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Read )( + IStream __RPC_FAR * This, + /* [length_is][size_is][out] */ __out_bcount_part_opt(cb, *pcbRead) void __RPC_FAR *pv, + /* [in] */ __in ULONG cb, + /* [out] */ __out_opt ULONG __RPC_FAR *pcbRead); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Write )( + IStream __RPC_FAR * This, + /* [size_is][in] */ __in_bcount_opt(cb) const void __RPC_FAR *pv, + /* [in] */ __in ULONG cb, + /* [out] */ __out_opt ULONG __RPC_FAR *pcbWritten); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Seek )( + IStream __RPC_FAR * This, + /* [in] */ __in LARGE_INTEGER dlibMove, + /* [in] */ __in DWORD dwOrigin, + /* [out] */ __out_opt ULARGE_INTEGER __RPC_FAR *plibNewPosition); + + HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetSize )( + IStream __RPC_FAR * This, + /* [in] */ __in ULARGE_INTEGER libNewSize); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CopyTo )( + IStream __RPC_FAR * This, + /* [unique][in] */ __in IStream __RPC_FAR *pstm, + /* [in] */ __in ULARGE_INTEGER cb, + /* [out] */ __out_opt ULARGE_INTEGER __RPC_FAR *pcbRead, + /* [out] */ __out_opt ULARGE_INTEGER __RPC_FAR *pcbWritten); + + HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Commit )( + IStream __RPC_FAR * This, + /* [in] */ __in DWORD grfCommitFlags); + + HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Revert )( + IStream __RPC_FAR * This); + + HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LockRegion )( + IStream __RPC_FAR * This, + /* [in] */ __in ULARGE_INTEGER libOffset, + /* [in] */ __in ULARGE_INTEGER cb, + /* [in] */ __in DWORD dwLockType); + + HRESULT ( STDMETHODCALLTYPE __RPC_FAR *UnlockRegion )( + IStream __RPC_FAR * This, + /* [in] */ __in ULARGE_INTEGER libOffset, + /* [in] */ __in ULARGE_INTEGER cb, + /* [in] */ __in DWORD dwLockType); + + HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Stat )( + IStream __RPC_FAR * This, + /* [out] */ __out STATSTG __RPC_FAR *pstatstg, + /* [in] */ __in DWORD grfStatFlag); + + HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Clone )( + IStream __RPC_FAR * This, + /* [out] */ __deref_out_opt IStream __RPC_FAR *__RPC_FAR *ppstm); + + END_INTERFACE + } IStreamVtbl; + + interface IStream + { + CONST_VTBL struct IStreamVtbl __RPC_FAR *lpVtbl; + }; + + +#define IStream_QueryInterface(This,riid,ppvObject) \ + (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) + +#define IStream_AddRef(This) \ + (This)->lpVtbl -> AddRef(This) + +#define IStream_Release(This) \ + (This)->lpVtbl -> Release(This) + + +#define IStream_Read(This,pv,cb,pcbRead) \ + (This)->lpVtbl -> Read(This,pv,cb,pcbRead) + +#define IStream_Write(This,pv,cb,pcbWritten) \ + (This)->lpVtbl -> Write(This,pv,cb,pcbWritten) + + +#define IStream_Seek(This,dlibMove,dwOrigin,plibNewPosition) \ + (This)->lpVtbl -> Seek(This,dlibMove,dwOrigin,plibNewPosition) + +#define IStream_SetSize(This,libNewSize) \ + (This)->lpVtbl -> SetSize(This,libNewSize) + +#define IStream_CopyTo(This,pstm,cb,pcbRead,pcbWritten) \ + (This)->lpVtbl -> CopyTo(This,pstm,cb,pcbRead,pcbWritten) + +#define IStream_Commit(This,grfCommitFlags) \ + (This)->lpVtbl -> Commit(This,grfCommitFlags) + +#define IStream_Revert(This) \ + (This)->lpVtbl -> Revert(This) + +#define IStream_LockRegion(This,libOffset,cb,dwLockType) \ + (This)->lpVtbl -> LockRegion(This,libOffset,cb,dwLockType) + +#define IStream_UnlockRegion(This,libOffset,cb,dwLockType) \ + (This)->lpVtbl -> UnlockRegion(This,libOffset,cb,dwLockType) + +#define IStream_Stat(This,pstatstg,grfStatFlag) \ + (This)->lpVtbl -> Stat(This,pstatstg,grfStatFlag) + +#define IStream_Clone(This,ppstm) \ + (This)->lpVtbl -> Clone(This,ppstm) + + + + +#endif /* __IStream_INTERFACE_DEFINED__ */ + + +#ifndef __IClassFactory_FWD_DEFINED__ +#define __IClassFactory_FWD_DEFINED__ +typedef interface IClassFactory IClassFactory; +#endif /* __IClassFactory_FWD_DEFINED__ */ + + +#ifndef __IClassFactory_INTERFACE_DEFINED__ +#define __IClassFactory_INTERFACE_DEFINED__ + +/* interface IClassFactory */ +/* [unique][uuid][object] */ + +typedef /* [unique] */ IClassFactory __RPC_FAR *LPCLASSFACTORY; + + +EXTERN_C const IID IID_IClassFactory; + + + typedef struct IClassFactoryVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( + IClassFactory __RPC_FAR * This, + /* [in] */ __in REFIID riid, + /* [iid_is][out] */ __deref_out void __RPC_FAR *__RPC_FAR *ppvObject); + + ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( + IClassFactory __RPC_FAR * This); + + ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( + IClassFactory __RPC_FAR * This); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateInstance )( + IClassFactory __RPC_FAR * This, + /* [unique][in] */ __in_opt IUnknown __RPC_FAR *pUnkOuter, + /* [in] */ __in REFIID riid, + /* [iid_is][out] */ __deref_out void __RPC_FAR *__RPC_FAR *ppvObject); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LockServer )( + IClassFactory __RPC_FAR * This, + /* [in] */ __in BOOL fLock); + + END_INTERFACE + } IClassFactoryVtbl; + + interface IClassFactory + { + CONST_VTBL struct IClassFactoryVtbl __RPC_FAR *lpVtbl; + }; + + + +#define IClassFactory_QueryInterface(This,riid,ppvObject) \ + (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) + +#define IClassFactory_AddRef(This) \ + (This)->lpVtbl -> AddRef(This) + +#define IClassFactory_Release(This) \ + (This)->lpVtbl -> Release(This) + + +#define IClassFactory_CreateInstance(This,pUnkOuter,riid,ppvObject) \ + (This)->lpVtbl -> CreateInstance(This,pUnkOuter,riid,ppvObject) + +#define IClassFactory_LockServer(This,fLock) \ + (This)->lpVtbl -> LockServer(This,fLock) + + + + + +#endif /* __IClassFactory_INTERFACE_DEFINED__ */ + + + +#ifndef __IPersist_FWD_DEFINED__ +#define __IPersist_FWD_DEFINED__ +typedef interface IPersist IPersist; +#endif /* __IPersist_FWD_DEFINED__ */ + + +#ifndef __IPersist_INTERFACE_DEFINED__ +#define __IPersist_INTERFACE_DEFINED__ + +/* interface IPersist */ +/* [uuid][object] */ + +typedef /* [unique] */ IPersist __RPC_FAR *LPPERSIST; + + +EXTERN_C const IID IID_IPersist; + + + typedef struct IPersistVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( + IPersist __RPC_FAR * This, + /* [in] */ __in REFIID riid, + /* [iid_is][out] */ __deref_out void __RPC_FAR *__RPC_FAR *ppvObject); + + ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( + IPersist __RPC_FAR * This); + + ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( + IPersist __RPC_FAR * This); + + HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetClassID )( + IPersist __RPC_FAR * This, + /* [out] */ __out CLSID __RPC_FAR *pClassID); + + END_INTERFACE + } IPersistVtbl; + + interface IPersist + { + CONST_VTBL struct IPersistVtbl __RPC_FAR *lpVtbl; + }; + +#define IPersist_QueryInterface(This,riid,ppvObject) \ + (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) + +#define IPersist_AddRef(This) \ + (This)->lpVtbl -> AddRef(This) + +#define IPersist_Release(This) \ + (This)->lpVtbl -> Release(This) + +#define IPersist_GetClassID(This,pClassID) \ + (This)->lpVtbl -> GetClassID(This,pClassID) + +#endif /* __IPersist_INTERFACE_DEFINED__ */ + +#ifndef __IPersistStream_FWD_DEFINED__ +#define __IPersistStream_FWD_DEFINED__ +typedef interface IPersistStream IPersistStream; +#endif /* __IPersistStream_FWD_DEFINED__ */ + +#ifndef __IPersistStream_INTERFACE_DEFINED__ +#define __IPersistStream_INTERFACE_DEFINED__ + +/* interface IPersistStream */ +/* [unique][uuid][object] */ + +typedef /* [unique] */ IPersistStream __RPC_FAR *LPPERSISTSTREAM; + + +EXTERN_C const IID IID_IPersistStream; + + typedef struct IPersistStreamVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( + IPersistStream __RPC_FAR * This, + /* [in] */ __in REFIID riid, + /* [iid_is][out] */ __deref_out void __RPC_FAR *__RPC_FAR *ppvObject); + + ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( + IPersistStream __RPC_FAR * This); + + ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( + IPersistStream __RPC_FAR * This); + + HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetClassID )( + IPersistStream __RPC_FAR * This, + /* [out] */ __out CLSID __RPC_FAR *pClassID); + + HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsDirty )( + IPersistStream __RPC_FAR * This); + + HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Load )( + IPersistStream __RPC_FAR * This, + /* [unique][in] */ __in_opt IStream __RPC_FAR *pStm); + + HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Save )( + IPersistStream __RPC_FAR * This, + /* [unique][in] */ __in_opt IStream __RPC_FAR *pStm, + /* [in] */ __in BOOL fClearDirty); + + HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSizeMax )( + IPersistStream __RPC_FAR * This, + /* [out] */ __out ULARGE_INTEGER __RPC_FAR *pcbSize); + + END_INTERFACE + } IPersistStreamVtbl; + + interface IPersistStream + { + CONST_VTBL struct IPersistStreamVtbl __RPC_FAR *lpVtbl; + }; + + + +#define IPersistStream_QueryInterface(This,riid,ppvObject) \ + (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) + +#define IPersistStream_AddRef(This) \ + (This)->lpVtbl -> AddRef(This) + +#define IPersistStream_Release(This) \ + (This)->lpVtbl -> Release(This) + + +#define IPersistStream_GetClassID(This,pClassID) \ + (This)->lpVtbl -> GetClassID(This,pClassID) + + +#define IPersistStream_IsDirty(This) \ + (This)->lpVtbl -> IsDirty(This) + +#define IPersistStream_Load(This,pStm) \ + (This)->lpVtbl -> Load(This,pStm) + +#define IPersistStream_Save(This,pStm,fClearDirty) \ + (This)->lpVtbl -> Save(This,pStm,fClearDirty) + +#define IPersistStream_GetSizeMax(This,pcbSize) \ + (This)->lpVtbl -> GetSizeMax(This,pcbSize) + +#endif /* __IPersistStream_INTERFACE_DEFINED__ */ + +#include + +#ifndef INITGUID +#include +#endif + +#ifndef RC_INVOKED +#include +#endif // RC_INVOKED #include // Basic audio data types and constants #include // Data types and constants for XMA2 audio @@ -500,7 +1240,4 @@ STDAPI XAudio2Create(__deref_out IXAudio2** ppXAudio2, UINT32 Flags X2DEFAULT(0) // Undo the #pragma pack(push, 1) directive at the top of this file #pragma pack(pop) -#endif // #ifndef GUID_DEFS_ONLY - #endif -