ReactOS  0.4.14-dev-114-gc8cbd56
olepropframe.c File Reference
#include <stdarg.h>
#include "windef.h"
#include "winbase.h"
#include "wingdi.h"
#include "ole2.h"
#include "olectl.h"
#include "oledlg.h"
#include "wine/debug.h"
Include dependency graph for olepropframe.c:

Go to the source code of this file.

Classes

struct  PropertyPageSite
 

Macros

#define COBJMACROS
 
#define NONAMELESSUNION
 

Functions

 WINE_DEFAULT_DEBUG_CHANNEL (ole)
 
static PropertyPageSiteimpl_from_IPropertyPageSite (IPropertyPageSite *iface)
 
static INT_PTR CALLBACK property_sheet_proc (HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam)
 
static HRESULT WINAPI PropertyPageSite_QueryInterface (IPropertyPageSite *iface, REFIID riid, void **ppv)
 
static ULONG WINAPI PropertyPageSite_AddRef (IPropertyPageSite *iface)
 
static ULONG WINAPI PropertyPageSite_Release (IPropertyPageSite *iface)
 
static HRESULT WINAPI PropertyPageSite_OnStatusChange (IPropertyPageSite *iface, DWORD dwFlags)
 
static HRESULT WINAPI PropertyPageSite_GetLocaleID (IPropertyPageSite *iface, LCID *pLocaleID)
 
static HRESULT WINAPI PropertyPageSite_GetPageContainer (IPropertyPageSite *iface, IUnknown **ppUnk)
 
static HRESULT WINAPI PropertyPageSite_TranslateAccelerator (IPropertyPageSite *iface, MSG *pMsg)
 
HRESULT WINAPI OleCreatePropertyFrameIndirect (LPOCPFIPARAMS lpParams)
 
HRESULT WINAPI OleCreatePropertyFrame (HWND hwndOwner, UINT x, UINT y, LPCOLESTR lpszCaption, ULONG cObjects, LPUNKNOWN *ppUnk, ULONG cPages, LPCLSID pPageClsID, LCID lcid, DWORD dwReserved, LPVOID pvReserved)
 

Variables

static IPropertyPageSiteVtbl PropertyPageSiteVtbl
 

Macro Definition Documentation

◆ COBJMACROS

#define COBJMACROS

Definition at line 24 of file olepropframe.c.

◆ NONAMELESSUNION

#define NONAMELESSUNION

Definition at line 25 of file olepropframe.c.

Function Documentation

◆ impl_from_IPropertyPageSite()

static PropertyPageSite* impl_from_IPropertyPageSite ( IPropertyPageSite iface)
inlinestatic

Definition at line 43 of file olepropframe.c.

44 {
45  return CONTAINING_RECORD(iface, PropertyPageSite, IPropertyPageSite_iface);
46 }
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
Definition: Messaging.c:560

Referenced by PropertyPageSite_AddRef(), PropertyPageSite_GetLocaleID(), and PropertyPageSite_Release().

◆ OleCreatePropertyFrame()

HRESULT WINAPI OleCreatePropertyFrame ( HWND  hwndOwner,
UINT  x,
UINT  y,
LPCOLESTR  lpszCaption,
ULONG  cObjects,
LPUNKNOWN ppUnk,
ULONG  cPages,
LPCLSID  pPageClsID,
LCID  lcid,
DWORD  dwReserved,
LPVOID  pvReserved 
)

Definition at line 324 of file olepropframe.c.

328 {
329  OCPFIPARAMS ocpf;
330 
331  ocpf.cbStructSize = sizeof(OCPFIPARAMS);
332  ocpf.hWndOwner = hwndOwner;
333  ocpf.x = x;
334  ocpf.y = y;
335  ocpf.lpszCaption = lpszCaption;
336  ocpf.cObjects = cObjects;
337  ocpf.lplpUnk = ppUnk;
338  ocpf.cPages = cPages;
339  ocpf.lpPages = pPageClsID;
340  ocpf.lcid = lcid;
341  ocpf.dispidInitialProperty = 0;
342 
343  return OleCreatePropertyFrameIndirect(&ocpf);
344 }
CLSID * lpPages
Definition: olectl.h:110
struct tagOCPFIPARAMS OCPFIPARAMS
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
ULONG cObjects
Definition: olectl.h:107
HRESULT WINAPI OleCreatePropertyFrameIndirect(LPOCPFIPARAMS lpParams)
Definition: olepropframe.c:155
DISPID dispidInitialProperty
Definition: olectl.h:112
LPCOLESTR lpszCaption
Definition: olectl.h:106
LPUNKNOWN * lplpUnk
Definition: olectl.h:108
HWND hWndOwner
Definition: olectl.h:103
GLint GLint GLint GLint GLint GLint y
Definition: gl.h:1548
ULONG cbStructSize
Definition: olectl.h:102
ULONG cPages
Definition: olectl.h:109

◆ OleCreatePropertyFrameIndirect()

HRESULT WINAPI OleCreatePropertyFrameIndirect ( LPOCPFIPARAMS  lpParams)

Definition at line 155 of file olepropframe.c.

156 {
157  static const WCHAR comctlW[] = { 'c','o','m','c','t','l','3','2','.','d','l','l',0 };
158 
159  PROPSHEETHEADERW property_sheet;
160  PROPSHEETPAGEW property_sheet_page;
161  struct {
162  DLGTEMPLATE template;
163  WORD menu;
164  WORD class;
165  WORD title;
166  } *dialogs;
167  IPropertyPage **property_page;
168  PropertyPageSite *property_page_site;
169  HRESULT res;
170  ULONG i;
171  HMODULE hcomctl;
172  HRSRC property_sheet_dialog_find = NULL;
173  HGLOBAL property_sheet_dialog_load = NULL;
174  WCHAR *property_sheet_dialog_data = NULL;
175  HDC hdc;
176  LOGFONTW font_desc;
177  HFONT hfont;
178  LONG font_width = 4, font_height = 8;
179 
180  if(!lpParams)
181  return E_POINTER;
182 
183  TRACE("(%d %p %d %d %s %d %p %d %p %d %d)\n", lpParams->cbStructSize,
184  lpParams->hWndOwner, lpParams->x, lpParams->y,
185  debugstr_w(lpParams->lpszCaption), lpParams->cObjects,
186  lpParams->lplpUnk, lpParams->cPages, lpParams->lpPages,
187  lpParams->lcid, lpParams->dispidInitialProperty);
188 
189  if(!lpParams->lpPages)
190  return E_POINTER;
191 
192  if(lpParams->cbStructSize != sizeof(OCPFIPARAMS)) {
193  WARN("incorrect structure size\n");
194  return E_INVALIDARG;
195  }
196 
197  if(lpParams->dispidInitialProperty)
198  FIXME("dispidInitialProperty not yet implemented\n");
199 
200  hdc = GetDC(NULL);
201  hcomctl = LoadLibraryW(comctlW);
202  if(hcomctl)
203  property_sheet_dialog_find = FindResourceW(hcomctl,
204  MAKEINTRESOURCEW(1006 /*IDD_PROPSHEET*/), (LPWSTR)RT_DIALOG);
205  if(property_sheet_dialog_find)
206  property_sheet_dialog_load = LoadResource(hcomctl, property_sheet_dialog_find);
207  if(property_sheet_dialog_load)
208  property_sheet_dialog_data = LockResource(property_sheet_dialog_load);
209 
210  if(property_sheet_dialog_data) {
211  if(property_sheet_dialog_data[1] == 0xffff) {
212  ERR("Expected DLGTEMPLATE structure\n");
213  FreeLibrary(hcomctl);
214  return E_OUTOFMEMORY;
215  }
216 
217  property_sheet_dialog_data += sizeof(DLGTEMPLATE)/sizeof(WCHAR);
218  /* Skip menu, class and title */
219  property_sheet_dialog_data += lstrlenW(property_sheet_dialog_data)+1;
220  property_sheet_dialog_data += lstrlenW(property_sheet_dialog_data)+1;
221  property_sheet_dialog_data += lstrlenW(property_sheet_dialog_data)+1;
222 
223  memset(&font_desc, 0, sizeof(LOGFONTW));
224  /* Calculate logical height */
225  font_desc.lfHeight = -MulDiv(property_sheet_dialog_data[0],
227  font_desc.lfCharSet = DEFAULT_CHARSET;
228  memcpy(font_desc.lfFaceName, property_sheet_dialog_data+1,
229  sizeof(WCHAR)*(lstrlenW(property_sheet_dialog_data+1)+1));
230  hfont = CreateFontIndirectW(&font_desc);
231 
232  if(hfont) {
234  font_width = GdiGetCharDimensions(hdc, NULL, &font_height);
236  }
237  }
238  if(hcomctl)
239  FreeLibrary(hcomctl);
240  ReleaseDC(NULL, hdc);
241 
242  memset(&property_sheet, 0, sizeof(property_sheet));
243  property_sheet.dwSize = sizeof(property_sheet);
244  if(lpParams->lpszCaption) {
245  property_sheet.dwFlags = PSH_PROPTITLE;
246  property_sheet.pszCaption = lpParams->lpszCaption;
247  }
248 
249  property_sheet.u3.phpage = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY,
250  lpParams->cPages*sizeof(HPROPSHEETPAGE));
251  property_page = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY,
252  lpParams->cPages*sizeof(IPropertyPage*));
254  lpParams->cPages*sizeof(*dialogs));
255  if(!property_sheet.u3.phpage || !property_page || !dialogs) {
256  HeapFree(GetProcessHeap(), 0, property_sheet.u3.phpage);
257  HeapFree(GetProcessHeap(), 0, property_page);
258  HeapFree(GetProcessHeap(), 0, dialogs);
259  return E_OUTOFMEMORY;
260  }
261 
262  memset(&property_sheet_page, 0, sizeof(PROPSHEETPAGEW));
263  property_sheet_page.dwSize = sizeof(PROPSHEETPAGEW);
264  property_sheet_page.dwFlags = PSP_DLGINDIRECT|PSP_USETITLE;
265  property_sheet_page.pfnDlgProc = property_sheet_proc;
266 
267  for(i=0; i<lpParams->cPages; i++) {
268  PROPPAGEINFO page_info;
269 
270  res = CoCreateInstance(&lpParams->lpPages[i], NULL, CLSCTX_INPROC_SERVER,
271  &IID_IPropertyPage, (void**)&property_page[i]);
272  if(FAILED(res))
273  continue;
274 
275  property_page_site = HeapAlloc(GetProcessHeap(), 0, sizeof(PropertyPageSite));
276  if(!property_page_site)
277  continue;
278  property_page_site->IPropertyPageSite_iface.lpVtbl = &PropertyPageSiteVtbl;
279  property_page_site->ref = 1;
280  property_page_site->lcid = lpParams->lcid;
281 
282  res = IPropertyPage_SetPageSite(property_page[i],
283  &property_page_site->IPropertyPageSite_iface);
284  IPropertyPageSite_Release(&property_page_site->IPropertyPageSite_iface);
285  if(FAILED(res))
286  continue;
287 
288  res = IPropertyPage_SetObjects(property_page[i],
289  lpParams->cObjects, lpParams->lplpUnk);
290  if(FAILED(res))
291  WARN("SetObjects() failed, hr %#x.\n", res);
292 
293  res = IPropertyPage_GetPageInfo(property_page[i], &page_info);
294  if(FAILED(res))
295  continue;
296 
297  dialogs[i].template.cx = MulDiv(page_info.size.cx, 4, font_width);
298  dialogs[i].template.cy = MulDiv(page_info.size.cy, 8, font_height);
299 
300  property_sheet_page.u.pResource = &dialogs[i].template;
301  property_sheet_page.lParam = (LPARAM)property_page[i];
302  property_sheet_page.pszTitle = page_info.pszTitle;
303 
304  property_sheet.u3.phpage[property_sheet.nPages++] =
305  CreatePropertySheetPageW(&property_sheet_page);
306  }
307 
308  PropertySheetW(&property_sheet);
309 
310  for(i=0; i<lpParams->cPages; i++) {
311  if(property_page[i])
312  IPropertyPage_Release(property_page[i]);
313  }
314 
315  HeapFree(GetProcessHeap(), 0, dialogs);
316  HeapFree(GetProcessHeap(), 0, property_page);
317  HeapFree(GetProcessHeap(), 0, property_sheet.u3.phpage);
318  return S_OK;
319 }
CLSID * lpPages
Definition: olectl.h:110
HDC WINAPI GetDC(_In_opt_ HWND)
#define WARN(fmt,...)
Definition: debug.h:111
LONG lfHeight
Definition: dimm.idl:59
BYTE lfCharSet
Definition: dimm.idl:67
LPCDLGTEMPLATE pResource
Definition: prsht.h:210
static HDC
Definition: imagelist.c:92
HGDIOBJ WINAPI SelectObject(_In_ HDC, _In_ HGDIOBJ)
Definition: dc.c:1497
LPVOID WINAPI LockResource(HGLOBAL handle)
Definition: res.c:550
#define DEFAULT_CHARSET
Definition: wingdi.h:383
#define lstrlenW
Definition: compat.h:407
HRSRC WINAPI FindResourceW(HINSTANCE hModule, LPCWSTR name, LPCWSTR type)
Definition: res.c:176
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
DWORD dwSize
Definition: prsht.h:205
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
LPCWSTR pszCaption
Definition: prsht.h:283
DLGPROC pfnDlgProc
Definition: prsht.h:217
long LONG
Definition: pedump.c:60
struct _PSP * HPROPSHEETPAGE
Definition: mstask.idl:90
#define debugstr_w
Definition: kernel32.h:32
int WINAPI ReleaseDC(_In_opt_ HWND, _In_ HDC)
#define FIXME(fmt,...)
Definition: debug.h:110
ULONG cObjects
Definition: olectl.h:107
HGLOBAL WINAPI LoadResource(HINSTANCE hModule, HRSRC hRsrc)
Definition: res.c:532
#define E_INVALIDARG
Definition: ddrawi.h:101
struct _PROPSHEETPAGEW PROPSHEETPAGEW
#define LoadLibraryW(x)
Definition: compat.h:404
smooth NULL
Definition: ftsmooth.c:416
HFONT WINAPI CreateFontIndirectW(_In_ const LOGFONTW *)
LONG_PTR LPARAM
Definition: windef.h:208
INT_PTR WINAPI PropertySheetW(LPCPROPSHEETHEADERW lppsh)
Definition: propsheet.c:2905
LPCWSTR pszTitle
Definition: prsht.h:216
static HFONT hfont
#define RT_DIALOG
Definition: pedump.c:367
HPROPSHEETPAGE WINAPI CreatePropertySheetPageW(LPCPROPSHEETPAGEW lpPropSheetPage)
Definition: propsheet.c:3075
const GUID IID_IPropertyPage
static INT_PTR CALLBACK property_sheet_proc(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam)
Definition: olepropframe.c:48
#define TRACE(s)
Definition: solgame.cpp:4
#define FreeLibrary(x)
Definition: compat.h:405
#define GetProcessHeap()
Definition: compat.h:395
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
__wchar_t WCHAR
Definition: xmlstorage.h:180
#define PSH_PROPTITLE
Definition: prsht.h:40
LONG HRESULT
Definition: typedefs.h:77
DISPID dispidInitialProperty
Definition: olectl.h:112
unsigned short WORD
Definition: ntddk_ex.h:93
DWORD dwSize
Definition: prsht.h:275
DWORD dwFlags
Definition: prsht.h:276
HDC hdc
Definition: main.c:9
LPARAM lParam
Definition: prsht.h:218
static IPropertyPageSiteVtbl PropertyPageSiteVtbl
Definition: olepropframe.c:142
int WINAPI GetDeviceCaps(_In_opt_ HDC, _In_ int)
#define memcpy(s1, s2, n)
Definition: mkisofs.h:878
static int font_height(HFONT hFont)
Definition: combo.c:612
LPCOLESTR lpszCaption
Definition: olectl.h:106
#define PSP_USETITLE
Definition: prsht.h:26
HPROPSHEETPAGE * phpage
Definition: prsht.h:291
HRESULT WINAPI DECLSPEC_HOTPATCH CoCreateInstance(REFCLSID rclsid, LPUNKNOWN pUnkOuter, DWORD dwClsContext, REFIID iid, LPVOID *ppv)
Definition: compobj.c:3234
#define ERR(fmt,...)
Definition: debug.h:109
LPUNKNOWN * lplpUnk
Definition: olectl.h:108
#define S_OK
Definition: intsafe.h:59
LONG WINAPI GdiGetCharDimensions(HDC, LPTEXTMETRICW, LONG *)
Definition: font.c:2145
HWND hWndOwner
Definition: olectl.h:103
#define HEAP_ZERO_MEMORY
Definition: compat.h:123
IPropertyPageSite IPropertyPageSite_iface
Definition: olepropframe.c:38
static DWORD *static HFONT(WINAPI *pCreateFontIndirectExA)(const ENUMLOGFONTEXDVA *)
GLuint res
Definition: glext.h:9613
WCHAR lfFaceName[LF_FACESIZE]
Definition: dimm.idl:72
unsigned int ULONG
Definition: retypes.h:1
#define LOGPIXELSY
Definition: wingdi.h:718
#define MAKEINTRESOURCEW(i)
Definition: winuser.h:582
WCHAR * LPWSTR
Definition: xmlstorage.h:184
ULONG cbStructSize
Definition: olectl.h:102
#define E_POINTER
Definition: winerror.h:2365
ULONG cPages
Definition: olectl.h:109
#define memset(x, y, z)
Definition: compat.h:39
static char title[]
Definition: ps.c:92
DWORD dwFlags
Definition: prsht.h:206
#define HeapFree(x, y, z)
Definition: compat.h:394
#define MulDiv(x, y, z)
Definition: gdifloat.h:86
#define PSP_DLGINDIRECT
Definition: prsht.h:23

Referenced by OleCreatePropertyFrame().

◆ property_sheet_proc()

static INT_PTR CALLBACK property_sheet_proc ( HWND  hwnd,
UINT  msg,
WPARAM  wparam,
LPARAM  lparam 
)
static

Definition at line 48 of file olepropframe.c.

49 {
51 
52  switch(msg) {
53  case WM_INITDIALOG: {
54  RECT rect;
55 
56  property_page = (IPropertyPage*)((LPPROPSHEETPAGEW)lparam)->lParam;
57 
59  IPropertyPage_Activate(property_page, hwnd, &rect, TRUE);
60  IPropertyPage_Show(property_page, SW_SHOW);
61 
62  SetWindowLongPtrW(hwnd, DWLP_USER, (LONG_PTR)property_page);
63  return FALSE;
64  }
65  case WM_DESTROY:
66  IPropertyPage_Show(property_page, SW_HIDE);
67  IPropertyPage_Deactivate(property_page);
68  return FALSE;
69  default:
70  return FALSE;
71  }
72 }
const DOCKBAR PVOID HWND HWND * hwnd
Definition: tooldock.h:22
#define TRUE
Definition: types.h:120
#define SW_HIDE
Definition: winuser.h:762
#define GetWindowLongPtrW
Definition: winuser.h:4730
& rect
Definition: startmenu.cpp:1413
static UINT WPARAM LPARAM lparam
Definition: combo.c:716
#define SW_SHOW
Definition: winuser.h:769
#define WM_DESTROY
Definition: winuser.h:1591
#define DWLP_USER
Definition: winuser.h:866
BOOL WINAPI GetClientRect(_In_ HWND, _Out_ LPRECT)
__int3264 LONG_PTR
Definition: mstsclib_h.h:276
#define msg(x)
Definition: auth_time.c:54
#define SetWindowLongPtrW
Definition: winuser.h:5247
#define WM_INITDIALOG
Definition: winuser.h:1721
LPARAM lParam
Definition: combotst.c:139

Referenced by OleCreatePropertyFrameIndirect().

◆ PropertyPageSite_AddRef()

static ULONG WINAPI PropertyPageSite_AddRef ( IPropertyPageSite iface)
static

Definition at line 91 of file olepropframe.c.

92 {
94  LONG ref = InterlockedIncrement(&this->ref);
95 
96  TRACE("(%p) ref=%d\n", this, ref);
97  return ref;
98 }
Definition: send.c:47
long LONG
Definition: pedump.c:60
GLenum GLint ref
Definition: glext.h:6028
#define TRACE(s)
Definition: solgame.cpp:4
static PropertyPageSite * impl_from_IPropertyPageSite(IPropertyPageSite *iface)
Definition: olepropframe.c:43
#define InterlockedIncrement
Definition: armddk.h:53

◆ PropertyPageSite_GetLocaleID()

static HRESULT WINAPI PropertyPageSite_GetLocaleID ( IPropertyPageSite iface,
LCID pLocaleID 
)
static

Definition at line 118 of file olepropframe.c.

120 {
122 
123  TRACE("(%p, %p)\n", iface, pLocaleID);
124  *pLocaleID = this->lcid;
125  return S_OK;
126 }
#define TRACE(s)
Definition: solgame.cpp:4
static PropertyPageSite * impl_from_IPropertyPageSite(IPropertyPageSite *iface)
Definition: olepropframe.c:43
#define S_OK
Definition: intsafe.h:59

◆ PropertyPageSite_GetPageContainer()

static HRESULT WINAPI PropertyPageSite_GetPageContainer ( IPropertyPageSite iface,
IUnknown **  ppUnk 
)
static

Definition at line 128 of file olepropframe.c.

130 {
131  FIXME("(%p, %p)\n", iface, ppUnk);
132  return E_NOTIMPL;
133 }
#define FIXME(fmt,...)
Definition: debug.h:110
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ PropertyPageSite_OnStatusChange()

static HRESULT WINAPI PropertyPageSite_OnStatusChange ( IPropertyPageSite iface,
DWORD  dwFlags 
)
static

Definition at line 111 of file olepropframe.c.

113 {
114  TRACE("(%p, %x)\n", iface, dwFlags);
115  return S_OK;
116 }
#define TRACE(s)
Definition: solgame.cpp:4
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
Definition: wincrypt.h:1175
#define S_OK
Definition: intsafe.h:59

◆ PropertyPageSite_QueryInterface()

static HRESULT WINAPI PropertyPageSite_QueryInterface ( IPropertyPageSite iface,
REFIID  riid,
void **  ppv 
)
static

Definition at line 74 of file olepropframe.c.

76 {
77  TRACE("(%p riid: %s)\n",iface, debugstr_guid(riid));
78 
81  *ppv = iface;
82  else {
83  *ppv = NULL;
84  return E_NOINTERFACE;
85  }
86 
87  IUnknown_AddRef((IUnknown*)*ppv);
88  return S_OK;
89 }
#define E_NOINTERFACE
Definition: winerror.h:2364
REFIID riid
Definition: precomp.h:44
REFIID LPVOID * ppv
Definition: atlbase.h:39
smooth NULL
Definition: ftsmooth.c:416
#define debugstr_guid
Definition: kernel32.h:35
#define TRACE(s)
Definition: solgame.cpp:4
const GUID IID_IUnknown
#define S_OK
Definition: intsafe.h:59
const GUID IID_IPropertyPageSite
BOOL WINAPI IsEqualGUID(REFGUID rguid1, REFGUID rguid2)
Definition: compobj.c:4021

◆ PropertyPageSite_Release()

static ULONG WINAPI PropertyPageSite_Release ( IPropertyPageSite iface)
static

Definition at line 100 of file olepropframe.c.

101 {
103  LONG ref = InterlockedDecrement(&this->ref);
104 
105  TRACE("(%p) ref=%d\n", this, ref);
106  if(!ref)
107  HeapFree(GetProcessHeap(), 0, this);
108  return ref;
109 }
Definition: send.c:47
long LONG
Definition: pedump.c:60
GLenum GLint ref
Definition: glext.h:6028
#define TRACE(s)
Definition: solgame.cpp:4
#define GetProcessHeap()
Definition: compat.h:395
#define InterlockedDecrement
Definition: armddk.h:52
static PropertyPageSite * impl_from_IPropertyPageSite(IPropertyPageSite *iface)
Definition: olepropframe.c:43
#define HeapFree(x, y, z)
Definition: compat.h:394

◆ PropertyPageSite_TranslateAccelerator()

static HRESULT WINAPI PropertyPageSite_TranslateAccelerator ( IPropertyPageSite iface,
MSG pMsg 
)
static

Definition at line 135 of file olepropframe.c.

137 {
138  FIXME("(%p, %p)\n", iface, pMsg);
139  return E_NOTIMPL;
140 }
#define FIXME(fmt,...)
Definition: debug.h:110
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ WINE_DEFAULT_DEBUG_CHANNEL()

WINE_DEFAULT_DEBUG_CHANNEL ( ole  )

Variable Documentation

◆ PropertyPageSiteVtbl

IPropertyPageSiteVtbl PropertyPageSiteVtbl
static
Initial value:
= {
}
static HRESULT WINAPI PropertyPageSite_GetPageContainer(IPropertyPageSite *iface, IUnknown **ppUnk)
Definition: olepropframe.c:128
static HRESULT WINAPI PropertyPageSite_GetLocaleID(IPropertyPageSite *iface, LCID *pLocaleID)
Definition: olepropframe.c:118
static HRESULT WINAPI PropertyPageSite_OnStatusChange(IPropertyPageSite *iface, DWORD dwFlags)
Definition: olepropframe.c:111
static ULONG WINAPI PropertyPageSite_AddRef(IPropertyPageSite *iface)
Definition: olepropframe.c:91
static HRESULT WINAPI PropertyPageSite_QueryInterface(IPropertyPageSite *iface, REFIID riid, void **ppv)
Definition: olepropframe.c:74
static HRESULT WINAPI PropertyPageSite_TranslateAccelerator(IPropertyPageSite *iface, MSG *pMsg)
Definition: olepropframe.c:135
static ULONG WINAPI PropertyPageSite_Release(IPropertyPageSite *iface)
Definition: olepropframe.c:100

Definition at line 142 of file olepropframe.c.

Referenced by OleCreatePropertyFrameIndirect().