IDirectSound3DBuffer::SetPosition
The IDirectSound3DBuffer::SetPosition method sets the sound buffer's current position, in distance units. By default, distance units are meters, but the units can be changed by using the IDirectSound3DListener::SetDistanceFactor method.
HRESULT SetPosition(
  D3DVALUE x,    
  D3DVALUE y,    
  D3DVALUE z,    
  DWORD dwApply  
);
Parameters
- x, y, and z
- Values whose types are D3DVALUE and that represent the coordinates of the new position vector. Note that DirectSound may adjust these values to prevent floating-point overflow.
- dwApply
- Value indicating when the setting should be applied. This value must be one of the following: 
- DS3D_DEFERRED 
- Settings are not applied until the application calls the IDirectSound3DListener::CommitDeferredSettings method. This allows the application to change several settings and generate a single recalculation. 
- DS3D_IMMEDIATE 
- Settings are applied immediately, causing the system to recalculate the 3-D coordinates for all 3-D sound buffers. 
 
Return Values
If the method succeeds, the return value is DS_OK.
If the method fails, the return value may be DSERR_INVALIDPARAM.
  Windows NT/2000: Requires Windows 2000.
  Windows 95/98: Requires Windows 95 or later. Available as a redistributable for Windows 95.
  Header: Declared in dsound.h.
  Import Library: Use dsound.lib.