ReactOS 0.4.17-dev-540-g8f54750
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
 

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.

Function Documentation

◆ impl_from_IPropertyPageSite()

static PropertyPageSite * impl_from_IPropertyPageSite ( IPropertyPageSite iface)
inlinestatic

Definition at line 41 of file olepropframe.c.

42{
43 return CONTAINING_RECORD(iface, PropertyPageSite, IPropertyPageSite_iface);
44}
#define CONTAINING_RECORD(address, type, field)
Definition: typedefs.h:260

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 320 of file olepropframe.c.

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

◆ OleCreatePropertyFrameIndirect()

HRESULT WINAPI OleCreatePropertyFrameIndirect ( LPOCPFIPARAMS  lpParams)

Definition at line 153 of file olepropframe.c.

154{
155 PROPSHEETHEADERW property_sheet;
156 PROPSHEETPAGEW property_sheet_page;
157 struct {
158 DLGTEMPLATE template;
159 WORD menu;
160 WORD class;
161 WORD title;
162 } *dialogs;
163 IPropertyPage **property_page;
164 PropertyPageSite *property_page_site;
165 HRESULT res;
166 ULONG i;
167 HMODULE hcomctl;
168 HRSRC property_sheet_dialog_find = NULL;
169 HGLOBAL property_sheet_dialog_load = NULL;
170 WCHAR *property_sheet_dialog_data = NULL;
171 HDC hdc;
172 LOGFONTW font_desc;
173 HFONT hfont;
174 LONG font_width = 4, font_height = 8;
175
176 if(!lpParams)
177 return E_POINTER;
178
179 TRACE("%ld, %p, %d, %d, %s, %ld, %p, %ld, %p, %ld, %ld.\n", lpParams->cbStructSize,
180 lpParams->hWndOwner, lpParams->x, lpParams->y,
181 debugstr_w(lpParams->lpszCaption), lpParams->cObjects,
182 lpParams->lplpUnk, lpParams->cPages, lpParams->lpPages,
183 lpParams->lcid, lpParams->dispidInitialProperty);
184
185 if(!lpParams->lpPages)
186 return E_POINTER;
187
188 if(lpParams->cbStructSize != sizeof(OCPFIPARAMS)) {
189 WARN("incorrect structure size\n");
190 return E_INVALIDARG;
191 }
192
193 if(lpParams->dispidInitialProperty)
194 FIXME("dispidInitialProperty not yet implemented\n");
195
196 hdc = GetDC(NULL);
197 hcomctl = LoadLibraryW(L"comctl32.dll");
198 if(hcomctl)
199 property_sheet_dialog_find = FindResourceW(hcomctl,
200 MAKEINTRESOURCEW(1006 /*IDD_PROPSHEET*/), (LPWSTR)RT_DIALOG);
201 if(property_sheet_dialog_find)
202 property_sheet_dialog_load = LoadResource(hcomctl, property_sheet_dialog_find);
203 if(property_sheet_dialog_load)
204 property_sheet_dialog_data = LockResource(property_sheet_dialog_load);
205
206 if(property_sheet_dialog_data) {
207 if(property_sheet_dialog_data[1] == 0xffff) {
208 ERR("Expected DLGTEMPLATE structure\n");
209 FreeLibrary(hcomctl);
210 return E_OUTOFMEMORY;
211 }
212
213 property_sheet_dialog_data += sizeof(DLGTEMPLATE)/sizeof(WCHAR);
214 /* Skip menu, class and title */
215 property_sheet_dialog_data += lstrlenW(property_sheet_dialog_data)+1;
216 property_sheet_dialog_data += lstrlenW(property_sheet_dialog_data)+1;
217 property_sheet_dialog_data += lstrlenW(property_sheet_dialog_data)+1;
218
219 memset(&font_desc, 0, sizeof(LOGFONTW));
220 /* Calculate logical height */
221 font_desc.lfHeight = -MulDiv(property_sheet_dialog_data[0],
223 font_desc.lfCharSet = DEFAULT_CHARSET;
224 memcpy(font_desc.lfFaceName, property_sheet_dialog_data+1,
225 sizeof(WCHAR)*(lstrlenW(property_sheet_dialog_data+1)+1));
226 hfont = CreateFontIndirectW(&font_desc);
227
228 if(hfont) {
230 font_width = GdiGetCharDimensions(hdc, NULL, &font_height);
232 }
233 }
234 if(hcomctl)
235 FreeLibrary(hcomctl);
237
238 memset(&property_sheet, 0, sizeof(property_sheet));
239 property_sheet.dwSize = sizeof(property_sheet);
240 if(lpParams->lpszCaption) {
241 property_sheet.dwFlags = PSH_PROPTITLE;
242 property_sheet.pszCaption = lpParams->lpszCaption;
243 }
244
246 lpParams->cPages*sizeof(HPROPSHEETPAGE));
247 property_page = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY,
248 lpParams->cPages*sizeof(IPropertyPage*));
250 lpParams->cPages*sizeof(*dialogs));
251 if(!property_sheet.phpage || !property_page || !dialogs) {
252 HeapFree(GetProcessHeap(), 0, property_sheet.phpage);
253 HeapFree(GetProcessHeap(), 0, property_page);
254 HeapFree(GetProcessHeap(), 0, dialogs);
255 return E_OUTOFMEMORY;
256 }
257
258 memset(&property_sheet_page, 0, sizeof(PROPSHEETPAGEW));
259 property_sheet_page.dwSize = sizeof(PROPSHEETPAGEW);
260 property_sheet_page.dwFlags = PSP_DLGINDIRECT|PSP_USETITLE;
261 property_sheet_page.pfnDlgProc = property_sheet_proc;
262
263 for(i=0; i<lpParams->cPages; i++) {
264 PROPPAGEINFO page_info;
265
266 res = CoCreateInstance(&lpParams->lpPages[i], NULL, CLSCTX_INPROC_SERVER,
267 &IID_IPropertyPage, (void**)&property_page[i]);
268 if(FAILED(res))
269 continue;
270
271 property_page_site = HeapAlloc(GetProcessHeap(), 0, sizeof(PropertyPageSite));
272 if(!property_page_site)
273 continue;
274 property_page_site->IPropertyPageSite_iface.lpVtbl = &PropertyPageSiteVtbl;
275 property_page_site->ref = 1;
276 property_page_site->lcid = lpParams->lcid;
277
278 res = IPropertyPage_SetPageSite(property_page[i],
279 &property_page_site->IPropertyPageSite_iface);
280 IPropertyPageSite_Release(&property_page_site->IPropertyPageSite_iface);
281 if(FAILED(res))
282 continue;
283
284 res = IPropertyPage_SetObjects(property_page[i],
285 lpParams->cObjects, lpParams->lplpUnk);
286 if(FAILED(res))
287 WARN("SetObjects() failed, hr %#lx.\n", res);
288
289 res = IPropertyPage_GetPageInfo(property_page[i], &page_info);
290 if(FAILED(res))
291 continue;
292
293 dialogs[i].template.cx = MulDiv(page_info.size.cx, 4, font_width);
294 dialogs[i].template.cy = MulDiv(page_info.size.cy, 8, font_height);
295
296 property_sheet_page.pResource = &dialogs[i].template;
297 property_sheet_page.lParam = (LPARAM)property_page[i];
298 property_sheet_page.pszTitle = page_info.pszTitle;
299
300 property_sheet.phpage[property_sheet.nPages++] =
301 CreatePropertySheetPageW(&property_sheet_page);
302 }
303
304 PropertySheetW(&property_sheet);
305
306 for(i=0; i<lpParams->cPages; i++) {
307 if(property_page[i])
308 IPropertyPage_Release(property_page[i]);
309 }
310
311 HeapFree(GetProcessHeap(), 0, dialogs);
312 HeapFree(GetProcessHeap(), 0, property_page);
313 HeapFree(GetProcessHeap(), 0, property_sheet.phpage);
314 return S_OK;
315}
static HFONT hfont
#define FIXME(fmt,...)
Definition: precomp.h:53
#define WARN(fmt,...)
Definition: precomp.h:61
#define ERR(fmt,...)
Definition: precomp.h:57
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
#define E_INVALIDARG
Definition: ddrawi.h:101
#define NULL
Definition: types.h:112
HRESULT WINAPI DECLSPEC_HOTPATCH CoCreateInstance(REFCLSID rclsid, IUnknown *outer, DWORD cls_context, REFIID riid, void **obj)
Definition: combase.c:1685
HPROPSHEETPAGE WINAPI CreatePropertySheetPageW(LPCPROPSHEETPAGEW lpPropSheetPage)
Definition: propsheet.c:3120
INT_PTR WINAPI PropertySheetW(LPCPROPSHEETHEADERW lppsh)
Definition: propsheet.c:2950
#define GetProcessHeap()
Definition: compat.h:736
#define HeapAlloc
Definition: compat.h:733
#define FreeLibrary(x)
Definition: compat.h:748
#define HeapFree(x, y, z)
Definition: compat.h:735
#define LoadLibraryW(x)
Definition: compat.h:747
#define HEAP_ZERO_MEMORY
Definition: compat.h:134
#define lstrlenW
Definition: compat.h:750
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
#define L(x)
Definition: resources.c:13
unsigned short WORD
Definition: ntddk_ex.h:93
GLuint res
Definition: glext.h:9613
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
#define S_OK
Definition: intsafe.h:52
#define FAILED(hr)
Definition: intsafe.h:51
#define debugstr_w
Definition: kernel32.h:32
LONG_PTR LPARAM
Definition: minwindef.h:175
#define memcpy(s1, s2, n)
Definition: mkisofs.h:878
HDC hdc
Definition: main.c:9
static HDC
Definition: imagelist.c:88
#define menu
Definition: input.c:3282
struct _PSP * HPROPSHEETPAGE
Definition: mstask.idl:90
INT WINAPI MulDiv(INT nNumber, INT nNumerator, INT nDenominator)
Definition: muldiv.c:25
const GUID IID_IPropertyPage
static INT_PTR CALLBACK property_sheet_proc(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam)
Definition: olepropframe.c:46
static IPropertyPageSiteVtbl PropertyPageSiteVtbl
Definition: olepropframe.c:140
short WCHAR
Definition: pedump.c:58
#define RT_DIALOG
Definition: pedump.c:367
long LONG
Definition: pedump.c:60
#define PSH_PROPTITLE
Definition: prsht.h:40
#define PSP_USETITLE
Definition: prsht.h:26
struct _PROPSHEETPAGEW PROPSHEETPAGEW
#define PSP_DLGINDIRECT
Definition: prsht.h:23
static char title[]
Definition: ps.c:92
#define memset(x, y, z)
Definition: compat.h:39
#define TRACE(s)
Definition: solgame.cpp:4
LONG lfHeight
Definition: dimm.idl:59
WCHAR lfFaceName[LF_FACESIZE]
Definition: dimm.idl:72
BYTE lfCharSet
Definition: dimm.idl:67
IPropertyPageSite IPropertyPageSite_iface
Definition: olepropframe.c:36
DWORD dwSize
Definition: prsht.h:293
DWORD dwFlags
Definition: prsht.h:294
HPROPSHEETPAGE * phpage
Definition: prsht.h:309
LPCWSTR pszCaption
Definition: prsht.h:301
DLGPROC pfnDlgProc
Definition: prsht.h:226
DWORD dwSize
Definition: prsht.h:214
DWORD dwFlags
Definition: prsht.h:215
LPARAM lParam
Definition: prsht.h:227
LPCDLGTEMPLATE pResource
Definition: prsht.h:219
LPCWSTR pszTitle
Definition: prsht.h:225
uint16_t * LPWSTR
Definition: typedefs.h:56
uint32_t ULONG
Definition: typedefs.h:59
#define E_POINTER
Definition: winerror.h:3480
int WINAPI GetDeviceCaps(_In_opt_ HDC, _In_ int)
LONG WINAPI GdiGetCharDimensions(HDC, LPTEXTMETRICW, LONG *)
Definition: font.c:2341
#define LOGPIXELSY
Definition: wingdi.h:719
HGDIOBJ WINAPI SelectObject(_In_ HDC, _In_ HGDIOBJ)
Definition: dc.c:1546
#define DEFAULT_CHARSET
Definition: wingdi.h:384
HFONT WINAPI CreateFontIndirectW(_In_ const LOGFONTW *)
int WINAPI ReleaseDC(_In_opt_ HWND, _In_ HDC)
HDC WINAPI GetDC(_In_opt_ HWND)
#define MAKEINTRESOURCEW(i)
Definition: winuser.h:582

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 46 of file olepropframe.c.

47{
49
50 switch(msg) {
51 case WM_INITDIALOG: {
52 RECT rect;
53
54 property_page = (IPropertyPage*)((LPPROPSHEETPAGEW)lparam)->lParam;
55
57 IPropertyPage_Activate(property_page, hwnd, &rect, TRUE);
58 IPropertyPage_Show(property_page, SW_SHOW);
59
60 SetWindowLongPtrW(hwnd, DWLP_USER, (LONG_PTR)property_page);
61 return FALSE;
62 }
63 case WM_DESTROY:
64 IPropertyPage_Show(property_page, SW_HIDE);
65 IPropertyPage_Deactivate(property_page);
66 return FALSE;
67 default:
68 return FALSE;
69 }
70}
@ lparam
Definition: SystemMenu.c:31
#define msg(x)
Definition: auth_time.c:54
RECT rect
Definition: combotst.c:67
LPARAM lParam
Definition: combotst.c:139
#define TRUE
Definition: types.h:120
#define FALSE
Definition: types.h:117
__int3264 LONG_PTR
Definition: mstsclib_h.h:276
_In_ LONG _In_ HWND hwnd
Definition: winddi.h:4023
#define SW_HIDE
Definition: winuser.h:779
#define DWLP_USER
Definition: winuser.h:883
#define GetWindowLongPtrW
Definition: winuser.h:4983
#define WM_INITDIALOG
Definition: winuser.h:1767
BOOL WINAPI GetClientRect(_In_ HWND, _Out_ LPRECT)
#define SW_SHOW
Definition: winuser.h:786
#define WM_DESTROY
Definition: winuser.h:1637
#define SetWindowLongPtrW
Definition: winuser.h:5512

Referenced by OleCreatePropertyFrameIndirect().

◆ PropertyPageSite_AddRef()

static ULONG WINAPI PropertyPageSite_AddRef ( IPropertyPageSite iface)
static

Definition at line 89 of file olepropframe.c.

90{
92 LONG ref = InterlockedIncrement(&this->ref);
93
94 TRACE("%p, refcount %ld.\n", iface, ref);
95 return ref;
96}
#define InterlockedIncrement
Definition: armddk.h:53
static PropertyPageSite * impl_from_IPropertyPageSite(IPropertyPageSite *iface)
Definition: olepropframe.c:41
Definition: send.c:48

◆ PropertyPageSite_GetLocaleID()

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

Definition at line 116 of file olepropframe.c.

118{
120
121 TRACE("(%p, %p)\n", iface, pLocaleID);
122 *pLocaleID = this->lcid;
123 return S_OK;
124}

◆ PropertyPageSite_GetPageContainer()

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

Definition at line 126 of file olepropframe.c.

128{
129 FIXME("(%p, %p)\n", iface, ppUnk);
130 return E_NOTIMPL;
131}
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ PropertyPageSite_OnStatusChange()

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

Definition at line 109 of file olepropframe.c.

111{
112 TRACE("%p, %lx.\n", iface, dwFlags);
113 return S_OK;
114}
_In_ LPWSTR _In_ DWORD _In_ DWORD _In_ DWORD dwFlags
Definition: netsh.h:141

◆ PropertyPageSite_QueryInterface()

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

Definition at line 72 of file olepropframe.c.

74{
75 TRACE("(%p riid: %s)\n",iface, debugstr_guid(riid));
76
79 *ppv = iface;
80 else {
81 *ppv = NULL;
82 return E_NOINTERFACE;
83 }
84
85 IUnknown_AddRef((IUnknown*)*ppv);
86 return S_OK;
87}
const GUID IID_IUnknown
REFIID riid
Definition: atlbase.h:39
REFIID LPVOID * ppv
Definition: atlbase.h:39
#define debugstr_guid
Definition: kernel32.h:35
const GUID IID_IPropertyPageSite
#define IsEqualGUID(rguid1, rguid2)
Definition: guiddef.h:147
#define E_NOINTERFACE
Definition: winerror.h:3479

◆ PropertyPageSite_Release()

static ULONG WINAPI PropertyPageSite_Release ( IPropertyPageSite iface)
static

Definition at line 98 of file olepropframe.c.

99{
101 LONG ref = InterlockedDecrement(&this->ref);
102
103 TRACE("%p, refcount %ld.\n", iface, ref);
104 if(!ref)
105 HeapFree(GetProcessHeap(), 0, this);
106 return ref;
107}
#define InterlockedDecrement
Definition: armddk.h:52

◆ PropertyPageSite_TranslateAccelerator()

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

Definition at line 133 of file olepropframe.c.

135{
136 FIXME("(%p, %p)\n", iface, pMsg);
137 return E_NOTIMPL;
138}

◆ WINE_DEFAULT_DEBUG_CHANNEL()

WINE_DEFAULT_DEBUG_CHANNEL ( ole  )

Variable Documentation

◆ PropertyPageSiteVtbl

IPropertyPageSiteVtbl PropertyPageSiteVtbl
static
Initial value:
= {
}
static HRESULT WINAPI PropertyPageSite_TranslateAccelerator(IPropertyPageSite *iface, MSG *pMsg)
Definition: olepropframe.c:133
static HRESULT WINAPI PropertyPageSite_QueryInterface(IPropertyPageSite *iface, REFIID riid, void **ppv)
Definition: olepropframe.c:72
static HRESULT WINAPI PropertyPageSite_GetPageContainer(IPropertyPageSite *iface, IUnknown **ppUnk)
Definition: olepropframe.c:126
static ULONG WINAPI PropertyPageSite_AddRef(IPropertyPageSite *iface)
Definition: olepropframe.c:89
static HRESULT WINAPI PropertyPageSite_OnStatusChange(IPropertyPageSite *iface, DWORD dwFlags)
Definition: olepropframe.c:109
static ULONG WINAPI PropertyPageSite_Release(IPropertyPageSite *iface)
Definition: olepropframe.c:98
static HRESULT WINAPI PropertyPageSite_GetLocaleID(IPropertyPageSite *iface, LCID *pLocaleID)
Definition: olepropframe.c:116

Definition at line 140 of file olepropframe.c.

Referenced by OleCreatePropertyFrameIndirect().