Module: wine Branch: master Commit: 5c5ed245aa080189e09bfc175453b687d8a9286d URL: http://source.winehq.org/git/wine.git/?a=commit;h=5c5ed245aa080189e09bfc1754...
Author: Christian Costa titan.costa@gmail.com Date: Thu Apr 26 08:08:43 2012 +0200
dmusic: IDirectMusicBufferImpl_GetUsedBytes.
---
dlls/dmusic/buffer.c | 9 +++++++-- dlls/dmusic/tests/dmusic.c | 4 ++++ 2 files changed, 11 insertions(+), 2 deletions(-)
diff --git a/dlls/dmusic/buffer.c b/dlls/dmusic/buffer.c index fd1d217..f4ea22c 100644 --- a/dlls/dmusic/buffer.c +++ b/dlls/dmusic/buffer.c @@ -177,11 +177,16 @@ static HRESULT WINAPI IDirectMusicBufferImpl_GetStartTime(LPDIRECTMUSICBUFFER if return S_OK; }
-static HRESULT WINAPI IDirectMusicBufferImpl_GetUsedBytes(LPDIRECTMUSICBUFFER iface, LPDWORD pcb) +static HRESULT WINAPI IDirectMusicBufferImpl_GetUsedBytes(LPDIRECTMUSICBUFFER iface, LPDWORD used_bytes) { IDirectMusicBufferImpl *This = impl_from_IDirectMusicBuffer(iface);
- FIXME("(%p, %p): stub\n", This, pcb); + TRACE("(%p)->(%p)\n", iface, used_bytes); + + if (!used_bytes) + return E_POINTER; + + *used_bytes = This->write_pos;
return S_OK; } diff --git a/dlls/dmusic/tests/dmusic.c b/dlls/dmusic/tests/dmusic.c index c6d4ad3..71e89fd 100644 --- a/dlls/dmusic/tests/dmusic.c +++ b/dlls/dmusic/tests/dmusic.c @@ -112,6 +112,7 @@ static void test_dmbuffer(void) DMUS_BUFFERDESC desc; GUID format; DWORD size; + DWORD bytes;
hr = CoCreateInstance(&CLSID_DirectMusic, NULL, CLSCTX_INPROC_SERVER, &IID_IDirectMusic, (LPVOID*)&dmusic); if (hr != S_OK) @@ -139,6 +140,9 @@ static void test_dmbuffer(void) ok(hr == DMUS_E_INVALID_EVENT, "IDirectMusicBuffer_PackStructured returned %x\n", hr); hr = IDirectMusicBuffer_PackStructured(dmbuffer, 10, 0, 0x000090); /* note on : chan 0, note 0 & vel 0 */ ok(hr == S_OK, "IDirectMusicBuffer_PackStructured returned %x\n", hr); + hr = IDirectMusicBuffer_GetUsedBytes(dmbuffer, &bytes); + ok(hr == S_OK, "IDirectMusicBuffer_GetUsedBytes returned %x\n", hr); + ok(bytes == 24, "Buffer size is %u instead of 0\n", bytes);
if (dmbuffer) IDirectMusicBuffer_Release(dmbuffer);