ReactOS 0.4.15-dev-7681-g776c3a3
deskadp.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  _DESKDISPLAYADAPTER
 

Macros

#define impl_to_interface(impl, iface)   (struct iface *)(&(impl)->lp##iface##Vtbl)
 
#define interface_to_impl(instance, iface)   ((PDESKDISPLAYADAPTER)((ULONG_PTR)instance - FIELD_OFFSET(DESKDISPLAYADAPTER,lp##iface##Vtbl)))
 

Typedefs

typedef struct _DESKDISPLAYADAPTER DESKDISPLAYADAPTER
 
typedef struct _DESKDISPLAYADAPTERPDESKDISPLAYADAPTER
 

Functions

HRESULT IDeskDisplayAdapter_Constructor (REFIID riid, LPVOID *ppv)
 
VOID IDeskDisplayAdapter_InitIface (PDESKDISPLAYADAPTER This)
 
HRESULT STDMETHODCALLTYPE IDeskDisplayAdapter_QueryInterface (PDESKDISPLAYADAPTER This, REFIID iid, PVOID *pvObject)
 
ULONG IDeskDisplayAdapter_AddRef (PDESKDISPLAYADAPTER This)
 
ULONG IDeskDisplayAdapter_Release (PDESKDISPLAYADAPTER This)
 
HRESULT IDeskDisplayAdapter_Initialize (PDESKDISPLAYADAPTER This, LPCITEMIDLIST pidlFolder, IDataObject *pdtobj, HKEY hkeyProgID)
 
HRESULT IDeskDisplayAdapter_AddPages (PDESKDISPLAYADAPTER This, LPFNADDPROPSHEETPAGE pfnAddPage, LPARAM lParam)
 
HRESULT IDeskDisplayAdapter_ReplacePage (PDESKDISPLAYADAPTER This, EXPPS uPageID, LPFNADDPROPSHEETPAGE pfnReplacePage, LPARAM lParam)
 
ULONG __cdecl DbgPrint (PCCH Format,...)
 

Variables

LONG dll_refs
 
static const GUID CLSID_IDeskDisplayAdapter = {0x42071712,0x76d4,0x11d1,{0x8b,0x24,0x00,0xa0,0xc9,0x06,0x8f,0xf3}}
 

Macro Definition Documentation

◆ impl_to_interface

#define impl_to_interface (   impl,
  iface 
)    (struct iface *)(&(impl)->lp##iface##Vtbl)

Definition at line 20 of file deskadp.h.

◆ interface_to_impl

#define interface_to_impl (   instance,
  iface 
)    ((PDESKDISPLAYADAPTER)((ULONG_PTR)instance - FIELD_OFFSET(DESKDISPLAYADAPTER,lp##iface##Vtbl)))

Definition at line 21 of file deskadp.h.

Typedef Documentation

◆ DESKDISPLAYADAPTER

◆ PDESKDISPLAYADAPTER

Function Documentation

◆ DbgPrint()

ULONG __cdecl DbgPrint ( PCCH  Format,
  ... 
)

Definition at line 432 of file debug.c.

433{
434 return 0;
435}

◆ IDeskDisplayAdapter_AddPages()

HRESULT IDeskDisplayAdapter_AddPages ( PDESKDISPLAYADAPTER  This,
LPFNADDPROPSHEETPAGE  pfnAddPage,
LPARAM  lParam 
)

Definition at line 563 of file deskadp.c.

566{
567 HPROPSHEETPAGE hpsp;
568 PROPSHEETPAGE psp;
569
570 DPRINT1("IDeskDisplayAdapter::AddPages(%p,%p)\n", pfnAddPage, lParam);
571
572 psp.dwSize = sizeof(psp);
573 psp.dwFlags = PSP_DEFAULT;
574 psp.hInstance = hInstance;
575 psp.pszTemplate = MAKEINTRESOURCE(IDD_DISPLAYADAPTER);
576 psp.pfnDlgProc = DisplayAdapterDlgProc;
577 psp.lParam = (LPARAM)This;
578
579 hpsp = CreatePropertySheetPage(&psp);
580 if (hpsp != NULL && pfnAddPage(hpsp, lParam))
581 return S_OK;
582
583 return S_FALSE;
584}
#define DPRINT1
Definition: precomp.h:8
LPARAM lParam
Definition: combotst.c:139
static INT_PTR CALLBACK DisplayAdapterDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
Definition: deskadp.c:389
static HINSTANCE hInstance
Definition: deskadp.c:10
#define NULL
Definition: types.h:112
#define IDD_DISPLAYADAPTER
Definition: resource.h:3
#define S_OK
Definition: intsafe.h:52
struct _PSP * HPROPSHEETPAGE
Definition: mstask.idl:90
#define CreatePropertySheetPage
Definition: prsht.h:399
#define PSP_DEFAULT
Definition: prsht.h:22
#define PROPSHEETPAGE
Definition: prsht.h:389
LONG_PTR LPARAM
Definition: windef.h:208
#define S_FALSE
Definition: winerror.h:2357
#define MAKEINTRESOURCE
Definition: winuser.h:591

Referenced by IDeskDisplayAdapter_IShellPropSheetExt_AddPages().

◆ IDeskDisplayAdapter_AddRef()

ULONG IDeskDisplayAdapter_AddRef ( PDESKDISPLAYADAPTER  This)

Definition at line 476 of file deskadp.c.

477{
478 ULONG ret;
479
481 if (ret == 1)
483
484 return ret;
485}
#define InterlockedIncrement
Definition: armddk.h:53
DECLSPEC_HIDDEN LONG dll_refs
Definition: devenum_main.c:28
int32_t * PLONG
Definition: typedefs.h:58
uint32_t ULONG
Definition: typedefs.h:59
int ret

Referenced by IDeskDisplayAdapter_IClassFactory_AddRef(), IDeskDisplayAdapter_InitIface(), IDeskDisplayAdapter_IShellExtInit_AddRef(), IDeskDisplayAdapter_IShellPropSheetExt_AddRef(), and IDeskDisplayAdapter_QueryInterface().

◆ IDeskDisplayAdapter_Constructor()

HRESULT IDeskDisplayAdapter_Constructor ( REFIID  riid,
LPVOID ppv 
)

Definition at line 597 of file deskadp.c.

599{
601 HRESULT hRet = E_OUTOFMEMORY;
602
603 DPRINT1("IDeskDisplayAdapter::Constructor(%p,%p)\n", riid, ppv);
604
606 0,
607 sizeof(*This));
608 if (This != NULL)
609 {
611 sizeof(*This));
612
614
616 riid,
617 ppv);
618 if (!SUCCEEDED(hRet))
620 }
621
622 return hRet;
623}
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
ULONG IDeskDisplayAdapter_Release(PDESKDISPLAYADAPTER This)
Definition: deskadp.c:488
HRESULT STDMETHODCALLTYPE IDeskDisplayAdapter_QueryInterface(PDESKDISPLAYADAPTER This, REFIID iid, PVOID *pvObject)
Definition: deskadp.c:507
VOID IDeskDisplayAdapter_InitIface(PDESKDISPLAYADAPTER This)
Definition: shxiface.c:176
#define GetProcessHeap()
Definition: compat.h:736
#define HeapAlloc
Definition: compat.h:733
REFIID riid
Definition: atlbase.h:39
REFIID LPVOID * ppv
Definition: atlbase.h:39
#define SUCCEEDED(hr)
Definition: intsafe.h:50
#define ZeroMemory
Definition: winbase.h:1712

Referenced by DllGetClassObject(), and IDeskDisplayAdapter_IClassFactory_CreateInstance().

◆ IDeskDisplayAdapter_Initialize()

HRESULT IDeskDisplayAdapter_Initialize ( PDESKDISPLAYADAPTER  This,
LPCITEMIDLIST  pidlFolder,
IDataObject pdtobj,
HKEY  hkeyProgID 
)

Definition at line 541 of file deskadp.c.

545{
546 DPRINT1("IDeskDisplayAdapter::Initialize(%p,%p,%p)\n", pidlFolder, pdtobj, hkeyProgID);
547
548 if (pdtobj != NULL)
549 {
550 IDataObject_AddRef(pdtobj);
551 This->pdtobj = pdtobj;
552
553 /* Get a copy of the desk.cpl extension interface */
554 This->DeskExtInterface = QueryDeskCplExtInterface(This->pdtobj);
555 if (This->DeskExtInterface != NULL)
556 return S_OK;
557 }
558
559 return S_FALSE;
560}
static __inline PDESK_EXT_INTERFACE QueryDeskCplExtInterface(IDataObject *pdo)
Definition: deskcplx.h:48

Referenced by IDeskDisplayAdapter_IShellExtInit_Initialize().

◆ IDeskDisplayAdapter_InitIface()

VOID IDeskDisplayAdapter_InitIface ( PDESKDISPLAYADAPTER  This)

Definition at line 176 of file shxiface.c.

177{
178 This->lpIShellPropSheetExtVtbl = &efvtIShellPropSheetExt;
179 This->lpIShellExtInitVtbl = &efvtIShellExtInit;
180 This->lpIClassFactoryVtbl = &efvtIClassFactory;
181
183}
static IShellExtInitVtbl efvtIShellExtInit
Definition: shxiface.c:104
static IClassFactoryVtbl efvtIClassFactory
Definition: shxiface.c:166
static IShellPropSheetExtVtbl efvtIShellPropSheetExt
Definition: shxiface.c:57
ULONG IDeskDisplayAdapter_AddRef(PDESKDISPLAYADAPTER This)
Definition: deskadp.c:476

Referenced by IDeskDisplayAdapter_Constructor().

◆ IDeskDisplayAdapter_QueryInterface()

HRESULT STDMETHODCALLTYPE IDeskDisplayAdapter_QueryInterface ( PDESKDISPLAYADAPTER  This,
REFIID  iid,
PVOID pvObject 
)

Definition at line 507 of file deskadp.c.

510{
511 *pvObject = NULL;
512
513 if (IsEqualIID(iid,
514 &IID_IShellPropSheetExt) ||
515 IsEqualIID(iid,
516 &IID_IUnknown))
517 {
519 }
520 else if (IsEqualIID(iid,
521 &IID_IShellExtInit))
522 {
524 }
525 else if (IsEqualIID(iid,
527 {
529 }
530 else
531 {
532 DPRINT1("IDeskDisplayAdapter::QueryInterface(%p,%p): E_NOINTERFACE\n", iid, pvObject);
533 return E_NOINTERFACE;
534 }
535
537 return S_OK;
538}
const GUID IID_IUnknown
const GUID IID_IClassFactory
#define impl_to_interface(impl, iface)
Definition: dwnl.c:35
#define IsEqualIID(riid1, riid2)
Definition: guiddef.h:95
#define E_NOINTERFACE
Definition: winerror.h:2364

Referenced by IDeskDisplayAdapter_Constructor(), IDeskDisplayAdapter_IClassFactory_QueryInterface(), IDeskDisplayAdapter_IShellExtInit_QueryInterface(), and IDeskDisplayAdapter_IShellPropSheetExt_QueryInterface().

◆ IDeskDisplayAdapter_Release()

ULONG IDeskDisplayAdapter_Release ( PDESKDISPLAYADAPTER  This)

Definition at line 488 of file deskadp.c.

489{
490 ULONG ret;
491
493 if (ret == 0)
494 {
497
499 0,
500 This);
501 }
502
503 return ret;
504}
#define InterlockedDecrement
Definition: armddk.h:52
static VOID IDeskDisplayAdapter_Destroy(PDESKDISPLAYADAPTER This)
Definition: deskadp.c:454
#define HeapFree(x, y, z)
Definition: compat.h:735

Referenced by IDeskDisplayAdapter_Constructor(), IDeskDisplayAdapter_IClassFactory_Release(), IDeskDisplayAdapter_IShellExtInit_Release(), and IDeskDisplayAdapter_IShellPropSheetExt_Release().

◆ IDeskDisplayAdapter_ReplacePage()

HRESULT IDeskDisplayAdapter_ReplacePage ( PDESKDISPLAYADAPTER  This,
EXPPS  uPageID,
LPFNADDPROPSHEETPAGE  pfnReplacePage,
LPARAM  lParam 
)

Definition at line 587 of file deskadp.c.

591{
592 DPRINT1("IDeskDisplayAdapter::ReplacePage(%u,%p,%p)\n", uPageID, pfnReplacePage, lParam);
593 return E_NOTIMPL;
594}
#define E_NOTIMPL
Definition: ddrawi.h:99

Referenced by IDeskDisplayAdapter_IShellPropSheetExt_ReplacePage().

Variable Documentation

◆ CLSID_IDeskDisplayAdapter

const GUID CLSID_IDeskDisplayAdapter = {0x42071712,0x76d4,0x11d1,{0x8b,0x24,0x00,0xa0,0xc9,0x06,0x8f,0xf3}}
static

Definition at line 58 of file deskadp.h.

Referenced by DllGetClassObject().

◆ dll_refs

LONG dll_refs
extern

Definition at line 28 of file devenum_main.c.