dmusic: Implement IDirectMusic8Impl_CreateMusicBuffer.
authorChristian Costa <titan.costa@wanadoo.fr>
Mon, 22 Dec 2008 13:19:30 +0000 (14:19 +0100)
committerAlexandre Julliard <julliard@winehq.org>
Mon, 22 Dec 2008 14:21:04 +0000 (15:21 +0100)
dlls/dmusic/dmusic.c

index e2c8d2cd70d172768356cbc8978ccdbb0b63a3d3..2c6bdd20fbfa2d158bc41e70a28817a867cdf2b6 100644 (file)
@@ -108,8 +108,16 @@ static HRESULT WINAPI IDirectMusic8Impl_EnumPort(LPDIRECTMUSIC8 iface, DWORD dwI
 
 static HRESULT WINAPI IDirectMusic8Impl_CreateMusicBuffer (LPDIRECTMUSIC8 iface, LPDMUS_BUFFERDESC pBufferDesc, LPDIRECTMUSICBUFFER** ppBuffer, LPUNKNOWN pUnkOuter) {
        IDirectMusic8Impl *This = (IDirectMusic8Impl *)iface;
-       FIXME("(%p, %p, %p, %p): stub\n", This, pBufferDesc, ppBuffer, pUnkOuter);
-       return S_OK;
+
+       TRACE("(%p, %p, %p, %p)\n", This, pBufferDesc, ppBuffer, pUnkOuter);
+
+       if (pUnkOuter)
+               return CLASS_E_NOAGGREGATION;
+
+       if (!pBufferDesc || !ppBuffer)
+               return E_POINTER;
+
+       return DMUSIC_CreateDirectMusicBufferImpl(&IID_IDirectMusicBuffer, (LPVOID)ppBuffer, NULL);
 }
 
 static HRESULT WINAPI IDirectMusic8Impl_CreatePort (LPDIRECTMUSIC8 iface, REFCLSID rclsidPort, LPDMUS_PORTPARAMS pPortParams, LPDIRECTMUSICPORT* ppPort, LPUNKNOWN pUnkOuter) {