diff --git a/include/ole2.h b/include/ole2.h index 2bf87208c39..4c9b03e016f 100644 --- a/include/ole2.h +++ b/include/ole2.h @@ -17,9 +17,9 @@ typedef struct tagOleMenuGroupWidths { LONG width[ 6 ]; } OLEMENUGROUPWIDTHS32, OLEMENUGROUPWIDTHS; - - typedef struct tagOleMenuGroupWidths *LPOLEMENUGROUPWIDTHS32; +typedef struct IOleInPlaceFrame *LPOLEINPLACEFRAME; +typedef struct IOleInPlaceActiveObject *LPOLEINPLACEACTIVEOBJECT; typedef HGLOBAL32 HOLEMENU32; @@ -42,4 +42,15 @@ HRESULT WINAPI DoDragDrop32(LPDATAOBJECT, DWORD*); #define DoDragDrop WINELIB_NAME(DoDragDrop) +HOLEMENU32 WINAPI OleCreateMenuDescriptor(HMENU32 hmenuCombined, + LPOLEMENUGROUPWIDTHS32 lpMenuWidths); +void WINAPI OleDestroyMenuDescriptor(HOLEMENU32 hmenuDescriptor); +HRESULT WINAPI OleSetMenuDescriptor(HOLEMENU32 hmenuDescriptor, + HWND32 hwndFrame, + HWND32 hwndActiveObject, + LPOLEINPLACEFRAME lpFrame, + LPOLEINPLACEACTIVEOBJECT lpActiveObject); + + #endif /* __WINE_OLE2_H */ + diff --git a/ole/ole2.c b/ole/ole2.c index b9c0f383079..43bc6536fc7 100644 --- a/ole/ole2.c +++ b/ole/ole2.c @@ -464,6 +464,47 @@ HRESULT WINAPI OleGetClipboard32( return E_FAIL; } +/*********************************************************************** + * OleCreateMenuDescriptor [OLE32.97] + */ +HOLEMENU32 WINAPI OleCreateMenuDescriptor( + HMENU32 hmenuCombined, + LPOLEMENUGROUPWIDTHS32 lpMenuWidths) +{ + FIXME(ole,"(%x,%p),stub!\n", hmenuCombined, lpMenuWidths); + + return NULL; +} + +/*********************************************************************** + * OleDestroyMenuDescriptor [OLE32.99] + */ +void WINAPI OleDestroyMenuDescriptor( + HOLEMENU32 hmenuDescriptor) +{ + FIXME(ole,"(%x),stub!\n", (unsigned int)hmenuDescriptor); +} + +/*********************************************************************** + * OleSetMenuDescriptor [OLE32.129] + */ +HRESULT WINAPI OleSetMenuDescriptor( + HOLEMENU32 hmenuDescriptor, + HWND32 hwndFrame, + HWND32 hwndActiveObject, + LPOLEINPLACEFRAME lpFrame, + LPOLEINPLACEACTIVEOBJECT lpActiveObject) +{ + FIXME(ole,"(%x, %x, %x, %p, %p),stub!\n", + (unsigned int)hmenuDescriptor, + hwndFrame, + hwndActiveObject, + lpFrame, + lpActiveObject); + + return E_FAIL; +} + /*** * OLEDD_Initialize() * diff --git a/relay32/ole32.spec b/relay32/ole32.spec index c7b4fdfa7ad..3f0fa5000c5 100644 --- a/relay32/ole32.spec +++ b/relay32/ole32.spec @@ -97,9 +97,9 @@ type win32 94 stub OleCreateLink 95 stub OleCreateLinkFromData 96 stub OleCreateLinkToFile - 97 stub OleCreateMenuDescriptor + 97 stdcall OleCreateMenuDescriptor(long ptr) OleCreateMenuDescriptor 98 stub OleCreateStaticFromData - 99 stub OleDestroyMenuDescriptor + 99 stdcall OleDestroyMenuDescriptor(long) OleDestroyMenuDescriptor 100 stub OleDoAutoConvert 101 stub OleDraw 102 stub OleDuplicateData @@ -129,7 +129,7 @@ type win32 126 stub OleSetAutoConvert 127 stdcall OleSetClipboard(ptr) OleSetClipboard 128 stub OleSetContainedObject -129 stub OleSetMenuDescriptor +129 stdcall OleSetMenuDescriptor(long long long ptr ptr) OleSetMenuDescriptor 130 stub OleTranslateAccelerator 131 stdcall OleUninitialize() OleUninitialize 132 stub OpenOrCreateStream