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.