From: Mohamad Al-Jaf <mohamadaljaf(a)gmail.com> Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55759 --- dlls/wintypes/buffer.c | 8 ++++++-- dlls/wintypes/tests/wintypes.c | 7 ------- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/dlls/wintypes/buffer.c b/dlls/wintypes/buffer.c index 07b9484f6e5..3575ad3b0ee 100644 --- a/dlls/wintypes/buffer.c +++ b/dlls/wintypes/buffer.c @@ -275,8 +275,12 @@ static ULONG WINAPI buffer_byte_access_Release( IBufferByteAccess *iface ) static HRESULT WINAPI buffer_byte_access_Buffer( IBufferByteAccess *iface, byte **value ) { - FIXME( "iface %p, value %p stub!\n", iface, value ); - return E_NOTIMPL; + struct buffer *impl = impl_from_IBufferByteAccess( iface ); + + TRACE( "iface %p, value %p\n", iface, value ); + + *value = impl->data; + return S_OK; } static const struct IBufferByteAccessVtbl buffer_byte_access_vtbl = diff --git a/dlls/wintypes/tests/wintypes.c b/dlls/wintypes/tests/wintypes.c index 3bb88cfe0aa..3b62bd2434f 100644 --- a/dlls/wintypes/tests/wintypes.c +++ b/dlls/wintypes/tests/wintypes.c @@ -237,9 +237,7 @@ static void test_IBufferStatics(void) data = NULL; hr = IBufferByteAccess_Buffer(buffer_byte_access, &data); - todo_wine ok(hr == S_OK, "IBufferByteAccess_Buffer failed, hr %#lx.\n", hr); - todo_wine ok(data != NULL, "IBufferByteAccess_Buffer returned NULL data.\n"); IBufferByteAccess_Release(buffer_byte_access); @@ -287,9 +285,7 @@ static void test_IBufferStatics(void) ok(hr == S_OK, "QueryInterface IID_IBufferByteAccess failed, hr %#lx.\n", hr); hr = IBufferByteAccess_Buffer(buffer_byte_access, &data); - todo_wine ok(hr == S_OK, "IBufferByteAccess_Buffer failed, hr %#lx.\n", hr); - if (hr != S_OK) goto done2; /* Windows does not zero out data when changing Length */ @@ -303,13 +299,10 @@ static void test_IBufferStatics(void) ok(length == 0, "IBuffer_get_Length returned length %u.\n", length); hr = IBuffer_put_Length(buffer, 1); ok(hr == S_OK, "IBuffer_put_Length failed, hr %#lx.\n", hr); - todo_wine ok(data[0] == 1, "Buffer returned %#x.\n", data[0]); - todo_wine ok(data[10] == 10, "Buffer returned %#x.\n", data[10]); IBufferByteAccess_Release(buffer_byte_access); -done2: IBuffer_Release(buffer); done: IBufferFactory_Release(buffer_factory); -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/7597