共用方式為


IDirectSoundBuffer8::GetStatus Method

[The feature associated with this page, DirectSound, is a legacy feature. It has been superseded by WASAPI and Audio Graphs. Media Casting have been optimized for Windows 10 and Windows 11. Microsoft strongly recommends that new code use Media Casting instead of DirectSound, when possible. Microsoft suggests that existing code that uses the legacy APIs be rewritten to use the new APIs if possible.]

The GetStatus method retrieves the status of the sound buffer.

Syntax

HRESULT GetStatus(
         LPDWORD pdwStatus
)

Parameters

  • pdwStatus
    Address of a variable that receives the status of the sound buffer. The status can be a combination of the following flags:
    Value Description
    DSBSTATUS_BUFFERLOST The buffer is lost and must be restored before it can be played or locked.
    DSBSTATUS_LOOPING The buffer is being looped. If this value is not set, the buffer will stop when it reaches the end of the sound data. This value is returned only in combination with DSBSTATUS_PLAYING.
    DSBSTATUS_PLAYING The buffer is playing. If this value is not set, the buffer is stopped.
    DSBSTATUS_LOCSOFTWARE The buffer is playing in software. Set only for buffers created with the DSBCAPS_LOCDEFER flag.
    DSBSTATUS_LOCHARDWARE The buffer is playing in hardware. Set only for buffers created with the DSBCAPS_LOCDEFER flag.
    DSBSTATUS_TERMINATED The buffer was prematurely terminated by the voice manager and is not playing. Set only for buffers created with the DSBCAPS_LOCDEFER flag.

Return Value

If the method succeeds, the return value is DS_OK. If the method fails, the return value may be DSERR_INVALIDPARAM.

Remarks

DSBSTATUS_PLAYING is set if the buffer is being heard. Because of latency, a call to Play or Stop might not immediately change the status.

Requirements

Header: Declared in DSound.h.

Library: Use Dsound3d.dll.

See Also

IDirectSoundBuffer8