[PATCH 4/7] windowscodecs: Support writing to memory streams in IWICStream
Tony Wasserka
tony.wasserka at freenet.de
Mon Aug 17 10:56:41 CDT 2009
---
dlls/windowscodecs/stream.c | 15 +++++++++++++--
1 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/dlls/windowscodecs/stream.c b/dlls/windowscodecs/stream.c
index 711c56c..d3e968c 100644
--- a/dlls/windowscodecs/stream.c
+++ b/dlls/windowscodecs/stream.c
@@ -92,8 +92,19 @@ static HRESULT WINAPI StreamOnMemory_Read(IStream *iface,
static HRESULT WINAPI StreamOnMemory_Write(IStream *iface,
void const *pv, ULONG cb, ULONG *pcbWritten)
{
- FIXME("(%p): stub\n", iface);
- return E_NOTIMPL;
+ StreamOnMemory *This = (StreamOnMemory*)iface;
+ TRACE("(%p)\n", This);
+
+ if (!pv) return E_INVALIDARG;
+
+ if (cb > This->dwMemsize - This->dwCurPos) return STG_E_MEDIUMFULL;
+ if (cb) {
+ memcpy(This->pbMemory + This->dwCurPos, pv, cb);
+ This->dwCurPos += cb;
+ }
+ if (pcbWritten) *pcbWritten = cb;
+
+ return S_OK;
}
static HRESULT WINAPI StreamOnMemory_Seek(IStream *iface,
--
1.6.3.3
--------------090405080807030403080201--
More information about the wine-patches
mailing list