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