Implemented GetHGlobalFromStream.
diff --git a/ole/hglobalstream.c b/ole/hglobalstream.c
index 7d8049a..73247c2 100644
--- a/ole/hglobalstream.c
+++ b/ole/hglobalstream.c
@@ -185,6 +185,32 @@
return E_OUTOFMEMORY;
}
+/***********************************************************************
+ * GetHGlobalFromStream [OLE32.71]
+ */
+HRESULT WINAPI GetHGlobalFromStream(IStream* pstm, HGLOBAL* phglobal)
+{
+ HGLOBALStreamImpl* pStream;
+
+ if (pstm == NULL)
+ return E_INVALIDARG;
+
+ pStream = (HGLOBALStreamImpl*) pstm;
+
+ /*
+ * Verify that the stream object was created with CreateStreamOnHGlobal.
+ */
+ if (pStream->lpvtbl == &HGLOBALStreamImpl_Vtbl)
+ *phglobal = pStream->supportHandle;
+ else
+ {
+ *phglobal = 0;
+ return E_INVALIDARG;
+ }
+
+ return S_OK;
+}
+
/******************************************************************************
** HGLOBALStreamImpl implementation
*/
diff --git a/relay32/ole32.spec b/relay32/ole32.spec
index 5d25986..f74908d 100644
--- a/relay32/ole32.spec
+++ b/relay32/ole32.spec
@@ -71,7 +71,7 @@
68 stub GetConvertStg
69 stub GetDocumentBitStg
70 stdcall GetHGlobalFromILockBytes(ptr ptr) GetHGlobalFromILockBytes
- 71 stub GetHGlobalFromStream
+ 71 stdcall GetHGlobalFromStream(ptr ptr) GetHGlobalFromStream
72 stub GetHookInterface
73 stdcall GetRunningObjectTable(long ptr) GetRunningObjectTable
74 stub IIDFromString