[PATCH 2/4] packager: Implement IOleObject::GetMiscStatus
Andrew Eikum
aeikum at codeweavers.com
Wed Jun 18 14:57:45 CDT 2014
---
dlls/packager/packager_main.c | 11 +++++++++--
dlls/packager/tests/oleobj.c | 11 ++++++++++-
2 files changed, 19 insertions(+), 3 deletions(-)
diff --git a/dlls/packager/packager_main.c b/dlls/packager/packager_main.c
index 942ae72..02e691c 100644
--- a/dlls/packager/packager_main.c
+++ b/dlls/packager/packager_main.c
@@ -256,8 +256,15 @@ static HRESULT WINAPI OleObject_EnumAdvise(IOleObject *iface, IEnumSTATDATA **pp
static HRESULT WINAPI OleObject_GetMiscStatus(IOleObject *iface, DWORD dwAspect, DWORD *pdwStatus)
{
struct Package *This = impl_from_IOleObject(iface);
- FIXME("(%p)->(%d, %p)\n", This, dwAspect, pdwStatus);
- return E_NOTIMPL;
+
+ TRACE("(%p)->(%d, %p)\n", This, dwAspect, pdwStatus);
+
+ if(!pdwStatus)
+ return E_INVALIDARG;
+
+ *pdwStatus = OLEMISC_ONLYICONIC;
+
+ return S_OK;
}
static HRESULT WINAPI OleObject_SetColorScheme(IOleObject *iface, LOGPALETTE *pLogpal)
diff --git a/dlls/packager/tests/oleobj.c b/dlls/packager/tests/oleobj.c
index 912dda9..6170e67 100644
--- a/dlls/packager/tests/oleobj.c
+++ b/dlls/packager/tests/oleobj.c
@@ -410,7 +410,7 @@ static void test_packager(void)
{
IOleObject *oleobj;
IPersistStorage *persist;
- DWORD len, bytes_read;
+ DWORD len, bytes_read, status;
HRESULT hr;
HANDLE file;
WCHAR filename[MAX_PATH];
@@ -441,6 +441,15 @@ static void test_packager(void)
hr = IOleObject_SetClientSite(oleobj, &clientsite);
ok(hr == S_OK, "SetClientSite failed: %08x\n", hr);
+ hr = IOleObject_GetMiscStatus(oleobj, DVASPECT_CONTENT, NULL);
+ ok(hr == E_INVALIDARG, "GetMiscStatus failed: %08x\n", hr);
+
+ hr = IOleObject_GetMiscStatus(oleobj, DVASPECT_CONTENT, &status);
+ ok(hr == S_OK, "GetMiscStatus failed: %08x\n", hr);
+ ok(status == OLEMISC_ONLYICONIC ||
+ status == OLEMISC_CANTLINKINSIDE /* winxp */,
+ "Got wrong DVASPECT_CONTENT status: 0x%x\n", status);
+
hr = IOleObject_QueryInterface(oleobj, &IID_IPersistStorage, (void**)&persist);
ok(hr == S_OK, "QueryInterface(IPersistStorage) failed: %08x\n", hr);
--
2.0.0
More information about the wine-patches
mailing list