ReactOS 0.4.15-dev-7931-gfd331f1
objsel.c File Reference
#include "objsel_private.h"
#include "rpcproxy.h"
#include "wine/debug.h"
Include dependency graph for objsel.c:

Go to the source code of this file.

Functions

 WINE_DEFAULT_DEBUG_CHANNEL (objsel)
 
BOOL WINAPI DllMain (HINSTANCE hinstDLL, DWORD fdwReason, LPVOID fImpLoad)
 
HRESULT WINAPI DllGetClassObject (REFCLSID rclsid, REFIID iid, LPVOID *ppv)
 
HRESULT WINAPI DllCanUnloadNow (void)
 
HRESULT WINAPI DllRegisterServer (void)
 
HRESULT WINAPI DllUnregisterServer (void)
 
static VOID OBJSEL_IDsObjectPicker_Destroy (IDsObjectPickerImpl *This)
 
static IDsObjectPickerImplimpl_from_IDsObjectPicker (IDsObjectPicker *iface)
 
static ULONG WINAPI OBJSEL_IDsObjectPicker_AddRef (IDsObjectPicker *iface)
 
static ULONG WINAPI OBJSEL_IDsObjectPicker_Release (IDsObjectPicker *iface)
 
static HRESULT WINAPI OBJSEL_IDsObjectPicker_QueryInterface (IDsObjectPicker *iface, REFIID riid, LPVOID *ppvObj)
 
static HRESULT WINAPI OBJSEL_IDsObjectPicker_Initialize (IDsObjectPicker *iface, PDSOP_INIT_INFO pInitInfo)
 
static HRESULT WINAPI OBJSEL_IDsObjectPicker_InvokeDialog (IDsObjectPicker *iface, HWND hwndParent, IDataObject **ppdoSelections)
 
HRESULT WINAPI OBJSEL_IDsObjectPicker_Create (LPVOID *ppvObj)
 

Variables

LONG dll_refs = 0
 
static HINSTANCE hInstance
 
static IDsObjectPickerVtbl IDsObjectPicker_Vtbl
 

Function Documentation

◆ DllCanUnloadNow()

HRESULT WINAPI DllCanUnloadNow ( void  )

Definition at line 67 of file objsel.c.

68{
69 return dll_refs != 0 ? S_FALSE : S_OK;
70}
#define S_OK
Definition: intsafe.h:52
LONG dll_refs
Definition: objsel.c:28
#define S_FALSE
Definition: winerror.h:2357

◆ DllGetClassObject()

HRESULT WINAPI DllGetClassObject ( REFCLSID  rclsid,
REFIID  iid,
LPVOID ppv 
)

Definition at line 50 of file objsel.c.

51{
52 TRACE("(%s, %s, %p)\n", debugstr_guid(rclsid), debugstr_guid(iid), ppv);
53
54 *ppv = NULL;
55
56 if (IsEqualGUID(rclsid, &CLSID_DsObjectPicker))
57 return IClassFactory_QueryInterface(&OBJSEL_ClassFactory.IClassFactory_iface, iid, ppv);
58
59 FIXME("CLSID: %s, IID: %s\n", debugstr_guid(rclsid), debugstr_guid(iid));
61}
#define FIXME(fmt,...)
Definition: debug.h:111
#define NULL
Definition: types.h:112
REFIID LPVOID * ppv
Definition: atlbase.h:39
#define debugstr_guid
Definition: kernel32.h:35
ClassFactoryImpl OBJSEL_ClassFactory
Definition: factory.c:168
#define IsEqualGUID(rguid1, rguid2)
Definition: guiddef.h:147
#define TRACE(s)
Definition: solgame.cpp:4
IClassFactory IClassFactory_iface
Definition: factory.c:26
#define CLASS_E_CLASSNOTAVAILABLE
Definition: winerror.h:2663

◆ DllMain()

BOOL WINAPI DllMain ( HINSTANCE  hinstDLL,
DWORD  fdwReason,
LPVOID  fImpLoad 
)

Definition at line 34 of file objsel.c.

35{
36 switch(fdwReason)
37 {
39 hInstance = hinstDLL;
41 break;
42 }
43 return TRUE;
44}
#define TRUE
Definition: types.h:120
#define DLL_PROCESS_ATTACH
Definition: compat.h:131
BOOL WINAPI DisableThreadLibraryCalls(IN HMODULE hLibModule)
Definition: loader.c:85
static HINSTANCE hInstance
Definition: objsel.c:29

◆ DllRegisterServer()

HRESULT WINAPI DllRegisterServer ( void  )

Definition at line 76 of file objsel.c.

77{
79}
HRESULT __wine_register_resources(HMODULE module) DECLSPEC_HIDDEN
Definition: register.c:98

◆ DllUnregisterServer()

HRESULT WINAPI DllUnregisterServer ( void  )

Definition at line 85 of file objsel.c.

86{
88}
HRESULT __wine_unregister_resources(HMODULE module) DECLSPEC_HIDDEN
Definition: register.c:110

◆ impl_from_IDsObjectPicker()

static IDsObjectPickerImpl * impl_from_IDsObjectPicker ( IDsObjectPicker *  iface)
inlinestatic

Definition at line 102 of file objsel.c.

103{
104 return CONTAINING_RECORD(iface, IDsObjectPickerImpl, IDsObjectPicker_iface);
105}
#define CONTAINING_RECORD(address, type, field)
Definition: typedefs.h:260

Referenced by OBJSEL_IDsObjectPicker_AddRef(), and OBJSEL_IDsObjectPicker_Release().

◆ OBJSEL_IDsObjectPicker_AddRef()

static ULONG WINAPI OBJSEL_IDsObjectPicker_AddRef ( IDsObjectPicker *  iface)
static

Definition at line 110 of file objsel.c.

111{
113 ULONG ref;
114
115 TRACE("\n");
116
117 if (This == NULL) return E_POINTER;
118
120
121 if (ref == 1)
122 {
124 }
125
126 return ref;
127}
#define InterlockedIncrement
Definition: armddk.h:53
static IDsObjectPickerImpl * impl_from_IDsObjectPicker(IDsObjectPicker *iface)
Definition: objsel.c:102
Definition: send.c:48
uint32_t ULONG
Definition: typedefs.h:59
#define E_POINTER
Definition: winerror.h:2365

Referenced by OBJSEL_IDsObjectPicker_Create(), and OBJSEL_IDsObjectPicker_QueryInterface().

◆ OBJSEL_IDsObjectPicker_Create()

HRESULT WINAPI OBJSEL_IDsObjectPicker_Create ( LPVOID ppvObj)

Definition at line 220 of file objsel.c.

221{
224 sizeof(IDsObjectPickerImpl));
225 if (Instance != NULL)
226 {
227 Instance->IDsObjectPicker_iface.lpVtbl = &IDsObjectPicker_Vtbl;
228 OBJSEL_IDsObjectPicker_AddRef(&Instance->IDsObjectPicker_iface);
229
230 *ppvObj = Instance;
231 return S_OK;
232 }
233 else
234 return E_OUTOFMEMORY;
235}
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
#define GetProcessHeap()
Definition: compat.h:736
#define HeapAlloc
Definition: compat.h:733
#define HEAP_ZERO_MEMORY
Definition: compat.h:134
static ULONG WINAPI OBJSEL_IDsObjectPicker_AddRef(IDsObjectPicker *iface)
Definition: objsel.c:110
static IDsObjectPickerVtbl IDsObjectPicker_Vtbl
Definition: objsel.c:207
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_WMI_INSTANCE_CONFIG _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_opt_ WDFWMIINSTANCE * Instance
Definition: wdfwmi.h:481

Referenced by OBJSEL_IClassFactory_CreateInstance().

◆ OBJSEL_IDsObjectPicker_Destroy()

static VOID OBJSEL_IDsObjectPicker_Destroy ( IDsObjectPickerImpl This)
static

Definition at line 94 of file objsel.c.

95{
97 0,
98 This);
99}
#define HeapFree(x, y, z)
Definition: compat.h:735

Referenced by OBJSEL_IDsObjectPicker_Release().

◆ OBJSEL_IDsObjectPicker_Initialize()

static HRESULT WINAPI OBJSEL_IDsObjectPicker_Initialize ( IDsObjectPicker *  iface,
PDSOP_INIT_INFO  pInitInfo 
)
static

Definition at line 182 of file objsel.c.

185{
186 FIXME("stub!\n");
187 return S_OK;
188}

◆ OBJSEL_IDsObjectPicker_InvokeDialog()

static HRESULT WINAPI OBJSEL_IDsObjectPicker_InvokeDialog ( IDsObjectPicker *  iface,
HWND  hwndParent,
IDataObject **  ppdoSelections 
)
static

Definition at line 194 of file objsel.c.

198{
199 FIXME("stub!\n");
200 return S_FALSE;
201}

◆ OBJSEL_IDsObjectPicker_QueryInterface()

static HRESULT WINAPI OBJSEL_IDsObjectPicker_QueryInterface ( IDsObjectPicker *  iface,
REFIID  riid,
LPVOID ppvObj 
)
static

Definition at line 157 of file objsel.c.

161{
162 TRACE("\n\tIID:\t%s\n",debugstr_guid(riid));
163
164 if (ppvObj == NULL) return E_POINTER;
165
167 IsEqualGUID(riid, &IID_IDsObjectPicker))
168 {
169 *ppvObj = iface;
171 return S_OK;
172 }
173
174 FIXME("- no interface IID: %s\n", debugstr_guid(riid));
175 return E_NOINTERFACE;
176}
const GUID IID_IUnknown
REFIID riid
Definition: atlbase.h:39
#define E_NOINTERFACE
Definition: winerror.h:2364

◆ OBJSEL_IDsObjectPicker_Release()

static ULONG WINAPI OBJSEL_IDsObjectPicker_Release ( IDsObjectPicker *  iface)
static

Definition at line 133 of file objsel.c.

134{
136 ULONG ref;
137
138 TRACE("\n");
139
140 if (This == NULL) return E_POINTER;
141
143
144 if (ref == 0)
145 {
148 }
149
150 return ref;
151}
#define InterlockedDecrement
Definition: armddk.h:52
static VOID OBJSEL_IDsObjectPicker_Destroy(IDsObjectPickerImpl *This)
Definition: objsel.c:94

◆ WINE_DEFAULT_DEBUG_CHANNEL()

WINE_DEFAULT_DEBUG_CHANNEL ( objsel  )

Variable Documentation

◆ dll_refs

LONG dll_refs = 0

◆ hInstance

HINSTANCE hInstance
static

Definition at line 29 of file objsel.c.

Referenced by DllMain(), DllRegisterServer(), and DllUnregisterServer().

◆ IDsObjectPicker_Vtbl

IDsObjectPickerVtbl IDsObjectPicker_Vtbl
static
Initial value:
=
{
}
static HRESULT WINAPI OBJSEL_IDsObjectPicker_Initialize(IDsObjectPicker *iface, PDSOP_INIT_INFO pInitInfo)
Definition: objsel.c:182
static HRESULT WINAPI OBJSEL_IDsObjectPicker_QueryInterface(IDsObjectPicker *iface, REFIID riid, LPVOID *ppvObj)
Definition: objsel.c:157
static ULONG WINAPI OBJSEL_IDsObjectPicker_Release(IDsObjectPicker *iface)
Definition: objsel.c:133
static HRESULT WINAPI OBJSEL_IDsObjectPicker_InvokeDialog(IDsObjectPicker *iface, HWND hwndParent, IDataObject **ppdoSelections)
Definition: objsel.c:194

Definition at line 207 of file objsel.c.

Referenced by OBJSEL_IDsObjectPicker_Create().