[PATCH 04/12] windowscodecs: Support writing to memory streams in IWICStream
Tony Wasserka
tony.wasserka at freenet.de
Tue Aug 18 08:18:32 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 26c72b8..fb48896 100644
--- a/dlls/windowscodecs/stream.c
+++ b/dlls/windowscodecs/stream.c
@@ -91,8 +91,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
--------------050701010508060307010801--
More information about the wine-patches
mailing list