The CBasicAudio class handles the IDispatch interface component of the IBasicAudio interface and leaves the properties and methods of IBasicAudio pure virtual to be implemented by a derived filter class.
The CBasicAudio::GetIDsOfNames, CBasicAudio::GetTypeInfo, CBasicAudio::GetTypeInfoCount, and CBasicAudio::Invoke member functions are standard implementations of the IDispatch interface using the CBaseDispatch class (and a type library) to parse the commands and pass them to the pure virtual IBasicAudio methods.
Microsoft® DirectShow™ uses units of 100th of a decibel for the volume scale. A value of 0 indicates maximum volume supported by the device. A value of –10,000 is the minimum volume (normally silence). Balance is expressed in the range –10,000 to 10,000, with 0 being neutral. A negative balance value means that the right channel is attenuated by this dB value (that is, it is quieter). Similarly, a positive balance value means that the right channel is louder than the left; that is, the left channel is attenuated by the corresponding negative decibel value.
Member Functions
Name | Description |
CBasicAudio | Constructs a CBasicAudio object. |
Implemented INonDelegatingUnknown Methods
Name | Description |
NonDelegatingQueryInterface | Returns a specified reference-counted interface. |
Implemented IDispatch Methods
Name | Description |
GetIDsOfNames | Maps a single member and an optional set of parameters to a corresponding set of integer dispatch identifiers, which can be used during subsequent calls to the CBasicAudio::Invoke member function. |
GetTypeInfo | Retrieves a type-information object, which can retrieve the type information for an interface. |
GetTypeInfoCount | Retrieves the number of type-information interfaces provided by an object. |
Invoke | Provides access to properties and methods exposed by an object. |
Constructs a CBasicAudio object.
CBasicAudio(
const TCHAR *pName,
LPUNKNOWN pUnk
);
No return value.
Allocate the pName parameter in static memory. This name appears on the debugging terminal when the object is created and deleted.
Maps a single member function and an optional set of parameters to a corresponding set of integer dispatch identifiers, which can be used upon subsequent calls to the CBasicAudio::Invoke member function.
HRESULT GetIDsOfNames(
REFIID riid,
OLECHAR ** rgszNames,
UINT cNames,
LCID lcid,
DISPID * rgdispid
);
Returns one of the following values.
Value | Meaning |
DISP_E_UNKNOWN_CLSID | The CLSID was not recognized. |
DISP_E_UNKNOWNNAME | One or more of the names were not known. The returned DISPIDs contain DISPID_UNKNOWN for each entry that corresponds to an unknown name. |
E_OUTOFMEMORY | Out of memory. |
S_OK | Success. |
Retrieves a type-information object, which can retrieve the type information for an interface.
HRESULT GetTypeInfo(
UINT itinfo,
LCID lcid,
ITypeInfo ** pptinfo
);
Returns an HRESULT value.
Retrieves the number of type-information interfaces provided by an object.
HRESULT GetTypeInfoCount(
UINT * pctinfo
);
Returns an HRESULT value.
Provides access to properties and methods exposed by an object.
HRESULT Invoke(
DISPID dispidMember,
REFIID riid,
LCID lcid,
WORD wFlags,
DISPPARAMS * pdispparams,
VARIANT * pvarResult,
EXCEPINFO * pexcepinfo,
UINT * puArgErr
);
Returns an HRESULT value.
Returns a specified reference-counted interface.
HRESULT NonDelegatingQueryInterface(
REFIID riid,
void **ppv
);
Returns pointers to the IBasicAudio and IUnknown interfaces by default.
Override this member function to publish any additional interfaces implemented by the derived class.
This member function implements the INonDelegatingUnknown::NonDelegatingQueryInterface method.
© 1997 Microsoft Corporation. All rights reserved. Terms of Use.