ReactOS 0.4.15-dev-6679-g945ee4b
atl_ax.c File Reference
#include <stdarg.h>
#include <stdio.h>
#include "windef.h"
#include "winbase.h"
#include "winerror.h"
#include "winuser.h"
#include "wine/debug.h"
#include "wine/heap.h"
#include "objbase.h"
#include "objidl.h"
#include "ole2.h"
#include "exdisp.h"
#include "wine/atlbase.h"
#include "atliface.h"
#include "wine/atlwin.h"
#include "shlwapi.h"
Include dependency graph for atl_ax.c:

Go to the source code of this file.

Classes

struct  IOCS
 

Macros

#define COBJMACROS
 
#define ATL_NAME_SUFFIX   0
 
#define GET_WORD(x)   (*(const WORD *)(x))
 
#define GET_DWORD(x)   (*(const DWORD *)(x))
 
#define PUT_BLOCK(x, y)   do {if (!advance_array(&output, &allocated, &filled, (x), (y))) return NULL;} while (0)
 
#define PUT_WORD(x)   do {WORD w = (x);PUT_BLOCK(&w, 1);} while(0)
 

Typedefs

typedef struct IOCS IOCS
 

Enumerations

enum  content {
  IsEmpty = 0 , IsGUID = 1 , IsHTML = 2 , IsURL = 3 ,
  IsUnknown = 4
}
 

Functions

 WINE_DEFAULT_DEBUG_CHANNEL (atl)
 
static LRESULT CALLBACK AtlAxWin_wndproc (HWND hWnd, UINT wMsg, WPARAM wParam, LPARAM lParam)
 
BOOL WINAPI AtlAxWinInit (void)
 
static IOCSimpl_from_IOleClientSite (IOleClientSite *iface)
 
static HRESULT IOCS_Detach (IOCS *This)
 
static HRESULT WINAPI OleClientSite_QueryInterface (IOleClientSite *iface, REFIID riid, void **ppv)
 
static ULONG WINAPI OleClientSite_AddRef (IOleClientSite *iface)
 
static ULONG WINAPI OleClientSite_Release (IOleClientSite *iface)
 
static HRESULT WINAPI OleClientSite_SaveObject (IOleClientSite *iface)
 
static HRESULT WINAPI OleClientSite_GetMoniker (IOleClientSite *iface, DWORD dwAssign, DWORD dwWhichMoniker, IMoniker **ppmk)
 
static HRESULT WINAPI OleClientSite_GetContainer (IOleClientSite *iface, IOleContainer **container)
 
static HRESULT WINAPI OleClientSite_ShowObject (IOleClientSite *iface)
 
static HRESULT WINAPI OleClientSite_OnShowWindow (IOleClientSite *iface, BOOL fShow)
 
static HRESULT WINAPI OleClientSite_RequestNewObjectLayout (IOleClientSite *iface)
 
static IOCSimpl_from_IOleContainer (IOleContainer *iface)
 
static HRESULT WINAPI OleContainer_QueryInterface (IOleContainer *iface, REFIID riid, void **ppv)
 
static ULONG WINAPI OleContainer_AddRef (IOleContainer *iface)
 
static ULONG WINAPI OleContainer_Release (IOleContainer *iface)
 
static HRESULT WINAPI OleContainer_ParseDisplayName (IOleContainer *iface, IBindCtx *pbc, LPOLESTR pszDisplayName, ULONG *pchEaten, IMoniker **ppmkOut)
 
static HRESULT WINAPI OleContainer_EnumObjects (IOleContainer *iface, DWORD grfFlags, IEnumUnknown **ppenum)
 
static HRESULT WINAPI OleContainer_LockContainer (IOleContainer *iface, BOOL fLock)
 
static IOCSimpl_from_IOleInPlaceSiteWindowless (IOleInPlaceSiteWindowless *iface)
 
static HRESULT WINAPI OleInPlaceSiteWindowless_QueryInterface (IOleInPlaceSiteWindowless *iface, REFIID riid, void **ppv)
 
static ULONG WINAPI OleInPlaceSiteWindowless_AddRef (IOleInPlaceSiteWindowless *iface)
 
static ULONG WINAPI OleInPlaceSiteWindowless_Release (IOleInPlaceSiteWindowless *iface)
 
static HRESULT WINAPI OleInPlaceSiteWindowless_GetWindow (IOleInPlaceSiteWindowless *iface, HWND *phwnd)
 
static HRESULT WINAPI OleInPlaceSiteWindowless_ContextSensitiveHelp (IOleInPlaceSiteWindowless *iface, BOOL fEnterMode)
 
static HRESULT WINAPI OleInPlaceSiteWindowless_CanInPlaceActivate (IOleInPlaceSiteWindowless *iface)
 
static HRESULT WINAPI OleInPlaceSiteWindowless_OnInPlaceActivate (IOleInPlaceSiteWindowless *iface)
 
static HRESULT WINAPI OleInPlaceSiteWindowless_OnUIActivate (IOleInPlaceSiteWindowless *iface)
 
static HRESULT WINAPI OleInPlaceSiteWindowless_GetWindowContext (IOleInPlaceSiteWindowless *iface, IOleInPlaceFrame **frame, IOleInPlaceUIWindow **ppDoc, LPRECT lprcPosRect, LPRECT lprcClipRect, LPOLEINPLACEFRAMEINFO lpFrameInfo)
 
static HRESULT WINAPI OleInPlaceSiteWindowless_Scroll (IOleInPlaceSiteWindowless *iface, SIZE scrollExtent)
 
static HRESULT WINAPI OleInPlaceSiteWindowless_OnUIDeactivate (IOleInPlaceSiteWindowless *iface, BOOL fUndoable)
 
static HRESULT WINAPI OleInPlaceSiteWindowless_OnInPlaceDeactivate (IOleInPlaceSiteWindowless *iface)
 
static HRESULT WINAPI OleInPlaceSiteWindowless_DiscardUndoState (IOleInPlaceSiteWindowless *iface)
 
static HRESULT WINAPI OleInPlaceSiteWindowless_DeactivateAndUndo (IOleInPlaceSiteWindowless *iface)
 
static HRESULT WINAPI OleInPlaceSiteWindowless_OnPosRectChange (IOleInPlaceSiteWindowless *iface, LPCRECT lprcPosRect)
 
static HRESULT WINAPI OleInPlaceSiteWindowless_OnInPlaceActivateEx (IOleInPlaceSiteWindowless *iface, BOOL *pfNoRedraw, DWORD dwFlags)
 
static HRESULT WINAPI OleInPlaceSiteWindowless_OnInPlaceDeactivateEx (IOleInPlaceSiteWindowless *iface, BOOL fNoRedraw)
 
static HRESULT WINAPI OleInPlaceSiteWindowless_RequestUIActivate (IOleInPlaceSiteWindowless *iface)
 
static HRESULT WINAPI OleInPlaceSiteWindowless_CanWindowlessActivate (IOleInPlaceSiteWindowless *iface)
 
static HRESULT WINAPI OleInPlaceSiteWindowless_GetCapture (IOleInPlaceSiteWindowless *iface)
 
static HRESULT WINAPI OleInPlaceSiteWindowless_SetCapture (IOleInPlaceSiteWindowless *iface, BOOL fCapture)
 
static HRESULT WINAPI OleInPlaceSiteWindowless_GetFocus (IOleInPlaceSiteWindowless *iface)
 
static HRESULT WINAPI OleInPlaceSiteWindowless_SetFocus (IOleInPlaceSiteWindowless *iface, BOOL fFocus)
 
static HRESULT WINAPI OleInPlaceSiteWindowless_GetDC (IOleInPlaceSiteWindowless *iface, LPCRECT pRect, DWORD grfFlags, HDC *phDC)
 
static HRESULT WINAPI OleInPlaceSiteWindowless_ReleaseDC (IOleInPlaceSiteWindowless *iface, HDC hDC)
 
static HRESULT WINAPI OleInPlaceSiteWindowless_InvalidateRect (IOleInPlaceSiteWindowless *iface, LPCRECT pRect, BOOL fErase)
 
static HRESULT WINAPI OleInPlaceSiteWindowless_InvalidateRgn (IOleInPlaceSiteWindowless *iface, HRGN hRGN, BOOL fErase)
 
static HRESULT WINAPI OleInPlaceSiteWindowless_ScrollRect (IOleInPlaceSiteWindowless *iface, INT dx, INT dy, LPCRECT pRectScroll, LPCRECT pRectClip)
 
static HRESULT WINAPI OleInPlaceSiteWindowless_AdjustRect (IOleInPlaceSiteWindowless *iface, LPRECT prc)
 
static HRESULT WINAPI OleInPlaceSiteWindowless_OnDefWindowMessage (IOleInPlaceSiteWindowless *iface, UINT msg, WPARAM wParam, LPARAM lParam, LRESULT *plResult)
 
static IOCSimpl_from_IOleInPlaceFrame (IOleInPlaceFrame *iface)
 
static HRESULT WINAPI OleInPlaceFrame_QueryInterface (IOleInPlaceFrame *iface, REFIID riid, void **ppv)
 
static ULONG WINAPI OleInPlaceFrame_AddRef (IOleInPlaceFrame *iface)
 
static ULONG WINAPI OleInPlaceFrame_Release (IOleInPlaceFrame *iface)
 
static HRESULT WINAPI OleInPlaceFrame_GetWindow (IOleInPlaceFrame *iface, HWND *phWnd)
 
static HRESULT WINAPI OleInPlaceFrame_ContextSensitiveHelp (IOleInPlaceFrame *iface, BOOL fEnterMode)
 
static HRESULT WINAPI OleInPlaceFrame_GetBorder (IOleInPlaceFrame *iface, LPRECT lprectBorder)
 
static HRESULT WINAPI OleInPlaceFrame_RequestBorderSpace (IOleInPlaceFrame *iface, LPCBORDERWIDTHS pborderwidths)
 
static HRESULT WINAPI OleInPlaceFrame_SetBorderSpace (IOleInPlaceFrame *iface, LPCBORDERWIDTHS pborderwidths)
 
static HRESULT WINAPI OleInPlaceFrame_SetActiveObject (IOleInPlaceFrame *iface, IOleInPlaceActiveObject *pActiveObject, LPCOLESTR pszObjName)
 
static HRESULT WINAPI OleInPlaceFrame_InsertMenus (IOleInPlaceFrame *iface, HMENU hmenuShared, LPOLEMENUGROUPWIDTHS lpMenuWidths)
 
static HRESULT WINAPI OleInPlaceFrame_SetMenu (IOleInPlaceFrame *iface, HMENU hmenuShared, HOLEMENU holemenu, HWND hwndActiveObject)
 
static HRESULT WINAPI OleInPlaceFrame_RemoveMenus (IOleInPlaceFrame *iface, HMENU hmenuShared)
 
static HRESULT WINAPI OleInPlaceFrame_SetStatusText (IOleInPlaceFrame *iface, LPCOLESTR pszStatusText)
 
static HRESULT WINAPI OleInPlaceFrame_EnableModeless (IOleInPlaceFrame *iface, BOOL fEnable)
 
static HRESULT WINAPI OleInPlaceFrame_TranslateAccelerator (IOleInPlaceFrame *iface, LPMSG lpmsg, WORD wID)
 
static IOCSimpl_from_IOleControlSite (IOleControlSite *iface)
 
static HRESULT WINAPI OleControlSite_QueryInterface (IOleControlSite *iface, REFIID riid, void **ppv)
 
static ULONG WINAPI OleControlSite_AddRef (IOleControlSite *iface)
 
static ULONG WINAPI OleControlSite_Release (IOleControlSite *iface)
 
static HRESULT WINAPI OleControlSite_OnControlInfoChanged (IOleControlSite *This)
 
static HRESULT WINAPI OleControlSite_LockInPlaceActive (IOleControlSite *This, BOOL fLock)
 
static HRESULT WINAPI OleControlSite_GetExtendedControl (IOleControlSite *This, IDispatch **ppDisp)
 
static HRESULT WINAPI OleControlSite_TransformCoords (IOleControlSite *This, POINTL *pPtlHimetric, POINTF *pPtfContainer, DWORD dwFlags)
 
static HRESULT WINAPI OleControlSite_TranslateAccelerator (IOleControlSite *This, MSG *pMsg, DWORD grfModifiers)
 
static HRESULT WINAPI OleControlSite_OnFocus (IOleControlSite *This, BOOL fGotFocus)
 
static HRESULT WINAPI OleControlSite_ShowPropertyFrame (IOleControlSite *This)
 
static void IOCS_OnSize (IOCS *This, LPCRECT rect)
 
static void IOCS_OnShow (IOCS *This, BOOL fShow)
 
static void IOCS_OnDraw (IOCS *This)
 
static LRESULT IOCS_OnWndProc (IOCS *This, HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
 
static LRESULT CALLBACK AtlHost_wndproc (HWND hWnd, UINT wMsg, WPARAM wParam, LPARAM lParam)
 
static HRESULT IOCS_Attach (IOCS *This, HWND hWnd, IUnknown *pUnkControl)
 
static HRESULT IOCS_Init (IOCS *This)
 
static HRESULT IOCS_Create (HWND hWnd, IUnknown *pUnkControl, IUnknown **container)
 
HRESULT WINAPI AtlAxCreateControl (LPCOLESTR lpszName, HWND hWnd, IStream *pStream, IUnknown **ppUnkContainer)
 
static enum content get_content_type (LPCOLESTR name, CLSID *control_id)
 
HRESULT WINAPI AtlAxCreateControlLicEx (LPCOLESTR lpszName, HWND hWnd, IStream *pStream, IUnknown **ppUnkContainer, IUnknown **ppUnkControl, REFIID iidSink, IUnknown *punkSink, BSTR lic)
 
HRESULT WINAPI AtlAxAttachControl (IUnknown *control, HWND hWnd, IUnknown **container)
 
static BOOL advance_array (WORD **pptr, DWORD *palloc, DWORD *pfilled, const WORD *data, DWORD size)
 
static LPDLGTEMPLATEW AX_ConvertDialogTemplate (LPCDLGTEMPLATEW src_tmpl)
 
HWND WINAPI AtlAxCreateDialogA (HINSTANCE hInst, LPCSTR name, HWND owner, DLGPROC dlgProc, LPARAM param)
 
HWND WINAPI AtlAxCreateDialogW (HINSTANCE hInst, LPCWSTR name, HWND owner, DLGPROC dlgProc, LPARAM param)
 
HRESULT WINAPI AtlAxGetHost (HWND hWnd, IUnknown **host)
 
HRESULT WINAPI AtlAxGetControl (HWND hWnd, IUnknown **pUnk)
 
INT_PTR WINAPI AtlAxDialogBoxA (HINSTANCE hInst, LPCSTR name, HWND owner, DLGPROC dlgProc, LPARAM param)
 
INT_PTR WINAPI AtlAxDialogBoxW (HINSTANCE hInst, LPCWSTR name, HWND owner, DLGPROC dlgProc, LPARAM param)
 
HRESULT WINAPI AtlAxCreateControlLic (const WCHAR *lpTricsData, HWND hwnd, IStream *stream, IUnknown **container, BSTR lic)
 
HRESULT WINAPI AtlAxCreateControlEx (const WCHAR *lpTricsData, HWND hwnd, IStream *stream, IUnknown **container, IUnknown **control, REFIID iidSink, IUnknown *punkSink)
 

Variables

static const WCHAR wine_atl_iocsW [] = {'_','_','W','I','N','E','_','A','T','L','_','I','O','C','S','\0'}
 
static const IOleClientSiteVtbl OleClientSite_vtbl
 
static const IOleContainerVtbl OleContainer_vtbl
 
static const IOleInPlaceSiteWindowlessVtbl OleInPlaceSiteWindowless_vtbl
 
static const IOleInPlaceFrameVtbl OleInPlaceFrame_vtbl
 
static const IOleControlSiteVtbl OleControlSite_vtbl
 

Macro Definition Documentation

◆ ATL_NAME_SUFFIX

#define ATL_NAME_SUFFIX   0

◆ COBJMACROS

#define COBJMACROS

Definition at line 24 of file atl_ax.c.

◆ GET_DWORD

#define GET_DWORD (   x)    (*(const DWORD *)(x))

◆ GET_WORD

#define GET_WORD (   x)    (*(const WORD *)(x))

◆ PUT_BLOCK

#define PUT_BLOCK (   x,
  y 
)    do {if (!advance_array(&output, &allocated, &filled, (x), (y))) return NULL;} while (0)

◆ PUT_WORD

#define PUT_WORD (   x)    do {WORD w = (x);PUT_BLOCK(&w, 1);} while(0)

Typedef Documentation

◆ IOCS

typedef struct IOCS IOCS

Enumeration Type Documentation

◆ content

Enumerator
IsEmpty 
IsGUID 
IsHTML 
IsURL 
IsUnknown 

Definition at line 993 of file atl_ax.c.

994{
995 IsEmpty = 0,
996 IsGUID = 1,
997 IsHTML = 2,
998 IsURL = 3,
999 IsUnknown = 4
1000};
@ IsURL
Definition: atl_ax.c:998
@ IsUnknown
Definition: atl_ax.c:999
@ IsEmpty
Definition: atl_ax.c:995
@ IsGUID
Definition: atl_ax.c:996
@ IsHTML
Definition: atl_ax.c:997

Function Documentation

◆ advance_array()

static BOOL advance_array ( WORD **  pptr,
DWORD palloc,
DWORD pfilled,
const WORD data,
DWORD  size 
)
inlinestatic

Definition at line 1163 of file atl_ax.c.

1164{
1165 if ( (*pfilled + size) > *palloc )
1166 {
1167 *palloc = ((*pfilled+size) + 0xFF) & ~0xFF;
1168 *pptr = HeapReAlloc( GetProcessHeap(), 0, *pptr, *palloc * sizeof(WORD) );
1169 if (!*pptr)
1170 return FALSE;
1171 }
1172 RtlMoveMemory( *pptr+*pfilled, data, size * sizeof(WORD) );
1173 *pfilled += size;
1174 return TRUE;
1175}
#define TRUE
Definition: types.h:120
#define FALSE
Definition: types.h:117
#define GetProcessHeap()
Definition: compat.h:736
#define HeapReAlloc
Definition: compat.h:734
unsigned short WORD
Definition: ntddk_ex.h:93
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: gl.h:1950
GLsizeiptr size
Definition: glext.h:5919
#define RtlMoveMemory(Destination, Source, Length)
Definition: typedefs.h:264

◆ AtlAxAttachControl()

HRESULT WINAPI AtlAxAttachControl ( IUnknown control,
HWND  hWnd,
IUnknown **  container 
)

Definition at line 1147 of file atl_ax.c.

1148{
1149 HRESULT hr;
1150
1151 TRACE("(%p %p %p)\n", control, hWnd, container);
1152
1153 if (!control)
1154 return E_INVALIDARG;
1155
1156 hr = IOCS_Create( hWnd, control, container );
1157 return hWnd ? hr : S_FALSE;
1158}
HWND hWnd
Definition: settings.c:17
#define E_INVALIDARG
Definition: ddrawi.h:101
static HRESULT IOCS_Create(HWND hWnd, IUnknown *pUnkControl, IUnknown **container)
Definition: atl_ax.c:943
HRESULT hr
Definition: shlfolder.c:183
#define TRACE(s)
Definition: solgame.cpp:4
#define S_FALSE
Definition: winerror.h:2357

Referenced by AtlAxCreateControlLicEx(), and test_AtlAxAttachControl().

◆ AtlAxCreateControl()

HRESULT WINAPI AtlAxCreateControl ( LPCOLESTR  lpszName,
HWND  hWnd,
IStream pStream,
IUnknown **  ppUnkContainer 
)

Definition at line 986 of file atl_ax.c.

988{
989 return AtlAxCreateControlEx( lpszName, hWnd, pStream, ppUnkContainer,
990 NULL, NULL, NULL );
991}
#define NULL
Definition: types.h:112
HRESULT WINAPI AtlAxCreateControlEx(const WCHAR *lpTricsData, HWND hwnd, IStream *stream, IUnknown **container, IUnknown **control, REFIID iidSink, IUnknown *punkSink)
Definition: atl_ax.c:1483

◆ AtlAxCreateControlEx()

HRESULT WINAPI AtlAxCreateControlEx ( const WCHAR lpTricsData,
HWND  hwnd,
IStream stream,
IUnknown **  container,
IUnknown **  control,
REFIID  iidSink,
IUnknown punkSink 
)

Definition at line 1483 of file atl_ax.c.

1485{
1486 return AtlAxCreateControlLicEx(lpTricsData, hwnd, stream, container, control, iidSink, punkSink, NULL);
1487}
HRESULT WINAPI AtlAxCreateControlLicEx(LPCOLESTR lpszName, HWND hWnd, IStream *pStream, IUnknown **ppUnkContainer, IUnknown **ppUnkControl, REFIID iidSink, IUnknown *punkSink, BSTR lic)
Definition: atl_ax.c:1042
Definition: parse.h:23
_In_ LONG _In_ HWND hwnd
Definition: winddi.h:4023

Referenced by AtlAxCreateControl(), AtlAxWin_wndproc(), and test_AtlAxCreateControl().

◆ AtlAxCreateControlLic()

HRESULT WINAPI AtlAxCreateControlLic ( const WCHAR lpTricsData,
HWND  hwnd,
IStream stream,
IUnknown **  container,
BSTR  lic 
)

Definition at line 1474 of file atl_ax.c.

1475{
1476 return AtlAxCreateControlLicEx(lpTricsData, hwnd, stream, container, NULL, NULL, NULL, lic);
1477}

◆ AtlAxCreateControlLicEx()

HRESULT WINAPI AtlAxCreateControlLicEx ( LPCOLESTR  lpszName,
HWND  hWnd,
IStream pStream,
IUnknown **  ppUnkContainer,
IUnknown **  ppUnkControl,
REFIID  iidSink,
IUnknown punkSink,
BSTR  lic 
)

Definition at line 1042 of file atl_ax.c.

1045{
1046 CLSID controlId;
1047 HRESULT hRes;
1048 IOleObject *pControl;
1049 IUnknown *pUnkControl = NULL;
1050 IPersistStreamInit *pPSInit;
1051 IUnknown *pContainer = NULL;
1052 enum content content;
1053
1054 TRACE("(%s %p %p %p %p %p %p %s)\n", debugstr_w(lpszName), hWnd, pStream,
1055 ppUnkContainer, ppUnkControl, iidSink, punkSink, debugstr_w(lic));
1056
1057 if (lic)
1058 FIXME("semi stub\n");
1059
1060 if (ppUnkContainer) *ppUnkContainer = NULL;
1061 if (ppUnkControl) *ppUnkControl = NULL;
1062
1063 content = get_content_type(lpszName, &controlId);
1064
1065 if (content == IsEmpty)
1066 return S_OK;
1067
1068 if (content == IsUnknown)
1069 return CO_E_CLASSSTRING;
1070
1071 hRes = CoCreateInstance( &controlId, 0, CLSCTX_ALL, &IID_IOleObject,
1072 (void**) &pControl );
1073 if ( FAILED( hRes ) )
1074 {
1075 WARN( "cannot create ActiveX control %s instance - error 0x%08x\n",
1076 debugstr_guid( &controlId ), hRes );
1077 return hRes;
1078 }
1079
1080 hRes = IOleObject_QueryInterface( pControl, &IID_IPersistStreamInit, (void**) &pPSInit );
1081 if ( SUCCEEDED( hRes ) )
1082 {
1083 if (!pStream)
1084 IPersistStreamInit_InitNew( pPSInit );
1085 else
1086 IPersistStreamInit_Load( pPSInit, pStream );
1087 IPersistStreamInit_Release( pPSInit );
1088 } else
1089 WARN("cannot get IID_IPersistStreamInit out of control\n");
1090
1091 IOleObject_QueryInterface( pControl, &IID_IUnknown, (void**) &pUnkControl );
1092 IOleObject_Release( pControl );
1093
1094
1095 hRes = AtlAxAttachControl( pUnkControl, hWnd, &pContainer );
1096 if ( FAILED( hRes ) )
1097 WARN("cannot attach control to window\n");
1098
1099 if ( content == IsURL )
1100 {
1101 IWebBrowser2 *browser;
1102
1103 hRes = IOleObject_QueryInterface( pControl, &IID_IWebBrowser2, (void**) &browser );
1104 if ( !browser )
1105 WARN( "Cannot query IWebBrowser2 interface: %08x\n", hRes );
1106 else {
1107 VARIANT url;
1108
1109 IWebBrowser2_put_Visible( browser, VARIANT_TRUE ); /* it seems that native does this on URL (but do not on MSHTML:! why? */
1110
1111 V_VT(&url) = VT_BSTR;
1112 V_BSTR(&url) = SysAllocString( lpszName );
1113
1114 hRes = IWebBrowser2_Navigate2( browser, &url, NULL, NULL, NULL, NULL );
1115 if ( FAILED( hRes ) )
1116 WARN( "IWebBrowser2::Navigate2 failed: %08x\n", hRes );
1118
1119 IWebBrowser2_Release( browser );
1120 }
1121 }
1122
1123 if (ppUnkContainer)
1124 {
1125 *ppUnkContainer = pContainer;
1126 if ( pContainer )
1127 IUnknown_AddRef( pContainer );
1128 }
1129 if (ppUnkControl)
1130 {
1131 *ppUnkControl = pUnkControl;
1132 if ( pUnkControl )
1133 IUnknown_AddRef( pUnkControl );
1134 }
1135
1136 if ( pUnkControl )
1137 IUnknown_Release( pUnkControl );
1138 if ( pContainer )
1139 IUnknown_Release( pContainer );
1140
1141 return S_OK;
1142}
const GUID IID_IUnknown
#define FIXME(fmt,...)
Definition: debug.h:111
#define WARN(fmt,...)
Definition: debug.h:112
HRESULT WINAPI AtlAxAttachControl(IUnknown *control, HWND hWnd, IUnknown **container)
Definition: atl_ax.c:1147
content
Definition: atl_ax.c:994
static enum content get_content_type(LPCOLESTR name, CLSID *control_id)
Definition: atl_ax.c:1002
@ VT_BSTR
Definition: compat.h:2303
HRESULT WINAPI DECLSPEC_HOTPATCH CoCreateInstance(REFCLSID rclsid, LPUNKNOWN pUnkOuter, DWORD dwClsContext, REFIID iid, LPVOID *ppv)
Definition: compobj.c:3325
#define S_OK
Definition: intsafe.h:52
#define SUCCEEDED(hr)
Definition: intsafe.h:50
#define FAILED(hr)
Definition: intsafe.h:51
#define debugstr_guid
Definition: kernel32.h:35
#define debugstr_w
Definition: kernel32.h:32
static const WCHAR url[]
Definition: encode.c:1432
BSTR WINAPI SysAllocString(LPCOLESTR str)
Definition: oleaut.c:238
void WINAPI DECLSPEC_HOTPATCH SysFreeString(BSTR str)
Definition: oleaut.c:271
#define V_VT(A)
Definition: oleauto.h:211
#define V_BSTR(A)
Definition: oleauto.h:226
const GUID IID_IOleObject
const GUID IID_IPersistStreamInit
#define CO_E_CLASSSTRING
Definition: winerror.h:2806

Referenced by AtlAxCreateControlEx(), and AtlAxCreateControlLic().

◆ AtlAxCreateDialogA()

HWND WINAPI AtlAxCreateDialogA ( HINSTANCE  hInst,
LPCSTR  name,
HWND  owner,
DLGPROC  dlgProc,
LPARAM  param 
)

Definition at line 1306 of file atl_ax.c.

1307{
1308 HWND res = NULL;
1309 int length;
1310 WCHAR *nameW;
1311
1312 if (IS_INTRESOURCE(name))
1313 return AtlAxCreateDialogW( hInst, (LPCWSTR) name, owner, dlgProc, param );
1314
1315 length = MultiByteToWideChar( CP_ACP, 0, name, -1, NULL, 0 );
1316 nameW = HeapAlloc( GetProcessHeap(), 0, length * sizeof(WCHAR) );
1317 if (nameW)
1318 {
1320 res = AtlAxCreateDialogW( hInst, nameW, owner, dlgProc, param );
1321 HeapFree( GetProcessHeap(), 0, nameW );
1322 }
1323 return res;
1324}
static const WCHAR nameW[]
Definition: main.c:46
HWND WINAPI AtlAxCreateDialogW(HINSTANCE hInst, LPCWSTR name, HWND owner, DLGPROC dlgProc, LPARAM param)
Definition: atl_ax.c:1332
#define CP_ACP
Definition: compat.h:109
#define HeapAlloc
Definition: compat.h:733
#define HeapFree(x, y, z)
Definition: compat.h:735
#define MultiByteToWideChar
Definition: compat.h:110
HINSTANCE hInst
Definition: dxdiag.c:13
GLuint res
Definition: glext.h:9613
GLuint GLsizei GLsizei * length
Definition: glext.h:6040
GLfloat param
Definition: glext.h:5796
Definition: name.c:39
#define IS_INTRESOURCE(i)
Definition: winuser.h:580
__wchar_t WCHAR
Definition: xmlstorage.h:180
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185

◆ AtlAxCreateDialogW()

HWND WINAPI AtlAxCreateDialogW ( HINSTANCE  hInst,
LPCWSTR  name,
HWND  owner,
DLGPROC  dlgProc,
LPARAM  param 
)

Definition at line 1332 of file atl_ax.c.

1333{
1334 HRSRC hrsrc;
1335 HGLOBAL hgl;
1337 LPDLGTEMPLATEW newptr;
1338 HWND res;
1339
1340 TRACE("(%p %s %p %p %lx)\n", hInst, debugstr_w(name), owner, dlgProc, param);
1341
1342 hrsrc = FindResourceW( hInst, name, (LPWSTR)RT_DIALOG );
1343 if ( !hrsrc )
1344 return NULL;
1345 hgl = LoadResource (hInst, hrsrc);
1346 if ( !hgl )
1347 return NULL;
1348 ptr = LockResource ( hgl );
1349 if (!ptr)
1350 {
1351 FreeResource( hgl );
1352 return NULL;
1353 }
1354 newptr = AX_ConvertDialogTemplate( ptr );
1355 if ( newptr )
1356 {
1357 res = CreateDialogIndirectParamW( hInst, newptr, owner, dlgProc, param );
1358 HeapFree( GetProcessHeap(), 0, newptr );
1359 } else
1360 res = NULL;
1361 FreeResource ( hrsrc );
1362 return res;
1363}
static LPDLGTEMPLATEW AX_ConvertDialogTemplate(LPCDLGTEMPLATEW src_tmpl)
Definition: atl_ax.c:1180
BOOL WINAPI FreeResource(HGLOBAL handle)
Definition: res.c:559
HRSRC WINAPI FindResourceW(HINSTANCE hModule, LPCWSTR name, LPCWSTR type)
Definition: res.c:176
LPVOID WINAPI LockResource(HGLOBAL handle)
Definition: res.c:550
HGLOBAL WINAPI LoadResource(HINSTANCE hModule, HRSRC hRsrc)
Definition: res.c:532
static PVOID ptr
Definition: dispmode.c:27
#define RT_DIALOG
Definition: pedump.c:367
HWND WINAPI CreateDialogIndirectParamW(_In_opt_ HINSTANCE, _In_ LPCDLGTEMPLATE, _In_opt_ HWND, _In_opt_ DLGPROC, _In_ LPARAM)
WCHAR * LPWSTR
Definition: xmlstorage.h:184

Referenced by AtlAxCreateDialogA().

◆ AtlAxDialogBoxA()

INT_PTR WINAPI AtlAxDialogBoxA ( HINSTANCE  hInst,
LPCSTR  name,
HWND  owner,
DLGPROC  dlgProc,
LPARAM  param 
)

Definition at line 1413 of file atl_ax.c.

1414{
1415 INT_PTR res = 0;
1416 int length;
1417 WCHAR *nameW;
1418
1419 if (IS_INTRESOURCE(name))
1420 return AtlAxDialogBoxW( hInst, (LPCWSTR) name, owner, dlgProc, param );
1421
1422 length = MultiByteToWideChar( CP_ACP, 0, name, -1, NULL, 0 );
1423 nameW = heap_alloc( length * sizeof(WCHAR) );
1424 if (nameW)
1425 {
1427 res = AtlAxDialogBoxW( hInst, nameW, owner, dlgProc, param );
1428 heap_free( nameW );
1429 }
1430 return res;
1431}
static void * heap_alloc(size_t len)
Definition: appwiz.h:66
static BOOL heap_free(void *mem)
Definition: appwiz.h:76
INT_PTR WINAPI AtlAxDialogBoxW(HINSTANCE hInst, LPCWSTR name, HWND owner, DLGPROC dlgProc, LPARAM param)
Definition: atl_ax.c:1437
int32_t INT_PTR
Definition: typedefs.h:64

◆ AtlAxDialogBoxW()

INT_PTR WINAPI AtlAxDialogBoxW ( HINSTANCE  hInst,
LPCWSTR  name,
HWND  owner,
DLGPROC  dlgProc,
LPARAM  param 
)

Definition at line 1437 of file atl_ax.c.

1438{
1439 HRSRC hrsrc;
1440 HGLOBAL hgl;
1442 LPDLGTEMPLATEW newptr;
1443 INT_PTR res;
1444
1445 TRACE("(%p %s %p %p %lx)\n", hInst, debugstr_w(name), owner, dlgProc, param);
1446
1447 hrsrc = FindResourceW( hInst, name, (LPWSTR)RT_DIALOG );
1448 if ( !hrsrc )
1449 return 0;
1450 hgl = LoadResource (hInst, hrsrc);
1451 if ( !hgl )
1452 return 0;
1453 ptr = LockResource ( hgl );
1454 if (!ptr)
1455 {
1456 FreeResource( hgl );
1457 return 0;
1458 }
1459 newptr = AX_ConvertDialogTemplate( ptr );
1460 if ( newptr )
1461 {
1462 res = DialogBoxIndirectParamW( hInst, newptr, owner, dlgProc, param );
1463 heap_free( newptr );
1464 } else
1465 res = 0;
1466 FreeResource ( hrsrc );
1467 return res;
1468}
INT_PTR WINAPI DialogBoxIndirectParamW(_In_opt_ HINSTANCE, _In_ LPCDLGTEMPLATE, _In_opt_ HWND, _In_opt_ DLGPROC, _In_ LPARAM)

Referenced by AtlAxDialogBoxA().

◆ AtlAxGetControl()

HRESULT WINAPI AtlAxGetControl ( HWND  hWnd,
IUnknown **  pUnk 
)

Definition at line 1391 of file atl_ax.c.

1392{
1393 IOCS *This;
1394
1395 TRACE( "(%p, %p)\n", hWnd, pUnk );
1396
1397 *pUnk = NULL;
1398
1400 if ( !This || !This->control )
1401 {
1402 WARN("No control attached to %p\n", hWnd );
1403 return E_FAIL;
1404 }
1405
1406 return IOleObject_QueryInterface( This->control, &IID_IUnknown, (void**) pUnk );
1407}
#define E_FAIL
Definition: ddrawi.h:102
static const WCHAR wine_atl_iocsW[]
Definition: atl_ax.c:59
static void *static void *static LPDIRECTPLAY IUnknown * pUnk
Definition: dplayx.c:30
Definition: atl_ax.c:44
HANDLE WINAPI GetPropW(_In_ HWND, _In_ LPCWSTR)

Referenced by test_ax_win().

◆ AtlAxGetHost()

HRESULT WINAPI AtlAxGetHost ( HWND  hWnd,
IUnknown **  host 
)

Definition at line 1369 of file atl_ax.c.

1370{
1371 IOCS *This;
1372
1373 TRACE("(%p, %p)\n", hWnd, host);
1374
1375 *host = NULL;
1376
1378 if ( !This )
1379 {
1380 WARN("No container attached to %p\n", hWnd );
1381 return E_FAIL;
1382 }
1383
1384 return IOleClientSite_QueryInterface(&This->IOleClientSite_iface, &IID_IUnknown, (void**)host);
1385}
char * host
Definition: whois.c:55

◆ AtlAxWin_wndproc()

static LRESULT CALLBACK AtlAxWin_wndproc ( HWND  hWnd,
UINT  wMsg,
WPARAM  wParam,
LPARAM  lParam 
)
static

Definition at line 64 of file atl_ax.c.

65{
66 if ( wMsg == WM_CREATE )
67 {
69 WCHAR *ptr = HeapAlloc( GetProcessHeap(), 0, len*sizeof(WCHAR) );
70 if (!ptr)
71 return 1;
75 return 0;
76 }
77 return DefWindowProcW( hWnd, wMsg, wParam, lParam );
78}
WPARAM wParam
Definition: combotst.c:138
LPARAM lParam
Definition: combotst.c:139
unsigned long DWORD
Definition: ntddk_ex.h:95
GLenum GLsizei len
Definition: glext.h:6722
int WINAPI GetWindowTextW(HWND hWnd, LPWSTR lpString, int nMaxCount)
Definition: window.c:1412
LRESULT WINAPI DefWindowProcW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
#define WM_CREATE
Definition: winuser.h:1598
int WINAPI GetWindowTextLengthW(_In_ HWND)

Referenced by AtlAxWinInit().

◆ AtlAxWinInit()

BOOL WINAPI AtlAxWinInit ( void  )

Definition at line 89 of file atl_ax.c.

90{
91 WNDCLASSEXW wcex;
92
93#if _ATL_VER <= _ATL_VER_30
94#define ATL_NAME_SUFFIX 0
95#elif _ATL_VER == _ATL_VER_80
96#define ATL_NAME_SUFFIX '8','0',0
97#elif _ATL_VER == _ATL_VER_90
98#define ATL_NAME_SUFFIX '9','0',0
99#elif _ATL_VER == _ATL_VER_100
100#define ATL_NAME_SUFFIX '1','0','0',0
101#elif _ATL_VER == _ATL_VER_110
102#define ATL_NAME_SUFFIX '1','1','0',0
103#else
104#error Unsupported version
105#endif
106
107 static const WCHAR AtlAxWinW[] = {'A','t','l','A','x','W','i','n',ATL_NAME_SUFFIX};
108
109 FIXME("version %04x semi-stub\n", _ATL_VER);
110
111 if ( FAILED( OleInitialize(NULL) ) )
112 return FALSE;
113
114 wcex.cbSize = sizeof(wcex);
116 wcex.cbClsExtra = 0;
117 wcex.cbWndExtra = 0;
119 wcex.hIcon = NULL;
120 wcex.hCursor = NULL;
121 wcex.hbrBackground = NULL;
122 wcex.lpszMenuName = NULL;
123 wcex.hIconSm = 0;
124
126 wcex.lpszClassName = AtlAxWinW;
127 if ( !RegisterClassExW( &wcex ) )
128 return FALSE;
129
130 if(_ATL_VER > _ATL_VER_30) {
131 static const WCHAR AtlAxWinLicW[] = {'A','t','l','A','x','W','i','n','L','i','c',ATL_NAME_SUFFIX};
132
133 wcex.lpszClassName = AtlAxWinLicW;
134 if ( !RegisterClassExW( &wcex ) )
135 return FALSE;
136 }
137
138 return TRUE;
139}
#define ATL_NAME_SUFFIX
static LRESULT CALLBACK AtlAxWin_wndproc(HWND hWnd, UINT wMsg, WPARAM wParam, LPARAM lParam)
Definition: atl_ax.c:64
HMODULE WINAPI GetModuleHandleW(LPCWSTR lpModuleName)
Definition: loader.c:838
HRESULT WINAPI DECLSPEC_HOTPATCH OleInitialize(LPVOID reserved)
Definition: ole2.c:169
#define _ATL_VER_30
Definition: atlbase.h:28
#define _ATL_VER
Definition: atlbase.h:36
LPCWSTR lpszClassName
Definition: winuser.h:3216
LPCWSTR lpszMenuName
Definition: winuser.h:3215
HBRUSH hbrBackground
Definition: winuser.h:3214
WNDPROC lpfnWndProc
Definition: winuser.h:3208
UINT cbSize
Definition: winuser.h:3206
int cbWndExtra
Definition: winuser.h:3210
HCURSOR hCursor
Definition: winuser.h:3213
HICON hIconSm
Definition: winuser.h:3217
HINSTANCE hInstance
Definition: winuser.h:3211
UINT style
Definition: winuser.h:3207
int cbClsExtra
Definition: winuser.h:3209
HICON hIcon
Definition: winuser.h:3212
#define CS_DBLCLKS
Definition: winuser.h:646
ATOM WINAPI RegisterClassExW(_In_ CONST WNDCLASSEXW *)
#define CS_GLOBALCLASS
Definition: winuser.h:647

Referenced by test_ax_win().

◆ AtlHost_wndproc()

static LRESULT CALLBACK AtlHost_wndproc ( HWND  hWnd,
UINT  wMsg,
WPARAM  wParam,
LPARAM  lParam 
)
static

Definition at line 908 of file atl_ax.c.

909{
911 return IOCS_OnWndProc( This, hWnd, wMsg, wParam, lParam );
912}
static LRESULT IOCS_OnWndProc(IOCS *This, HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
Definition: atl_ax.c:881

Referenced by IOCS_Attach().

◆ AX_ConvertDialogTemplate()

static LPDLGTEMPLATEW AX_ConvertDialogTemplate ( LPCDLGTEMPLATEW  src_tmpl)
static

Definition at line 1180 of file atl_ax.c.

1181{
1182#define GET_WORD(x) (*(const WORD *)(x))
1183#define GET_DWORD(x) (*(const DWORD *)(x))
1184#define PUT_BLOCK(x,y) do {if (!advance_array(&output, &allocated, &filled, (x), (y))) return NULL;} while (0)
1185#define PUT_WORD(x) do {WORD w = (x);PUT_BLOCK(&w, 1);} while(0)
1186 const WORD *tmp, *src = (const WORD *)src_tmpl;
1187 WORD *output;
1188 DWORD allocated, filled; /* in WORDs */
1189 BOOL ext;
1190 WORD signature, dlgver, rescount;
1191 DWORD style;
1192
1193 filled = 0; allocated = 256;
1194 output = HeapAlloc( GetProcessHeap(), 0, allocated * sizeof(WORD) );
1195 if (!output)
1196 return NULL;
1197
1198 /* header */
1199 tmp = src;
1200 signature = GET_WORD(src);
1201 dlgver = GET_WORD(src + 1);
1202 if (signature == 1 && dlgver == 0xFFFF)
1203 {
1204 ext = TRUE;
1205 src += 6;
1206 style = GET_DWORD(src);
1207 src += 2;
1208 rescount = GET_WORD(src++);
1209 src += 4;
1210 if ( GET_WORD(src) == 0xFFFF ) /* menu */
1211 src += 2;
1212 else
1213 src += lstrlenW(src) + 1;
1214 if ( GET_WORD(src) == 0xFFFF ) /* class */
1215 src += 2;
1216 else
1217 src += lstrlenW(src) + 1;
1218 src += lstrlenW(src) + 1; /* title */
1219 if ( style & (DS_SETFONT | DS_SHELLFONT) )
1220 {
1221 src += 3;
1222 src += lstrlenW(src) + 1;
1223 }
1224 } else {
1225 ext = FALSE;
1226 style = GET_DWORD(src);
1227 src += 4;
1228 rescount = GET_WORD(src++);
1229 src += 4;
1230 if ( GET_WORD(src) == 0xFFFF ) /* menu */
1231 src += 2;
1232 else
1233 src += lstrlenW(src) + 1;
1234 if ( GET_WORD(src) == 0xFFFF ) /* class */
1235 src += 2;
1236 else
1237 src += lstrlenW(src) + 1;
1238 src += lstrlenW(src) + 1; /* title */
1239 if ( style & DS_SETFONT )
1240 {
1241 src++;
1242 src += lstrlenW(src) + 1;
1243 }
1244 }
1245 PUT_BLOCK(tmp, src-tmp);
1246
1247 while(rescount--)
1248 {
1249 src = (const WORD *)( ( ((ULONG_PTR)src) + 3) & ~3); /* align on DWORD boundary */
1250 filled = (filled + 1) & ~1; /* depends on DWORD-aligned allocation unit */
1251
1252 tmp = src;
1253 if (ext)
1254 src += 12;
1255 else
1256 src += 9;
1257 PUT_BLOCK(tmp, src-tmp);
1258
1259 tmp = src;
1260 if ( GET_WORD(src) == 0xFFFF ) /* class */
1261 {
1262 src += 2;
1263 } else
1264 {
1265 src += lstrlenW(src) + 1;
1266 }
1267 src += lstrlenW(src) + 1; /* title */
1268 if ( GET_WORD(tmp) == '{' ) /* all this mess created because of this line */
1269 {
1270 static const WCHAR AtlAxWin[] = {'A','t','l','A','x','W','i','n', 0};
1271 PUT_BLOCK(AtlAxWin, ARRAY_SIZE(AtlAxWin));
1272 PUT_BLOCK(tmp, lstrlenW(tmp)+1);
1273 } else
1274 PUT_BLOCK(tmp, src-tmp);
1275
1276 if ( GET_WORD(src) )
1277 {
1278 WORD size = (GET_WORD(src)+sizeof(WORD)-1) / sizeof(WORD); /* quite ugly :( Maybe use BYTE* instead of WORD* everywhere ? */
1279 PUT_BLOCK(src, size);
1280 src+=size;
1281 }
1282 else
1283 {
1284 PUT_WORD(0);
1285 src++;
1286 }
1287 }
1288 return (LPDLGTEMPLATEW) output;
1289}
Arabic default style
Definition: afstyles.h:94
#define ARRAY_SIZE(A)
Definition: main.h:33
#define PUT_WORD(x)
#define GET_WORD(x)
#define GET_DWORD(x)
#define PUT_BLOCK(x, y)
#define lstrlenW
Definition: compat.h:750
static const WCHAR *const ext[]
Definition: module.c:53
unsigned int BOOL
Definition: ntddk_ex.h:94
GLenum src
Definition: glext.h:6340
uint32_t ULONG_PTR
Definition: typedefs.h:65
#define DS_SHELLFONT
Definition: winuser.h:381
#define DS_SETFONT
Definition: winuser.h:378

Referenced by AtlAxCreateDialogW(), and AtlAxDialogBoxW().

◆ get_content_type()

static enum content get_content_type ( LPCOLESTR  name,
CLSID control_id 
)
static

Definition at line 1002 of file atl_ax.c.

1003{
1004 static const WCHAR mshtml_prefixW[] = {'m','s','h','t','m','l',':',0};
1005 WCHAR new_urlW[MAX_PATH];
1007
1008 if (!name || !name[0])
1009 {
1010 WARN("name %s\n", wine_dbgstr_w(name));
1011 return IsEmpty;
1012 }
1013
1014 if (CLSIDFromString(name, control_id) == S_OK ||
1015 CLSIDFromProgID(name, control_id) == S_OK)
1016 return IsGUID;
1017
1018 if (PathIsURLW (name) ||
1020 {
1021 *control_id = CLSID_WebBrowser;
1022 return IsURL;
1023 }
1024
1025 if (!_wcsnicmp(name, mshtml_prefixW, 7))
1026 {
1027 FIXME("mshtml prefix not implemented\n");
1028 *control_id = CLSID_WebBrowser;
1029 return IsHTML;
1030 }
1031
1032 return IsUnknown;
1033}
#define MAX_PATH
Definition: compat.h:34
HRESULT WINAPI DECLSPEC_HOTPATCH CLSIDFromProgID(LPCOLESTR progid, LPCLSID clsid)
Definition: compobj.c:2602
HRESULT WINAPI CLSIDFromString(LPCOLESTR idstr, LPCLSID id)
Definition: compobj.c:2338
HRESULT WINAPI UrlApplySchemeW(LPCWSTR pszIn, LPWSTR pszOut, LPDWORD pcchOut, DWORD dwFlags)
Definition: url.c:1817
BOOL WINAPI PathIsURLW(LPCWSTR lpstrPath)
Definition: url.c:2432
#define wine_dbgstr_w
Definition: kernel32.h:34
_Check_return_ _CRTIMP int __cdecl _wcsnicmp(_In_reads_or_z_(_MaxCount) const wchar_t *_Str1, _In_reads_or_z_(_MaxCount) const wchar_t *_Str2, _In_ size_t _MaxCount)
#define URL_APPLY_GUESSSCHEME
Definition: shlwapi.h:1203
#define URL_APPLY_GUESSFILE
Definition: shlwapi.h:1202

Referenced by AtlAxCreateControlLicEx().

◆ impl_from_IOleClientSite()

static IOCS * impl_from_IOleClientSite ( IOleClientSite iface)
inlinestatic

◆ impl_from_IOleContainer()

static IOCS * impl_from_IOleContainer ( IOleContainer iface)
inlinestatic

◆ impl_from_IOleControlSite()

static IOCS * impl_from_IOleControlSite ( IOleControlSite iface)
inlinestatic

Definition at line 683 of file atl_ax.c.

684{
685 return CONTAINING_RECORD(iface, IOCS, IOleControlSite_iface);
686}

Referenced by OleControlSite_AddRef(), OleControlSite_QueryInterface(), and OleControlSite_Release().

◆ impl_from_IOleInPlaceFrame()

◆ impl_from_IOleInPlaceSiteWindowless()

◆ IOCS_Attach()

static HRESULT IOCS_Attach ( IOCS This,
HWND  hWnd,
IUnknown pUnkControl 
)
static

Definition at line 914 of file atl_ax.c.

915{
916 This->hWnd = hWnd;
917 IUnknown_QueryInterface( pUnkControl, &IID_IOleObject, (void**)&This->control );
918 IOleObject_SetClientSite( This->control, &This->IOleClientSite_iface );
921
922 return S_OK;
923}
static LRESULT CALLBACK AtlHost_wndproc(HWND hWnd, UINT wMsg, WPARAM wParam, LPARAM lParam)
Definition: atl_ax.c:908
#define GWLP_WNDPROC
Definition: treelist.c:66
BOOL WINAPI SetPropW(_In_ HWND, _In_ LPCWSTR, _In_opt_ HANDLE)
LRESULT(CALLBACK * WNDPROC)(HWND, UINT, WPARAM, LPARAM)
Definition: winuser.h:2896
#define SetWindowLongPtrW
Definition: winuser.h:5336

Referenced by IOCS_Create().

◆ IOCS_Create()

static HRESULT IOCS_Create ( HWND  hWnd,
IUnknown pUnkControl,
IUnknown **  container 
)
static

Definition at line 943 of file atl_ax.c.

944{
945 HRESULT hr;
946 IOCS *This;
947
948 if (!container)
949 return S_OK;
950
951 *container = NULL;
952 This = HeapAlloc(GetProcessHeap(), 0, sizeof(IOCS));
953
954 if (!This)
955 return E_OUTOFMEMORY;
956
957 This->IOleClientSite_iface.lpVtbl = &OleClientSite_vtbl;
958 This->IOleContainer_iface.lpVtbl = &OleContainer_vtbl;
959 This->IOleInPlaceSiteWindowless_iface.lpVtbl = &OleInPlaceSiteWindowless_vtbl;
960 This->IOleInPlaceFrame_iface.lpVtbl = &OleInPlaceFrame_vtbl;
961 This->IOleControlSite_iface.lpVtbl = &OleControlSite_vtbl;
962 This->ref = 1;
963
964 This->OrigWndProc = NULL;
965 This->hWnd = NULL;
966 This->fWindowless = This->fActive = This->fInPlace = FALSE;
967
968 hr = IOCS_Attach( This, hWnd, pUnkControl );
969 if ( SUCCEEDED( hr ) )
970 hr = IOCS_Init( This );
971 if ( SUCCEEDED( hr ) )
972 *container = (IUnknown*)&This->IOleClientSite_iface;
973 else
974 {
975 IOCS_Detach( This );
977 }
978
979 return hr;
980}
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
static HRESULT IOCS_Detach(IOCS *This)
Definition: atl_ax.c:151
static HRESULT IOCS_Attach(IOCS *This, HWND hWnd, IUnknown *pUnkControl)
Definition: atl_ax.c:914
static const IOleControlSiteVtbl OleControlSite_vtbl
Definition: atl_ax.c:812
static const IOleInPlaceSiteWindowlessVtbl OleInPlaceSiteWindowless_vtbl
Definition: atl_ax.c:762
static const IOleClientSiteVtbl OleClientSite_vtbl
Definition: atl_ax.c:743
static HRESULT IOCS_Init(IOCS *This)
Definition: atl_ax.c:925
static const IOleContainerVtbl OleContainer_vtbl
Definition: atl_ax.c:754
static const IOleInPlaceFrameVtbl OleInPlaceFrame_vtbl
Definition: atl_ax.c:794

Referenced by AtlAxAttachControl().

◆ IOCS_Detach()

static HRESULT IOCS_Detach ( IOCS This)
static

Definition at line 151 of file atl_ax.c.

152{
153 if ( This->hWnd )
154 {
155 SetWindowLongPtrW( This->hWnd, GWLP_WNDPROC, (ULONG_PTR) This->OrigWndProc );
157 This->hWnd = NULL;
158 }
159 if ( This->control )
160 {
161 IOleObject *control = This->control;
162
163 This->control = NULL;
164 IOleObject_Close( control, OLECLOSE_NOSAVE );
165 IOleObject_SetClientSite( control, NULL );
166 IOleObject_Release( control );
167 }
168 return S_OK;
169}
HANDLE WINAPI RemovePropW(_In_ HWND, _In_ LPCWSTR)

Referenced by IOCS_Create(), IOCS_OnWndProc(), and OleClientSite_Release().

◆ IOCS_Init()

static HRESULT IOCS_Init ( IOCS This)
static

Definition at line 925 of file atl_ax.c.

926{
927 RECT rect;
928 static const WCHAR AXWIN[] = {'A','X','W','I','N',0};
929
930 IOleObject_SetHostNames( This->control, AXWIN, AXWIN );
931
932 GetClientRect( This->hWnd, &rect );
933 IOCS_OnSize( This, &rect );
934 IOleObject_DoVerb( This->control, OLEIVERB_INPLACEACTIVATE, NULL, &This->IOleClientSite_iface,
935 0, This->hWnd, &rect );
936
937 return S_OK;
938}
static void IOCS_OnSize(IOCS *This, LPCRECT rect)
Definition: atl_ax.c:826
#define OLEIVERB_INPLACEACTIVATE
Definition: ole2.h:43
& rect
Definition: startmenu.cpp:1413
BOOL WINAPI GetClientRect(_In_ HWND, _Out_ LPRECT)

Referenced by IOCS_Create().

◆ IOCS_OnDraw()

static void IOCS_OnDraw ( IOCS This)
static

Definition at line 860 of file atl_ax.c.

861{
863
864 if ( !This->control || !This->fWindowless )
865 return;
866
867 if ( SUCCEEDED( IOleObject_QueryInterface( This->control, &IID_IViewObject, (void**)&view ) ) )
868 {
869 HDC dc = GetDC( This->hWnd );
870 RECTL rect;
871
872 rect.left = This->size.left; rect.top = This->size.top;
873 rect.bottom = This->size.bottom; rect.right = This->size.right;
874
875 IViewObject_Draw( view, DVASPECT_CONTENT, ~0, NULL, NULL, 0, dc, &rect, &rect, NULL, 0 );
876 IViewObject_Release( view );
877 ReleaseDC( This->hWnd, dc );
878 }
879}
static const WCHAR dc[]
static HDC
Definition: imagelist.c:92
const GUID IID_IViewObject
int WINAPI ReleaseDC(_In_opt_ HWND, _In_ HDC)
HDC WINAPI GetDC(_In_opt_ HWND)

Referenced by IOCS_OnWndProc().

◆ IOCS_OnShow()

static void IOCS_OnShow ( IOCS This,
BOOL  fShow 
)
static

Definition at line 852 of file atl_ax.c.

853{
854 if (!This->control || This->fActive || !fShow )
855 return;
856
857 This->fActive = TRUE;
858}

Referenced by IOCS_OnWndProc().

◆ IOCS_OnSize()

static void IOCS_OnSize ( IOCS This,
LPCRECT  rect 
)
static

Definition at line 826 of file atl_ax.c.

827{
828 SIZEL inPix, inHi;
829
830 This->size = *rect;
831
832 if ( !This->control )
833 return;
834
835 inPix.cx = rect->right - rect->left;
836 inPix.cy = rect->bottom - rect->top;
837 AtlPixelToHiMetric( &inPix, &inHi );
838 IOleObject_SetExtent( This->control, DVASPECT_CONTENT, &inHi );
839
840 if ( This->fInPlace )
841 {
843
844 if ( SUCCEEDED( IOleObject_QueryInterface( This->control, &IID_IOleInPlaceObject, (void**)&wl ) ) )
845 {
846 IOleInPlaceObject_SetObjectRects( wl, rect, rect );
847 IOleInPlaceObject_Release( wl );
848 }
849 }
850}
void WINAPI AtlPixelToHiMetric(const SIZEL *lpPix, SIZEL *lpHiMetric)
Definition: atl.c:165
const GUID IID_IOleInPlaceObject
LONG cx
Definition: kdterminal.h:27
LONG cy
Definition: kdterminal.h:28

Referenced by IOCS_Init(), and IOCS_OnWndProc().

◆ IOCS_OnWndProc()

static LRESULT IOCS_OnWndProc ( IOCS This,
HWND  hWnd,
UINT  uMsg,
WPARAM  wParam,
LPARAM  lParam 
)
static

Definition at line 881 of file atl_ax.c.

882{
883 WNDPROC OrigWndProc = This->OrigWndProc;
884
885 switch( uMsg )
886 {
887 case WM_DESTROY:
888 IOCS_Detach( This );
889 break;
890 case WM_SIZE:
891 {
892 RECT r;
893 SetRect(&r, 0, 0, LOWORD(lParam), HIWORD(lParam));
894 IOCS_OnSize( This, &r );
895 }
896 break;
897 case WM_SHOWWINDOW:
899 break;
900 case WM_PAINT:
901 IOCS_OnDraw( This );
902 break;
903 }
904
905 return CallWindowProcW( OrigWndProc, hWnd, uMsg, wParam, lParam );
906}
static void IOCS_OnDraw(IOCS *This)
Definition: atl_ax.c:860
static void IOCS_OnShow(IOCS *This, BOOL fShow)
Definition: atl_ax.c:852
GLdouble GLdouble GLdouble r
Definition: gl.h:2055
#define LOWORD(l)
Definition: pedump.c:82
#define HIWORD(l)
Definition: typedefs.h:247
#define WM_PAINT
Definition: winuser.h:1610
#define WM_SIZE
Definition: winuser.h:1601
#define WM_SHOWWINDOW
Definition: winuser.h:1618
#define WM_DESTROY
Definition: winuser.h:1599
LRESULT WINAPI CallWindowProcW(_In_ WNDPROC, _In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
BOOL WINAPI SetRect(_Out_ LPRECT, _In_ int, _In_ int, _In_ int, _In_ int)

Referenced by AtlHost_wndproc().

◆ OleClientSite_AddRef()

static ULONG WINAPI OleClientSite_AddRef ( IOleClientSite iface)
static

Definition at line 213 of file atl_ax.c.

214{
217 TRACE("(%p)->(%d)\n", This, ref);
218 return ref;
219}
#define InterlockedIncrement
Definition: armddk.h:53
static IOCS * impl_from_IOleClientSite(IOleClientSite *iface)
Definition: atl_ax.c:146
Definition: send.c:48
uint32_t ULONG
Definition: typedefs.h:59

◆ OleClientSite_GetContainer()

static HRESULT WINAPI OleClientSite_GetContainer ( IOleClientSite iface,
IOleContainer **  container 
)
static

Definition at line 252 of file atl_ax.c.

253{
255 TRACE("(%p, %p)\n", This, container);
256 return IOleClientSite_QueryInterface(iface, &IID_IOleContainer, (void**)container);
257}
const GUID IID_IOleContainer

◆ OleClientSite_GetMoniker()

static HRESULT WINAPI OleClientSite_GetMoniker ( IOleClientSite iface,
DWORD  dwAssign,
DWORD  dwWhichMoniker,
IMoniker **  ppmk 
)
static

Definition at line 244 of file atl_ax.c.

245{
247
248 FIXME( "(%p, 0x%x, 0x%x, %p)\n", This, dwAssign, dwWhichMoniker, ppmk );
249 return E_NOTIMPL;
250}
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ OleClientSite_OnShowWindow()

static HRESULT WINAPI OleClientSite_OnShowWindow ( IOleClientSite iface,
BOOL  fShow 
)
static

Definition at line 266 of file atl_ax.c.

267{
269 FIXME( "(%p, %s) - stub\n", This, fShow ? "TRUE" : "FALSE" );
270 return E_NOTIMPL;
271}

◆ OleClientSite_QueryInterface()

static HRESULT WINAPI OleClientSite_QueryInterface ( IOleClientSite iface,
REFIID  riid,
void **  ppv 
)
static

Definition at line 171 of file atl_ax.c.

172{
174
175 TRACE("(%p)->(%s %p)\n", This, debugstr_guid(riid), ppv);
176
177 *ppv = NULL;
178
181 {
182 *ppv = iface;
183 }
185 {
186 *ppv = &This->IOleContainer_iface;
187 }
188 else if (IsEqualIID(&IID_IOleInPlaceSite, riid) ||
189 IsEqualIID(&IID_IOleInPlaceSiteEx, riid) ||
190 IsEqualIID(&IID_IOleInPlaceSiteWindowless, riid))
191 {
192 *ppv = &This->IOleInPlaceSiteWindowless_iface;
193 }
195 {
196 *ppv = &This->IOleInPlaceFrame_iface;
197 }
199 {
200 *ppv = &This->IOleControlSite_iface;
201 }
202
203 if (*ppv)
204 {
205 IOleClientSite_AddRef(iface);
206 return S_OK;
207 }
208
209 WARN("unsupported interface %s\n", debugstr_guid(riid));
210 return E_NOINTERFACE;
211}
REFIID riid
Definition: atlbase.h:39
REFIID LPVOID * ppv
Definition: atlbase.h:39
const GUID IID_IOleInPlaceSite
const GUID IID_IOleInPlaceFrame
const GUID IID_IOleControlSite
const GUID IID_IOleClientSite
#define IsEqualIID(riid1, riid2)
Definition: guiddef.h:95
#define E_NOINTERFACE
Definition: winerror.h:2364

◆ OleClientSite_Release()

static ULONG WINAPI OleClientSite_Release ( IOleClientSite iface)
static

Definition at line 221 of file atl_ax.c.

222{
225
226 TRACE("(%p)->(%d)\n", This, ref);
227
228 if (!ref)
229 {
230 IOCS_Detach( This );
232 }
233
234 return ref;
235}
#define InterlockedDecrement
Definition: armddk.h:52

◆ OleClientSite_RequestNewObjectLayout()

static HRESULT WINAPI OleClientSite_RequestNewObjectLayout ( IOleClientSite iface)
static

Definition at line 273 of file atl_ax.c.

274{
276 FIXME( "(%p) - stub\n", This );
277 return E_NOTIMPL;
278}

◆ OleClientSite_SaveObject()

static HRESULT WINAPI OleClientSite_SaveObject ( IOleClientSite iface)
static

Definition at line 237 of file atl_ax.c.

238{
240 FIXME( "(%p) - stub\n", This );
241 return E_NOTIMPL;
242}

◆ OleClientSite_ShowObject()

static HRESULT WINAPI OleClientSite_ShowObject ( IOleClientSite iface)
static

Definition at line 259 of file atl_ax.c.

260{
262 FIXME( "(%p) - stub\n", This );
263 return S_OK;
264}

◆ OleContainer_AddRef()

static ULONG WINAPI OleContainer_AddRef ( IOleContainer iface)
static

Definition at line 293 of file atl_ax.c.

294{
296 return IOleClientSite_AddRef(&This->IOleClientSite_iface);
297}
static IOCS * impl_from_IOleContainer(IOleContainer *iface)
Definition: atl_ax.c:282

◆ OleContainer_EnumObjects()

static HRESULT WINAPI OleContainer_EnumObjects ( IOleContainer iface,
DWORD  grfFlags,
IEnumUnknown **  ppenum 
)
static

Definition at line 313 of file atl_ax.c.

314{
316 FIXME( "(%p, %u, %p) - stub\n", This, grfFlags, ppenum );
317 return E_NOTIMPL;
318}

◆ OleContainer_LockContainer()

static HRESULT WINAPI OleContainer_LockContainer ( IOleContainer iface,
BOOL  fLock 
)
static

Definition at line 320 of file atl_ax.c.

321{
323 FIXME( "(%p, %s) - stub\n", This, fLock?"TRUE":"FALSE" );
324 return E_NOTIMPL;
325}

◆ OleContainer_ParseDisplayName()

static HRESULT WINAPI OleContainer_ParseDisplayName ( IOleContainer iface,
IBindCtx pbc,
LPOLESTR  pszDisplayName,
ULONG pchEaten,
IMoniker **  ppmkOut 
)
static

Definition at line 305 of file atl_ax.c.

307{
309 FIXME( "(%p,%p,%s,%p,%p) - stub\n", This, pbc, debugstr_w(pszDisplayName), pchEaten, ppmkOut );
310 return E_NOTIMPL;
311}

◆ OleContainer_QueryInterface()

static HRESULT WINAPI OleContainer_QueryInterface ( IOleContainer iface,
REFIID  riid,
void **  ppv 
)
static

Definition at line 287 of file atl_ax.c.

288{
290 return IOleClientSite_QueryInterface(&This->IOleClientSite_iface, riid, ppv);
291}

◆ OleContainer_Release()

static ULONG WINAPI OleContainer_Release ( IOleContainer iface)
static

Definition at line 299 of file atl_ax.c.

300{
302 return IOleClientSite_Release(&This->IOleClientSite_iface);
303}

◆ OleControlSite_AddRef()

static ULONG WINAPI OleControlSite_AddRef ( IOleControlSite iface)
static

Definition at line 694 of file atl_ax.c.

695{
697 return IOleClientSite_AddRef(&This->IOleClientSite_iface);
698}
static IOCS * impl_from_IOleControlSite(IOleControlSite *iface)
Definition: atl_ax.c:683

◆ OleControlSite_GetExtendedControl()

static HRESULT WINAPI OleControlSite_GetExtendedControl ( IOleControlSite This,
IDispatch **  ppDisp 
)
static

Definition at line 716 of file atl_ax.c.

717{
718 FIXME( "\n" );
719 return E_NOTIMPL;
720}

◆ OleControlSite_LockInPlaceActive()

static HRESULT WINAPI OleControlSite_LockInPlaceActive ( IOleControlSite This,
BOOL  fLock 
)
static

Definition at line 711 of file atl_ax.c.

712{
713 FIXME( "\n" );
714 return E_NOTIMPL;
715}

◆ OleControlSite_OnControlInfoChanged()

static HRESULT WINAPI OleControlSite_OnControlInfoChanged ( IOleControlSite This)
static

Definition at line 706 of file atl_ax.c.

707{
708 FIXME( "\n" );
709 return E_NOTIMPL;
710}

◆ OleControlSite_OnFocus()

static HRESULT WINAPI OleControlSite_OnFocus ( IOleControlSite This,
BOOL  fGotFocus 
)
static

Definition at line 731 of file atl_ax.c.

732{
733 FIXME( "\n" );
734 return E_NOTIMPL;
735}

◆ OleControlSite_QueryInterface()

static HRESULT WINAPI OleControlSite_QueryInterface ( IOleControlSite iface,
REFIID  riid,
void **  ppv 
)
static

Definition at line 688 of file atl_ax.c.

689{
691 return IOleClientSite_QueryInterface(&This->IOleClientSite_iface, riid, ppv);
692}

◆ OleControlSite_Release()

static ULONG WINAPI OleControlSite_Release ( IOleControlSite iface)
static

Definition at line 700 of file atl_ax.c.

701{
703 return IOleClientSite_Release(&This->IOleClientSite_iface);
704}

◆ OleControlSite_ShowPropertyFrame()

static HRESULT WINAPI OleControlSite_ShowPropertyFrame ( IOleControlSite This)
static

Definition at line 736 of file atl_ax.c.

737{
738 FIXME( "\n" );
739 return E_NOTIMPL;
740}

◆ OleControlSite_TransformCoords()

static HRESULT WINAPI OleControlSite_TransformCoords ( IOleControlSite This,
POINTL pPtlHimetric,
POINTF *  pPtfContainer,
DWORD  dwFlags 
)
static

Definition at line 721 of file atl_ax.c.

722{
723 FIXME( "\n" );
724 return E_NOTIMPL;
725}

◆ OleControlSite_TranslateAccelerator()

static HRESULT WINAPI OleControlSite_TranslateAccelerator ( IOleControlSite This,
MSG pMsg,
DWORD  grfModifiers 
)
static

Definition at line 726 of file atl_ax.c.

727{
728 FIXME( "\n" );
729 return E_NOTIMPL;
730}

◆ OleInPlaceFrame_AddRef()

static ULONG WINAPI OleInPlaceFrame_AddRef ( IOleInPlaceFrame iface)
static

Definition at line 571 of file atl_ax.c.

572{
574 return IOleClientSite_AddRef(&This->IOleClientSite_iface);
575}
static IOCS * impl_from_IOleInPlaceFrame(IOleInPlaceFrame *iface)
Definition: atl_ax.c:560

◆ OleInPlaceFrame_ContextSensitiveHelp()

static HRESULT WINAPI OleInPlaceFrame_ContextSensitiveHelp ( IOleInPlaceFrame iface,
BOOL  fEnterMode 
)
static

Definition at line 593 of file atl_ax.c.

594{
596
597 FIXME( "(%p,%d) - stub\n", This, fEnterMode );
598 return E_NOTIMPL;
599}

◆ OleInPlaceFrame_EnableModeless()

static HRESULT WINAPI OleInPlaceFrame_EnableModeless ( IOleInPlaceFrame iface,
BOOL  fEnable 
)
static

Definition at line 665 of file atl_ax.c.

666{
668
669 FIXME( "(%p, %d) - stub\n", This, fEnable );
670 return E_NOTIMPL;
671}

◆ OleInPlaceFrame_GetBorder()

static HRESULT WINAPI OleInPlaceFrame_GetBorder ( IOleInPlaceFrame iface,
LPRECT  lprectBorder 
)
static

Definition at line 601 of file atl_ax.c.

602{
604
605 FIXME( "(%p,%p) - stub\n", This, lprectBorder );
606 return E_NOTIMPL;
607}

◆ OleInPlaceFrame_GetWindow()

static HRESULT WINAPI OleInPlaceFrame_GetWindow ( IOleInPlaceFrame iface,
HWND phWnd 
)
static

Definition at line 583 of file atl_ax.c.

584{
586
587 TRACE( "(%p,%p)\n", This, phWnd );
588
589 *phWnd = This->hWnd;
590 return S_OK;
591}

◆ OleInPlaceFrame_InsertMenus()

static HRESULT WINAPI OleInPlaceFrame_InsertMenus ( IOleInPlaceFrame iface,
HMENU  hmenuShared,
LPOLEMENUGROUPWIDTHS  lpMenuWidths 
)
static

Definition at line 633 of file atl_ax.c.

634{
636
637 FIXME( "(%p,%p,%p) - stub\n", This, hmenuShared, lpMenuWidths );
638 return E_NOTIMPL;
639}

◆ OleInPlaceFrame_QueryInterface()

static HRESULT WINAPI OleInPlaceFrame_QueryInterface ( IOleInPlaceFrame iface,
REFIID  riid,
void **  ppv 
)
static

Definition at line 565 of file atl_ax.c.

566{
568 return IOleClientSite_QueryInterface(&This->IOleClientSite_iface, riid, ppv);
569}

◆ OleInPlaceFrame_Release()

static ULONG WINAPI OleInPlaceFrame_Release ( IOleInPlaceFrame iface)
static

Definition at line 577 of file atl_ax.c.

578{
580 return IOleClientSite_Release(&This->IOleClientSite_iface);
581}

◆ OleInPlaceFrame_RemoveMenus()

static HRESULT WINAPI OleInPlaceFrame_RemoveMenus ( IOleInPlaceFrame iface,
HMENU  hmenuShared 
)
static

Definition at line 649 of file atl_ax.c.

650{
652
653 FIXME( "(%p, %p) - stub\n", This, hmenuShared );
654 return E_NOTIMPL;
655}

◆ OleInPlaceFrame_RequestBorderSpace()

static HRESULT WINAPI OleInPlaceFrame_RequestBorderSpace ( IOleInPlaceFrame iface,
LPCBORDERWIDTHS  pborderwidths 
)
static

Definition at line 609 of file atl_ax.c.

610{
612
613 FIXME( "(%p,%p) - stub\n", This, pborderwidths );
614 return E_NOTIMPL;
615}

◆ OleInPlaceFrame_SetActiveObject()

static HRESULT WINAPI OleInPlaceFrame_SetActiveObject ( IOleInPlaceFrame iface,
IOleInPlaceActiveObject pActiveObject,
LPCOLESTR  pszObjName 
)
static

Definition at line 625 of file atl_ax.c.

626{
628
629 FIXME( "(%p,%p,%s) - stub\n", This, pActiveObject, debugstr_w(pszObjName) );
630 return S_OK;
631}

◆ OleInPlaceFrame_SetBorderSpace()

static HRESULT WINAPI OleInPlaceFrame_SetBorderSpace ( IOleInPlaceFrame iface,
LPCBORDERWIDTHS  pborderwidths 
)
static

Definition at line 617 of file atl_ax.c.

618{
620
621 FIXME( "(%p,%p) - stub\n", This, pborderwidths );
622 return E_NOTIMPL;
623}

◆ OleInPlaceFrame_SetMenu()

static HRESULT WINAPI OleInPlaceFrame_SetMenu ( IOleInPlaceFrame iface,
HMENU  hmenuShared,
HOLEMENU  holemenu,
HWND  hwndActiveObject 
)
static

Definition at line 641 of file atl_ax.c.

642{
644
645 FIXME( "(%p,%p,%p,%p) - stub\n", This, hmenuShared, holemenu, hwndActiveObject );
646 return E_NOTIMPL;
647}

◆ OleInPlaceFrame_SetStatusText()

static HRESULT WINAPI OleInPlaceFrame_SetStatusText ( IOleInPlaceFrame iface,
LPCOLESTR  pszStatusText 
)
static

Definition at line 657 of file atl_ax.c.

658{
660
661 FIXME( "(%p, %s) - stub\n", This, debugstr_w( pszStatusText ) );
662 return E_NOTIMPL;
663}

◆ OleInPlaceFrame_TranslateAccelerator()

static HRESULT WINAPI OleInPlaceFrame_TranslateAccelerator ( IOleInPlaceFrame iface,
LPMSG  lpmsg,
WORD  wID 
)
static

Definition at line 673 of file atl_ax.c.

674{
676
677 FIXME( "(%p, %p, %x) - stub\n", This, lpmsg, wID );
678 return E_NOTIMPL;
679}

◆ OleInPlaceSiteWindowless_AddRef()

static ULONG WINAPI OleInPlaceSiteWindowless_AddRef ( IOleInPlaceSiteWindowless iface)
static

Definition at line 340 of file atl_ax.c.

341{
343 return IOleClientSite_AddRef(&This->IOleClientSite_iface);
344}
static IOCS * impl_from_IOleInPlaceSiteWindowless(IOleInPlaceSiteWindowless *iface)
Definition: atl_ax.c:329

◆ OleInPlaceSiteWindowless_AdjustRect()

static HRESULT WINAPI OleInPlaceSiteWindowless_AdjustRect ( IOleInPlaceSiteWindowless iface,
LPRECT  prc 
)
static

Definition at line 547 of file atl_ax.c.

548{
549 FIXME("\n");
550 return E_NOTIMPL;
551}

◆ OleInPlaceSiteWindowless_CanInPlaceActivate()

static HRESULT WINAPI OleInPlaceSiteWindowless_CanInPlaceActivate ( IOleInPlaceSiteWindowless iface)
static

Definition at line 368 of file atl_ax.c.

369{
371 TRACE("(%p)\n", This);
372 return S_OK;
373}

◆ OleInPlaceSiteWindowless_CanWindowlessActivate()

static HRESULT WINAPI OleInPlaceSiteWindowless_CanWindowlessActivate ( IOleInPlaceSiteWindowless iface)
static

Definition at line 497 of file atl_ax.c.

498{
499 FIXME("\n");
500 return S_OK;
501}

◆ OleInPlaceSiteWindowless_ContextSensitiveHelp()

static HRESULT WINAPI OleInPlaceSiteWindowless_ContextSensitiveHelp ( IOleInPlaceSiteWindowless iface,
BOOL  fEnterMode 
)
static

Definition at line 361 of file atl_ax.c.

362{
364 FIXME("(%p,%d) - stub\n", This, fEnterMode);
365 return E_NOTIMPL;
366}

◆ OleInPlaceSiteWindowless_DeactivateAndUndo()

static HRESULT WINAPI OleInPlaceSiteWindowless_DeactivateAndUndo ( IOleInPlaceSiteWindowless iface)
static

Definition at line 457 of file atl_ax.c.

458{
460 FIXME("(%p) - stub\n", This);
461 return E_NOTIMPL;
462}

◆ OleInPlaceSiteWindowless_DiscardUndoState()

static HRESULT WINAPI OleInPlaceSiteWindowless_DiscardUndoState ( IOleInPlaceSiteWindowless iface)
static

Definition at line 450 of file atl_ax.c.

451{
453 FIXME("(%p) - stub\n", This);
454 return E_NOTIMPL;
455}

◆ OleInPlaceSiteWindowless_GetCapture()

static HRESULT WINAPI OleInPlaceSiteWindowless_GetCapture ( IOleInPlaceSiteWindowless iface)
static

Definition at line 502 of file atl_ax.c.

503{
504 FIXME("\n");
505 return E_NOTIMPL;
506}

◆ OleInPlaceSiteWindowless_GetDC()

static HRESULT WINAPI OleInPlaceSiteWindowless_GetDC ( IOleInPlaceSiteWindowless iface,
LPCRECT  pRect,
DWORD  grfFlags,
HDC phDC 
)
static

Definition at line 522 of file atl_ax.c.

523{
524 FIXME("\n");
525 return E_NOTIMPL;
526}

◆ OleInPlaceSiteWindowless_GetFocus()

static HRESULT WINAPI OleInPlaceSiteWindowless_GetFocus ( IOleInPlaceSiteWindowless iface)
static

Definition at line 512 of file atl_ax.c.

513{
514 FIXME("\n");
515 return E_NOTIMPL;
516}

◆ OleInPlaceSiteWindowless_GetWindow()

static HRESULT WINAPI OleInPlaceSiteWindowless_GetWindow ( IOleInPlaceSiteWindowless iface,
HWND phwnd 
)
static

Definition at line 352 of file atl_ax.c.

353{
355
356 TRACE("(%p,%p)\n", This, phwnd);
357 *phwnd = This->hWnd;
358 return S_OK;
359}

◆ OleInPlaceSiteWindowless_GetWindowContext()

static HRESULT WINAPI OleInPlaceSiteWindowless_GetWindowContext ( IOleInPlaceSiteWindowless iface,
IOleInPlaceFrame **  frame,
IOleInPlaceUIWindow **  ppDoc,
LPRECT  lprcPosRect,
LPRECT  lprcClipRect,
LPOLEINPLACEFRAMEINFO  lpFrameInfo 
)
static

Definition at line 393 of file atl_ax.c.

396{
398
399 TRACE("(%p,%p,%p,%p,%p,%p)\n", This, frame, ppDoc, lprcPosRect, lprcClipRect, lpFrameInfo);
400
401 if ( lprcClipRect )
402 *lprcClipRect = This->size;
403 if ( lprcPosRect )
404 *lprcPosRect = This->size;
405
406 if ( frame )
407 {
408 *frame = &This->IOleInPlaceFrame_iface;
409 IOleInPlaceFrame_AddRef(*frame);
410 }
411
412 if ( ppDoc )
413 *ppDoc = NULL;
414
415 if ( lpFrameInfo )
416 {
417 lpFrameInfo->fMDIApp = FALSE;
418 lpFrameInfo->hwndFrame = This->hWnd;
419 lpFrameInfo->haccel = NULL;
420 lpFrameInfo->cAccelEntries = 0;
421 }
422
423 return S_OK;
424}

◆ OleInPlaceSiteWindowless_InvalidateRect()

static HRESULT WINAPI OleInPlaceSiteWindowless_InvalidateRect ( IOleInPlaceSiteWindowless iface,
LPCRECT  pRect,
BOOL  fErase 
)
static

Definition at line 532 of file atl_ax.c.

533{
534 FIXME("\n");
535 return E_NOTIMPL;
536}

◆ OleInPlaceSiteWindowless_InvalidateRgn()

static HRESULT WINAPI OleInPlaceSiteWindowless_InvalidateRgn ( IOleInPlaceSiteWindowless iface,
HRGN  hRGN,
BOOL  fErase 
)
static

Definition at line 537 of file atl_ax.c.

538{
539 FIXME("\n");
540 return E_NOTIMPL;
541}

◆ OleInPlaceSiteWindowless_OnDefWindowMessage()

static HRESULT WINAPI OleInPlaceSiteWindowless_OnDefWindowMessage ( IOleInPlaceSiteWindowless iface,
UINT  msg,
WPARAM  wParam,
LPARAM  lParam,
LRESULT plResult 
)
static

Definition at line 552 of file atl_ax.c.

553{
554 FIXME("\n");
555 return E_NOTIMPL;
556}

◆ OleInPlaceSiteWindowless_OnInPlaceActivate()

static HRESULT WINAPI OleInPlaceSiteWindowless_OnInPlaceActivate ( IOleInPlaceSiteWindowless iface)
static

Definition at line 375 of file atl_ax.c.

376{
378
379 TRACE("(%p)\n", This);
380
381 This->fInPlace = TRUE;
382 return S_OK;
383}

◆ OleInPlaceSiteWindowless_OnInPlaceActivateEx()

static HRESULT WINAPI OleInPlaceSiteWindowless_OnInPlaceActivateEx ( IOleInPlaceSiteWindowless iface,
BOOL pfNoRedraw,
DWORD  dwFlags 
)
static

Definition at line 471 of file atl_ax.c.

472{
474
475 TRACE("\n");
476
477 This->fActive = This->fInPlace = TRUE;
478 if ( dwFlags & ACTIVATE_WINDOWLESS )
479 This->fWindowless = TRUE;
480 return S_OK;
481}
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
Definition: wincrypt.h:1176

◆ OleInPlaceSiteWindowless_OnInPlaceDeactivate()

static HRESULT WINAPI OleInPlaceSiteWindowless_OnInPlaceDeactivate ( IOleInPlaceSiteWindowless iface)
static

Definition at line 440 of file atl_ax.c.

441{
443
444 TRACE("(%p)\n", This);
445
446 This->fInPlace = This->fWindowless = FALSE;
447 return S_OK;
448}

◆ OleInPlaceSiteWindowless_OnInPlaceDeactivateEx()

static HRESULT WINAPI OleInPlaceSiteWindowless_OnInPlaceDeactivateEx ( IOleInPlaceSiteWindowless iface,
BOOL  fNoRedraw 
)
static

Definition at line 483 of file atl_ax.c.

484{
486
487 TRACE("\n");
488
489 This->fActive = This->fInPlace = This->fWindowless = FALSE;
490 return S_OK;
491}

◆ OleInPlaceSiteWindowless_OnPosRectChange()

static HRESULT WINAPI OleInPlaceSiteWindowless_OnPosRectChange ( IOleInPlaceSiteWindowless iface,
LPCRECT  lprcPosRect 
)
static

Definition at line 464 of file atl_ax.c.

465{
467 FIXME("(%p,%p) - stub\n", This, lprcPosRect);
468 return E_NOTIMPL;
469}

◆ OleInPlaceSiteWindowless_OnUIActivate()

static HRESULT WINAPI OleInPlaceSiteWindowless_OnUIActivate ( IOleInPlaceSiteWindowless iface)
static

Definition at line 385 of file atl_ax.c.

386{
388
389 TRACE("(%p)\n", This);
390
391 return S_OK;
392}

◆ OleInPlaceSiteWindowless_OnUIDeactivate()

static HRESULT WINAPI OleInPlaceSiteWindowless_OnUIDeactivate ( IOleInPlaceSiteWindowless iface,
BOOL  fUndoable 
)
static

Definition at line 433 of file atl_ax.c.

434{
436 FIXME("(%p,%d) - stub\n", This, fUndoable);
437 return E_NOTIMPL;
438}

◆ OleInPlaceSiteWindowless_QueryInterface()

static HRESULT WINAPI OleInPlaceSiteWindowless_QueryInterface ( IOleInPlaceSiteWindowless iface,
REFIID  riid,
void **  ppv 
)
static

Definition at line 334 of file atl_ax.c.

335{
337 return IOleClientSite_QueryInterface(&This->IOleClientSite_iface, riid, ppv);
338}

◆ OleInPlaceSiteWindowless_Release()

static ULONG WINAPI OleInPlaceSiteWindowless_Release ( IOleInPlaceSiteWindowless iface)
static

Definition at line 346 of file atl_ax.c.

347{
349 return IOleClientSite_Release(&This->IOleClientSite_iface);
350}

◆ OleInPlaceSiteWindowless_ReleaseDC()

static HRESULT WINAPI OleInPlaceSiteWindowless_ReleaseDC ( IOleInPlaceSiteWindowless iface,
HDC  hDC 
)
static

Definition at line 527 of file atl_ax.c.

528{
529 FIXME("\n");
530 return E_NOTIMPL;
531}

◆ OleInPlaceSiteWindowless_RequestUIActivate()

static HRESULT WINAPI OleInPlaceSiteWindowless_RequestUIActivate ( IOleInPlaceSiteWindowless iface)
static

Definition at line 492 of file atl_ax.c.

493{
494 FIXME("\n");
495 return E_NOTIMPL;
496}

◆ OleInPlaceSiteWindowless_Scroll()

static HRESULT WINAPI OleInPlaceSiteWindowless_Scroll ( IOleInPlaceSiteWindowless iface,
SIZE  scrollExtent 
)
static

Definition at line 426 of file atl_ax.c.

427{
429 FIXME("(%p) - stub\n", This);
430 return E_NOTIMPL;
431}

◆ OleInPlaceSiteWindowless_ScrollRect()

static HRESULT WINAPI OleInPlaceSiteWindowless_ScrollRect ( IOleInPlaceSiteWindowless iface,
INT  dx,
INT  dy,
LPCRECT  pRectScroll,
LPCRECT  pRectClip 
)
static

Definition at line 542 of file atl_ax.c.

543{
544 FIXME("\n");
545 return E_NOTIMPL;
546}

◆ OleInPlaceSiteWindowless_SetCapture()

static HRESULT WINAPI OleInPlaceSiteWindowless_SetCapture ( IOleInPlaceSiteWindowless iface,
BOOL  fCapture 
)
static

Definition at line 507 of file atl_ax.c.

508{
509 FIXME("\n");
510 return E_NOTIMPL;
511}

◆ OleInPlaceSiteWindowless_SetFocus()

static HRESULT WINAPI OleInPlaceSiteWindowless_SetFocus ( IOleInPlaceSiteWindowless iface,
BOOL  fFocus 
)
static

Definition at line 517 of file atl_ax.c.

518{
519 FIXME("\n");
520 return E_NOTIMPL;
521}

◆ WINE_DEFAULT_DEBUG_CHANNEL()

WINE_DEFAULT_DEBUG_CHANNEL ( atl  )

Variable Documentation

◆ OleClientSite_vtbl

const IOleClientSiteVtbl OleClientSite_vtbl
static
Initial value:
= {
}
static HRESULT WINAPI OleClientSite_QueryInterface(IOleClientSite *iface, REFIID riid, void **ppv)
Definition: atl_ax.c:171
static ULONG WINAPI OleClientSite_Release(IOleClientSite *iface)
Definition: atl_ax.c:221
static ULONG WINAPI OleClientSite_AddRef(IOleClientSite *iface)
Definition: atl_ax.c:213
static HRESULT WINAPI OleClientSite_ShowObject(IOleClientSite *iface)
Definition: atl_ax.c:259
static HRESULT WINAPI OleClientSite_OnShowWindow(IOleClientSite *iface, BOOL fShow)
Definition: atl_ax.c:266
static HRESULT WINAPI OleClientSite_GetMoniker(IOleClientSite *iface, DWORD dwAssign, DWORD dwWhichMoniker, IMoniker **ppmk)
Definition: atl_ax.c:244
static HRESULT WINAPI OleClientSite_SaveObject(IOleClientSite *iface)
Definition: atl_ax.c:237
static HRESULT WINAPI OleClientSite_RequestNewObjectLayout(IOleClientSite *iface)
Definition: atl_ax.c:273
static HRESULT WINAPI OleClientSite_GetContainer(IOleClientSite *iface, IOleContainer **container)
Definition: atl_ax.c:252

Definition at line 743 of file atl_ax.c.

Referenced by IOCS_Create().

◆ OleContainer_vtbl

const IOleContainerVtbl OleContainer_vtbl
static
Initial value:
= {
}
static ULONG WINAPI OleContainer_Release(IOleContainer *iface)
Definition: atl_ax.c:299
static HRESULT WINAPI OleContainer_EnumObjects(IOleContainer *iface, DWORD grfFlags, IEnumUnknown **ppenum)
Definition: atl_ax.c:313
static HRESULT WINAPI OleContainer_ParseDisplayName(IOleContainer *iface, IBindCtx *pbc, LPOLESTR pszDisplayName, ULONG *pchEaten, IMoniker **ppmkOut)
Definition: atl_ax.c:305
static HRESULT WINAPI OleContainer_LockContainer(IOleContainer *iface, BOOL fLock)
Definition: atl_ax.c:320
static HRESULT WINAPI OleContainer_QueryInterface(IOleContainer *iface, REFIID riid, void **ppv)
Definition: atl_ax.c:287
static ULONG WINAPI OleContainer_AddRef(IOleContainer *iface)
Definition: atl_ax.c:293

Definition at line 754 of file atl_ax.c.

Referenced by IOCS_Create().

◆ OleControlSite_vtbl

const IOleControlSiteVtbl OleControlSite_vtbl
static
Initial value:
=
{
}
static HRESULT WINAPI OleControlSite_OnControlInfoChanged(IOleControlSite *This)
Definition: atl_ax.c:706
static HRESULT WINAPI OleControlSite_GetExtendedControl(IOleControlSite *This, IDispatch **ppDisp)
Definition: atl_ax.c:716
static HRESULT WINAPI OleControlSite_TransformCoords(IOleControlSite *This, POINTL *pPtlHimetric, POINTF *pPtfContainer, DWORD dwFlags)
Definition: atl_ax.c:721
static HRESULT WINAPI OleControlSite_LockInPlaceActive(IOleControlSite *This, BOOL fLock)
Definition: atl_ax.c:711
static HRESULT WINAPI OleControlSite_QueryInterface(IOleControlSite *iface, REFIID riid, void **ppv)
Definition: atl_ax.c:688
static HRESULT WINAPI OleControlSite_ShowPropertyFrame(IOleControlSite *This)
Definition: atl_ax.c:736
static HRESULT WINAPI OleControlSite_TranslateAccelerator(IOleControlSite *This, MSG *pMsg, DWORD grfModifiers)
Definition: atl_ax.c:726
static ULONG WINAPI OleControlSite_AddRef(IOleControlSite *iface)
Definition: atl_ax.c:694
static ULONG WINAPI OleControlSite_Release(IOleControlSite *iface)
Definition: atl_ax.c:700
static HRESULT WINAPI OleControlSite_OnFocus(IOleControlSite *This, BOOL fGotFocus)
Definition: atl_ax.c:731

Definition at line 812 of file atl_ax.c.

Referenced by IOCS_Create().

◆ OleInPlaceFrame_vtbl

const IOleInPlaceFrameVtbl OleInPlaceFrame_vtbl
static
Initial value:
=
{
}
static ULONG WINAPI OleInPlaceFrame_AddRef(IOleInPlaceFrame *iface)
Definition: atl_ax.c:571
static HRESULT WINAPI OleInPlaceFrame_InsertMenus(IOleInPlaceFrame *iface, HMENU hmenuShared, LPOLEMENUGROUPWIDTHS lpMenuWidths)
Definition: atl_ax.c:633
static HRESULT WINAPI OleInPlaceFrame_GetWindow(IOleInPlaceFrame *iface, HWND *phWnd)
Definition: atl_ax.c:583
static ULONG WINAPI OleInPlaceFrame_Release(IOleInPlaceFrame *iface)
Definition: atl_ax.c:577
static HRESULT WINAPI OleInPlaceFrame_GetBorder(IOleInPlaceFrame *iface, LPRECT lprectBorder)
Definition: atl_ax.c:601
static HRESULT WINAPI OleInPlaceFrame_SetMenu(IOleInPlaceFrame *iface, HMENU hmenuShared, HOLEMENU holemenu, HWND hwndActiveObject)
Definition: atl_ax.c:641
static HRESULT WINAPI OleInPlaceFrame_TranslateAccelerator(IOleInPlaceFrame *iface, LPMSG lpmsg, WORD wID)
Definition: atl_ax.c:673
static HRESULT WINAPI OleInPlaceFrame_SetStatusText(IOleInPlaceFrame *iface, LPCOLESTR pszStatusText)
Definition: atl_ax.c:657
static HRESULT WINAPI OleInPlaceFrame_RemoveMenus(IOleInPlaceFrame *iface, HMENU hmenuShared)
Definition: atl_ax.c:649
static HRESULT WINAPI OleInPlaceFrame_RequestBorderSpace(IOleInPlaceFrame *iface, LPCBORDERWIDTHS pborderwidths)
Definition: atl_ax.c:609
static HRESULT WINAPI OleInPlaceFrame_SetActiveObject(IOleInPlaceFrame *iface, IOleInPlaceActiveObject *pActiveObject, LPCOLESTR pszObjName)
Definition: atl_ax.c:625
static HRESULT WINAPI OleInPlaceFrame_EnableModeless(IOleInPlaceFrame *iface, BOOL fEnable)
Definition: atl_ax.c:665
static HRESULT WINAPI OleInPlaceFrame_QueryInterface(IOleInPlaceFrame *iface, REFIID riid, void **ppv)
Definition: atl_ax.c:565
static HRESULT WINAPI OleInPlaceFrame_SetBorderSpace(IOleInPlaceFrame *iface, LPCBORDERWIDTHS pborderwidths)
Definition: atl_ax.c:617
static HRESULT WINAPI OleInPlaceFrame_ContextSensitiveHelp(IOleInPlaceFrame *iface, BOOL fEnterMode)
Definition: atl_ax.c:593

Definition at line 794 of file atl_ax.c.

Referenced by IOCS_Create().

◆ OleInPlaceSiteWindowless_vtbl

const IOleInPlaceSiteWindowlessVtbl OleInPlaceSiteWindowless_vtbl
static

Definition at line 762 of file atl_ax.c.

Referenced by IOCS_Create().

◆ wine_atl_iocsW

const WCHAR wine_atl_iocsW[] = {'_','_','W','I','N','E','_','A','T','L','_','I','O','C','S','\0'}
static

Definition at line 59 of file atl_ax.c.

Referenced by AtlAxGetControl(), AtlAxGetHost(), AtlHost_wndproc(), IOCS_Attach(), and IOCS_Detach().