|
|
|
IDirectSoundFullDuplex8 Interface |
|
' ***************************************************************************************
' IDirectSoundFullDuplex8 Interface
' The IDirectSoundFullDuplex8 interface represents a full-duplex stream.
' The interface is obtained by using the DirectSoundFullDuplexCreate8 function. This
' function initializes DirectSound capture and playback.
' The interface can also be obtained by using CoCreateInstance or CoCreateInstanceEx to
' create an object of class CLSID_DirectSoundFullDuplex8.
' Note An object of this type can be created on earlier operating systems by using
' CoCreateInstance or CoCreateInstanceEx. However, a call to Initialize will fail.
' IDirectSoundFullDuplex8 is a define for IDirectSoundFullDuplex. The interface names are
' interchangeable.
'' ***************************************************************************************
' ***************************************************************************************
'DECLARE_INTERFACE_(IDirectSoundFullDuplex, IUnknown)
'{
' // IUnknown methods
' 0. STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID *) PURE;
' 1. STDMETHOD_(ULONG,AddRef) (THIS) PURE;
' 2. STDMETHOD_(ULONG,Release) (THIS) PURE;
' // IDirectSoundFullDuplex methods
' 3. STDMETHOD(Initialize) (THIS_ LPCGUID pCaptureGuid, LPCGUID pRenderGuid,
' LPCDSCBUFFERDESC lpDscBufferDesc, LPCDSBUFFERDESC lpDsBufferDesc, HWND hWnd,
' DWORD dwLevel, LPLPDIRECTSOUNDCAPTUREBUFFER8 lplpDirectSoundCaptureBuffer8,
' LPLPDIRECTSOUNDBUFFER8 lplpDirectSoundBuffer8) PURE;
'};
' ***************************************************************************************
' ***************************************************************************************
' Initialize
' The Initialize method initializes a full duplex object that was created by using
' CoCreateInstance.
' HRESULT Initialize(
' LPCGUID pCaptureGuid,
' LPCGUID pRenderGuid,
' LPCDSCBUFFERDESC lpDscBufferDesc,
' LPCDSBUFFERDESC lpDsBufferDesc,
' HWND hWnd,
' DWORD dwLevel,
' LPLPDIRECTSOUNDCAPTUREBUFFER8 lplpDirectSoundCaptureBuffer8,
' LPLPDIRECTSOUNDBUFFER8 lplpDirectSoundBuffer8
' );
' ***************************************************************************************
FUNCTION IDirectSoundFullDuplex_Initialize ALIAS "IDirectSoundFullDuplex_Initialize" ( _
BYVAL pthis AS DWORD PTR, BYREF pCaptureGuid AS GUID, BYREF pRenderGuid AS GUID, _
BYREF lpDscBufferDesc AS DSCBUFFERDESC, BYREF lpDsBufferDesc AS DSCBUFFERDESC, _
BYVAL hWnd AS DWORD, BYVAL dwLevel AS DWORD, BYREF lplpDirectSoundCaptureBuffer AS DWORD, _
BYREF lplpDirectSoundBuffer AS DWORD) EXPORT AS LONG
LOCAL HRESULT AS LONG
IF pthis = %NULL THEN FUNCTION = %E_POINTER : EXIT FUNCTION
CALL DWORD @@pthis[3] USING IDirectSoundFullDuplex_Initialize(pthis, pCaptureGuid, pRenderGuid, lpDscBufferDesc, lpDsBufferDesc, hWnd, dwLevel, lplpDirectSoundCaptureBuffer, lplpDirectSoundBuffer) TO HRESULT
FUNCTION = HRESULT
END FUNCTION
' ***************************************************************************************
|
Page last updated on Wednesday, 15 March 2006 01:53:03 +0100