ReactOS  0.4.14-dev-358-gbef841c
audio.c File Reference
#include <assert.h>
#include "dshow.h"
#include "uuids.h"
#include "vfwmsgs.h"
#include "wine/unicode.h"
#include "wine/strmbase.h"
Include dependency graph for audio.c:

Go to the source code of this file.

Macros

#define COBJMACROS
 

Functions

static BasicAudio * impl_from_IBasicAudio (IBasicAudio *iface)
 
HRESULT WINAPI BasicAudio_Init (BasicAudio *pBasicAudio, const IBasicAudioVtbl *lpVtbl)
 
HRESULT WINAPI BasicAudio_Destroy (BasicAudio *pBasicAudio)
 
HRESULT WINAPI BasicAudioImpl_GetTypeInfoCount (IBasicAudio *iface, UINT *pctinfo)
 
HRESULT WINAPI BasicAudioImpl_GetTypeInfo (IBasicAudio *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
 
HRESULT WINAPI BasicAudioImpl_GetIDsOfNames (IBasicAudio *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
 
HRESULT WINAPI BasicAudioImpl_Invoke (IBasicAudio *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExepInfo, UINT *puArgErr)
 

Macro Definition Documentation

◆ COBJMACROS

#define COBJMACROS

Definition at line 21 of file audio.c.

Function Documentation

◆ BasicAudio_Destroy()

HRESULT WINAPI BasicAudio_Destroy ( BasicAudio *  pBasicAudio)

Definition at line 44 of file audio.c.

45 {
46  return BaseDispatch_Destroy(&pBasicAudio->baseDispatch);
47 }
HRESULT WINAPI BaseDispatch_Destroy(BaseDispatch *This)
Definition: dispatch.c:45

Referenced by DSoundRender_Release().

◆ BasicAudio_Init()

HRESULT WINAPI BasicAudio_Init ( BasicAudio *  pBasicAudio,
const IBasicAudioVtbl *  lpVtbl 
)

Definition at line 36 of file audio.c.

37 {
38  pBasicAudio->IBasicAudio_iface.lpVtbl = lpVtbl;
39  BaseDispatch_Init(&pBasicAudio->baseDispatch, &IID_IBasicAudio);
40 
41  return S_OK;
42 }
HRESULT WINAPI BaseDispatch_Init(BaseDispatch *This, REFIID riid)
Definition: dispatch.c:30
#define S_OK
Definition: intsafe.h:59

Referenced by DSoundRender_create().

◆ BasicAudioImpl_GetIDsOfNames()

HRESULT WINAPI BasicAudioImpl_GetIDsOfNames ( IBasicAudio *  iface,
REFIID  riid,
LPOLESTR rgszNames,
UINT  cNames,
LCID  lcid,
DISPID rgDispId 
)

Definition at line 63 of file audio.c.

64 {
65  BasicAudio *This = impl_from_IBasicAudio(iface);
66 
67  return BaseDispatchImpl_GetIDsOfNames(&This->baseDispatch, riid, rgszNames, cNames, lcid, rgDispId);
68 }
REFIID riid
Definition: precomp.h:44
HRESULT WINAPI BaseDispatchImpl_GetIDsOfNames(BaseDispatch *This, REFIID riid, OLECHAR **rgszNames, UINT cNames, LCID lcid, DISPID *rgdispid)
Definition: dispatch.c:52
static BasicAudio * impl_from_IBasicAudio(IBasicAudio *iface)
Definition: audio.c:31

◆ BasicAudioImpl_GetTypeInfo()

HRESULT WINAPI BasicAudioImpl_GetTypeInfo ( IBasicAudio *  iface,
UINT  iTInfo,
LCID  lcid,
ITypeInfo **  ppTInfo 
)

Definition at line 56 of file audio.c.

57 {
58  BasicAudio *This = impl_from_IBasicAudio(iface);
59 
60  return BaseDispatchImpl_GetTypeInfo(&This->baseDispatch, &IID_NULL, iTInfo, lcid, ppTInfo);
61 }
static BasicAudio * impl_from_IBasicAudio(IBasicAudio *iface)
Definition: audio.c:31
HRESULT WINAPI BaseDispatchImpl_GetTypeInfo(BaseDispatch *This, REFIID riid, UINT itinfo, LCID lcid, ITypeInfo **pptinfo)
Definition: dispatch.c:59
#define IID_NULL
Definition: guiddef.h:98

◆ BasicAudioImpl_GetTypeInfoCount()

HRESULT WINAPI BasicAudioImpl_GetTypeInfoCount ( IBasicAudio *  iface,
UINT pctinfo 
)

Definition at line 49 of file audio.c.

50 {
51  BasicAudio *This = impl_from_IBasicAudio(iface);
52 
53  return BaseDispatchImpl_GetTypeInfoCount(&This->baseDispatch, pctinfo);
54 }
static BasicAudio * impl_from_IBasicAudio(IBasicAudio *iface)
Definition: audio.c:31
HRESULT WINAPI BaseDispatchImpl_GetTypeInfoCount(BaseDispatch *This, UINT *pctinfo)
Definition: dispatch.c:70

◆ BasicAudioImpl_Invoke()

HRESULT WINAPI BasicAudioImpl_Invoke ( IBasicAudio *  iface,
DISPID  dispIdMember,
REFIID  riid,
LCID  lcid,
WORD  wFlags,
DISPPARAMS *  pDispParams,
VARIANT pVarResult,
EXCEPINFO *  pExepInfo,
UINT puArgErr 
)

Definition at line 70 of file audio.c.

71 {
72  BasicAudio *This = impl_from_IBasicAudio(iface);
73  ITypeInfo *pTypeInfo;
74  HRESULT hr;
75 
76  hr = BaseDispatchImpl_GetTypeInfo(&This->baseDispatch, riid, 1, lcid, &pTypeInfo);
77  if (SUCCEEDED(hr))
78  {
79  hr = ITypeInfo_Invoke(pTypeInfo, &This->IBasicAudio_iface, dispIdMember, wFlags, pDispParams, pVarResult, pExepInfo, puArgErr);
80  ITypeInfo_Release(pTypeInfo);
81  }
82 
83  return hr;
84 }
HRESULT hr
Definition: shlfolder.c:183
REFIID riid
Definition: precomp.h:44
static BasicAudio * impl_from_IBasicAudio(IBasicAudio *iface)
Definition: audio.c:31
LONG HRESULT
Definition: typedefs.h:77
HRESULT WINAPI BaseDispatchImpl_GetTypeInfo(BaseDispatch *This, REFIID riid, UINT itinfo, LCID lcid, ITypeInfo **pptinfo)
Definition: dispatch.c:59
_In_ DWORD _Out_ _In_ WORD wFlags
Definition: wincon.h:519
#define SUCCEEDED(hr)
Definition: intsafe.h:57

◆ impl_from_IBasicAudio()

static BasicAudio* impl_from_IBasicAudio ( IBasicAudio *  iface)
inlinestatic

Definition at line 31 of file audio.c.

32 {
33  return CONTAINING_RECORD(iface, BasicAudio, IBasicAudio_iface);
34 }
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
Definition: Messaging.c:560

Referenced by BasicAudioImpl_GetIDsOfNames(), BasicAudioImpl_GetTypeInfo(), BasicAudioImpl_GetTypeInfoCount(), and BasicAudioImpl_Invoke().