ReactOS  0.4.15-dev-1397-g19779b3
sti.c File Reference
#include <stdarg.h>
#include "windef.h"
#include "winbase.h"
#include "winreg.h"
#include "winerror.h"
#include "objbase.h"
#include "sti.h"
#include "wine/debug.h"
Include dependency graph for sti.c:

Go to the source code of this file.

Classes

struct  _stillimage
 

Macros

#define COBJMACROS
 

Typedefs

typedef struct _stillimage stillimage
 

Functions

 WINE_DEFAULT_DEBUG_CHANNEL (sti)
 
static stillimageimpl_from_IStillImageW (IStillImageW *iface)
 
static HRESULT WINAPI stillimagew_QueryInterface (IStillImageW *iface, REFIID riid, void **ppvObject)
 
static ULONG WINAPI stillimagew_AddRef (IStillImageW *iface)
 
static ULONG WINAPI stillimagew_Release (IStillImageW *iface)
 
static HRESULT WINAPI stillimagew_Initialize (IStillImageW *iface, HINSTANCE hinst, DWORD dwVersion)
 
static HRESULT WINAPI stillimagew_GetDeviceList (IStillImageW *iface, DWORD dwType, DWORD dwFlags, DWORD *pdwItemsReturned, LPVOID *ppBuffer)
 
static HRESULT WINAPI stillimagew_GetDeviceInfo (IStillImageW *iface, LPWSTR pwszDeviceName, LPVOID *ppBuffer)
 
static HRESULT WINAPI stillimagew_CreateDevice (IStillImageW *iface, LPWSTR pwszDeviceName, DWORD dwMode, PSTIDEVICEW *pDevice, LPUNKNOWN pUnkOuter)
 
static HRESULT WINAPI stillimagew_GetDeviceValue (IStillImageW *iface, LPWSTR pwszDeviceName, LPWSTR pValueName, LPDWORD pType, LPBYTE pData, LPDWORD cbData)
 
static HRESULT WINAPI stillimagew_SetDeviceValue (IStillImageW *iface, LPWSTR pwszDeviceName, LPWSTR pValueName, DWORD type, LPBYTE pData, DWORD cbData)
 
static HRESULT WINAPI stillimagew_GetSTILaunchInformation (IStillImageW *iface, LPWSTR pwszDeviceName, DWORD *pdwEventCode, LPWSTR pwszEventName)
 
static HRESULT WINAPI stillimagew_RegisterLaunchApplication (IStillImageW *iface, LPWSTR pwszAppName, LPWSTR pwszCommandLine)
 
static HRESULT WINAPI stillimagew_UnregisterLaunchApplication (IStillImageW *iface, LPWSTR pwszAppName)
 
static HRESULT WINAPI stillimagew_EnableHwNotifications (IStillImageW *iface, LPCWSTR pwszDeviceName, BOOL bNewState)
 
static HRESULT WINAPI stillimagew_GetHwNotificationState (IStillImageW *iface, LPCWSTR pwszDeviceName, BOOL *pbCurrentState)
 
static HRESULT WINAPI stillimagew_RefreshDeviceBus (IStillImageW *iface, LPCWSTR pwszDeviceName)
 
static HRESULT WINAPI stillimagew_LaunchApplicationForDevice (IStillImageW *iface, LPWSTR pwszDeviceName, LPWSTR pwszAppName, LPSTINOTIFY pStiNotify)
 
static HRESULT WINAPI stillimagew_SetupDeviceParameters (IStillImageW *iface, PSTI_DEVICE_INFORMATIONW pDevInfo)
 
static HRESULT WINAPI stillimagew_WriteToErrorLog (IStillImageW *iface, DWORD dwMessageType, LPCWSTR pszMessage)
 
static stillimageimpl_from_IUnknown (IUnknown *iface)
 
static HRESULT WINAPI Internal_QueryInterface (IUnknown *iface, REFIID riid, void **ppvObject)
 
static ULONG WINAPI Internal_AddRef (IUnknown *iface)
 
static ULONG WINAPI Internal_Release (IUnknown *iface)
 
HRESULT WINAPI StiCreateInstanceA (HINSTANCE hinst, DWORD dwVer, PSTIA *ppSti, LPUNKNOWN pUnkOuter)
 
HRESULT WINAPI StiCreateInstanceW (HINSTANCE hinst, DWORD dwVer, PSTIW *ppSti, LPUNKNOWN pUnkOuter)
 

Variables

static const WCHAR registeredAppsLaunchPath []
 
static const struct IStillImageWVtbl stillimagew_vtbl
 
static const struct IUnknownVtbl internal_unk_vtbl
 

Macro Definition Documentation

◆ COBJMACROS

#define COBJMACROS

Definition at line 25 of file sti.c.

Typedef Documentation

◆ stillimage

Function Documentation

◆ impl_from_IStillImageW()

static stillimage* impl_from_IStillImageW ( IStillImageW *  iface)
inlinestatic

◆ impl_from_IUnknown()

static stillimage* impl_from_IUnknown ( IUnknown iface)
inlinestatic

Definition at line 264 of file sti.c.

265 {
266  return CONTAINING_RECORD(iface, stillimage, IUnknown_inner);
267 }
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 Internal_AddRef(), Internal_QueryInterface(), and Internal_Release().

◆ Internal_AddRef()

static ULONG WINAPI Internal_AddRef ( IUnknown iface)
static

Definition at line 293 of file sti.c.

294 {
296  return InterlockedIncrement(&This->ref);
297 }
static stillimage * impl_from_IUnknown(IUnknown *iface)
Definition: sti.c:264
#define InterlockedIncrement
Definition: armddk.h:53

◆ Internal_QueryInterface()

static HRESULT WINAPI Internal_QueryInterface ( IUnknown iface,
REFIID  riid,
void **  ppvObject 
)
static

Definition at line 269 of file sti.c.

270 {
272 
273  TRACE("(%p %s %p)\n", This, debugstr_guid(riid), ppvObject);
274 
276  *ppvObject = iface;
277  else if (IsEqualGUID(riid, &IID_IStillImageW))
278  *ppvObject = &This->IStillImageW_iface;
279  else
280  {
281  if (IsEqualGUID(riid, &IID_IStillImageA))
282  FIXME("interface IStillImageA is unsupported on Windows Vista too, please report if it's needed\n");
283  else
284  FIXME("interface %s not implemented\n", debugstr_guid(riid));
285  *ppvObject = NULL;
286  return E_NOINTERFACE;
287  }
288 
289  IUnknown_AddRef((IUnknown*) *ppvObject);
290  return S_OK;
291 }
#define E_NOINTERFACE
Definition: winerror.h:2364
REFIID riid
Definition: precomp.h:44
#define FIXME(fmt,...)
Definition: debug.h:111
#define debugstr_guid
Definition: kernel32.h:35
#define TRACE(s)
Definition: solgame.cpp:4
const GUID IID_IUnknown
REFIID LPVOID * ppvObject
Definition: precomp.h:44
static stillimage * impl_from_IUnknown(IUnknown *iface)
Definition: sti.c:264
#define S_OK
Definition: intsafe.h:51
#define NULL
Definition: types.h:112
BOOL WINAPI IsEqualGUID(REFGUID rguid1, REFGUID rguid2)
Definition: compobj.c:4112

◆ Internal_Release()

static ULONG WINAPI Internal_Release ( IUnknown iface)
static

Definition at line 299 of file sti.c.

300 {
301  ULONG ref;
303 
304  ref = InterlockedDecrement(&This->ref);
305  if (ref == 0)
307  return ref;
308 }
Definition: send.c:48
GLenum GLint ref
Definition: glext.h:6028
#define GetProcessHeap()
Definition: compat.h:595
#define InterlockedDecrement
Definition: armddk.h:52
static stillimage * impl_from_IUnknown(IUnknown *iface)
Definition: sti.c:264
unsigned int ULONG
Definition: retypes.h:1
#define HeapFree(x, y, z)
Definition: compat.h:594

◆ StiCreateInstanceA()

HRESULT WINAPI StiCreateInstanceA ( HINSTANCE  hinst,
DWORD  dwVer,
PSTIA ppSti,
LPUNKNOWN  pUnkOuter 
)

Definition at line 320 of file sti.c.

321 {
322  FIXME("(%p, %u, %p, %p): stub, unimplemented on Windows Vista too, please report if it's needed\n", hinst, dwVer, ppSti, pUnkOuter);
324 }
#define STG_E_UNIMPLEMENTEDFUNCTION
Definition: winerror.h:2586
#define FIXME(fmt,...)
Definition: debug.h:111
static HINSTANCE hinst
Definition: edit.c:551

Referenced by sti_create().

◆ StiCreateInstanceW()

HRESULT WINAPI StiCreateInstanceW ( HINSTANCE  hinst,
DWORD  dwVer,
PSTIW ppSti,
LPUNKNOWN  pUnkOuter 
)

Definition at line 329 of file sti.c.

330 {
331  stillimage *This;
332  HRESULT hr;
333 
334  TRACE("(%p, %u, %p, %p)\n", hinst, dwVer, ppSti, pUnkOuter);
335 
337  if (This)
338  {
339  This->IStillImageW_iface.lpVtbl = &stillimagew_vtbl;
340  This->IUnknown_inner.lpVtbl = &internal_unk_vtbl;
341  if (pUnkOuter)
342  This->outer_unk = pUnkOuter;
343  else
344  This->outer_unk = &This->IUnknown_inner;
345  This->ref = 1;
346 
347  hr = IStillImage_Initialize(&This->IStillImageW_iface, hinst, dwVer);
348  if (SUCCEEDED(hr))
349  {
350  if (pUnkOuter)
351  *ppSti = (IStillImageW*) &This->IUnknown_inner;
352  else
353  *ppSti = &This->IStillImageW_iface;
354  }
355  }
356  else
357  hr = E_OUTOFMEMORY;
358 
359  return hr;
360 }
static const struct IStillImageWVtbl stillimagew_vtbl
Definition: sti.c:242
#define IStillImage_Initialize(p, a, b)
Definition: sti.h:137
HRESULT hr
Definition: shlfolder.c:183
static const struct IUnknownVtbl internal_unk_vtbl
Definition: sti.c:310
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
if SUCCEEDED(hr)
#define TRACE(s)
Definition: solgame.cpp:4
#define GetProcessHeap()
Definition: compat.h:595
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
LONG HRESULT
Definition: typedefs.h:79
#define HEAP_ZERO_MEMORY
Definition: compat.h:134
static HINSTANCE hinst
Definition: edit.c:551

Referenced by sti_create().

◆ stillimagew_AddRef()

static ULONG WINAPI stillimagew_AddRef ( IStillImageW *  iface)
static

Definition at line 67 of file sti.c.

68 {
70  return IUnknown_AddRef(This->outer_unk);
71 }
static stillimage * impl_from_IStillImageW(IStillImageW *iface)
Definition: sti.c:55

◆ stillimagew_CreateDevice()

static HRESULT WINAPI stillimagew_CreateDevice ( IStillImageW *  iface,
LPWSTR  pwszDeviceName,
DWORD  dwMode,
PSTIDEVICEW pDevice,
LPUNKNOWN  pUnkOuter 
)
static

Definition at line 102 of file sti.c.

104 {
106  FIXME("(%p, %s, %u, %p, %p): stub\n", This, debugstr_w(pwszDeviceName), dwMode, pDevice, pUnkOuter);
107  return E_NOTIMPL;
108 }
#define debugstr_w
Definition: kernel32.h:32
#define FIXME(fmt,...)
Definition: debug.h:111
static stillimage * impl_from_IStillImageW(IStillImageW *iface)
Definition: sti.c:55
FxDevice * pDevice
_In_ LPWSTR _In_ ULONG _In_ ULONG _In_ ULONG _Out_ DEVINFO _In_ HDEV _In_ LPWSTR pwszDeviceName
Definition: winddi.h:3553
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ stillimagew_EnableHwNotifications()

static HRESULT WINAPI stillimagew_EnableHwNotifications ( IStillImageW *  iface,
LPCWSTR  pwszDeviceName,
BOOL  bNewState 
)
static

Definition at line 196 of file sti.c.

198 {
200  FIXME("(%p, %s, %u): stub\n", This, debugstr_w(pwszDeviceName), bNewState);
201  return E_NOTIMPL;
202 }
#define debugstr_w
Definition: kernel32.h:32
#define FIXME(fmt,...)
Definition: debug.h:111
static stillimage * impl_from_IStillImageW(IStillImageW *iface)
Definition: sti.c:55
_In_ LPWSTR _In_ ULONG _In_ ULONG _In_ ULONG _Out_ DEVINFO _In_ HDEV _In_ LPWSTR pwszDeviceName
Definition: winddi.h:3553
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ stillimagew_GetDeviceInfo()

static HRESULT WINAPI stillimagew_GetDeviceInfo ( IStillImageW *  iface,
LPWSTR  pwszDeviceName,
LPVOID ppBuffer 
)
static

Definition at line 94 of file sti.c.

96 {
98  FIXME("(%p, %s, %p): stub\n", This, debugstr_w(pwszDeviceName), ppBuffer);
99  return E_NOTIMPL;
100 }
#define debugstr_w
Definition: kernel32.h:32
#define FIXME(fmt,...)
Definition: debug.h:111
static stillimage * impl_from_IStillImageW(IStillImageW *iface)
Definition: sti.c:55
_In_ LPWSTR _In_ ULONG _In_ ULONG _In_ ULONG _Out_ DEVINFO _In_ HDEV _In_ LPWSTR pwszDeviceName
Definition: winddi.h:3553
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ stillimagew_GetDeviceList()

static HRESULT WINAPI stillimagew_GetDeviceList ( IStillImageW *  iface,
DWORD  dwType,
DWORD  dwFlags,
DWORD pdwItemsReturned,
LPVOID ppBuffer 
)
static

Definition at line 86 of file sti.c.

88 {
90  FIXME("(%p, %u, 0x%X, %p, %p): stub\n", This, dwType, dwFlags, pdwItemsReturned, ppBuffer);
91  return E_NOTIMPL;
92 }
#define FIXME(fmt,...)
Definition: debug.h:111
static stillimage * impl_from_IStillImageW(IStillImageW *iface)
Definition: sti.c:55
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
Definition: wincrypt.h:1175
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ stillimagew_GetDeviceValue()

static HRESULT WINAPI stillimagew_GetDeviceValue ( IStillImageW *  iface,
LPWSTR  pwszDeviceName,
LPWSTR  pValueName,
LPDWORD  pType,
LPBYTE  pData,
LPDWORD  cbData 
)
static

Definition at line 110 of file sti.c.

112 {
114  FIXME("(%p, %s, %s, %p, %p, %p): stub\n", This, debugstr_w(pwszDeviceName), debugstr_w(pValueName),
115  pType, pData, cbData);
116  return E_NOTIMPL;
117 }
#define debugstr_w
Definition: kernel32.h:32
#define FIXME(fmt,...)
Definition: debug.h:111
static stillimage * impl_from_IStillImageW(IStillImageW *iface)
Definition: sti.c:55
_In_ LPWSTR _In_ ULONG _In_ ULONG _In_ ULONG _Out_ DEVINFO _In_ HDEV _In_ LPWSTR pwszDeviceName
Definition: winddi.h:3553
#define E_NOTIMPL
Definition: ddrawi.h:99
TW_UINT32 TW_UINT16 TW_UINT16 TW_MEMREF pData
Definition: twain.h:1827

◆ stillimagew_GetHwNotificationState()

static HRESULT WINAPI stillimagew_GetHwNotificationState ( IStillImageW *  iface,
LPCWSTR  pwszDeviceName,
BOOL pbCurrentState 
)
static

Definition at line 204 of file sti.c.

206 {
208  FIXME("(%p, %s, %p): stub\n", This, debugstr_w(pwszDeviceName), pbCurrentState);
209  return E_NOTIMPL;
210 }
#define debugstr_w
Definition: kernel32.h:32
#define FIXME(fmt,...)
Definition: debug.h:111
static stillimage * impl_from_IStillImageW(IStillImageW *iface)
Definition: sti.c:55
_In_ LPWSTR _In_ ULONG _In_ ULONG _In_ ULONG _Out_ DEVINFO _In_ HDEV _In_ LPWSTR pwszDeviceName
Definition: winddi.h:3553
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ stillimagew_GetSTILaunchInformation()

static HRESULT WINAPI stillimagew_GetSTILaunchInformation ( IStillImageW *  iface,
LPWSTR  pwszDeviceName,
DWORD pdwEventCode,
LPWSTR  pwszEventName 
)
static

Definition at line 128 of file sti.c.

130 {
132  FIXME("(%p, %p, %p, %p): stub\n", This, pwszDeviceName,
133  pdwEventCode, pwszEventName);
134  return E_NOTIMPL;
135 }
#define FIXME(fmt,...)
Definition: debug.h:111
static stillimage * impl_from_IStillImageW(IStillImageW *iface)
Definition: sti.c:55
_In_ LPWSTR _In_ ULONG _In_ ULONG _In_ ULONG _Out_ DEVINFO _In_ HDEV _In_ LPWSTR pwszDeviceName
Definition: winddi.h:3553
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ stillimagew_Initialize()

static HRESULT WINAPI stillimagew_Initialize ( IStillImageW *  iface,
HINSTANCE  hinst,
DWORD  dwVersion 
)
static

Definition at line 79 of file sti.c.

80 {
82  TRACE("(%p, %p, 0x%X)\n", This, hinst, dwVersion);
83  return S_OK;
84 }
static stillimage * impl_from_IStillImageW(IStillImageW *iface)
Definition: sti.c:55
#define TRACE(s)
Definition: solgame.cpp:4
#define S_OK
Definition: intsafe.h:51
static HINSTANCE hinst
Definition: edit.c:551

◆ stillimagew_LaunchApplicationForDevice()

static HRESULT WINAPI stillimagew_LaunchApplicationForDevice ( IStillImageW *  iface,
LPWSTR  pwszDeviceName,
LPWSTR  pwszAppName,
LPSTINOTIFY  pStiNotify 
)
static

Definition at line 219 of file sti.c.

221 {
223  FIXME("(%p, %s, %s, %p): stub\n", This, debugstr_w(pwszDeviceName), debugstr_w(pwszAppName),
224  pStiNotify);
225  return E_NOTIMPL;
226 }
#define debugstr_w
Definition: kernel32.h:32
#define FIXME(fmt,...)
Definition: debug.h:111
static stillimage * impl_from_IStillImageW(IStillImageW *iface)
Definition: sti.c:55
_In_ LPWSTR _In_ ULONG _In_ ULONG _In_ ULONG _Out_ DEVINFO _In_ HDEV _In_ LPWSTR pwszDeviceName
Definition: winddi.h:3553
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ stillimagew_QueryInterface()

static HRESULT WINAPI stillimagew_QueryInterface ( IStillImageW *  iface,
REFIID  riid,
void **  ppvObject 
)
static

Definition at line 60 of file sti.c.

61 {
63  TRACE("(%p %s %p)\n", This, debugstr_guid(riid), ppvObject);
64  return IUnknown_QueryInterface(This->outer_unk, riid, ppvObject);
65 }
REFIID riid
Definition: precomp.h:44
static stillimage * impl_from_IStillImageW(IStillImageW *iface)
Definition: sti.c:55
#define debugstr_guid
Definition: kernel32.h:35
#define TRACE(s)
Definition: solgame.cpp:4
REFIID LPVOID * ppvObject
Definition: precomp.h:44

◆ stillimagew_RefreshDeviceBus()

static HRESULT WINAPI stillimagew_RefreshDeviceBus ( IStillImageW *  iface,
LPCWSTR  pwszDeviceName 
)
static

Definition at line 212 of file sti.c.

213 {
215  FIXME("(%p, %s): stub\n", This, debugstr_w(pwszDeviceName));
216  return E_NOTIMPL;
217 }
#define debugstr_w
Definition: kernel32.h:32
#define FIXME(fmt,...)
Definition: debug.h:111
static stillimage * impl_from_IStillImageW(IStillImageW *iface)
Definition: sti.c:55
_In_ LPWSTR _In_ ULONG _In_ ULONG _In_ ULONG _Out_ DEVINFO _In_ HDEV _In_ LPWSTR pwszDeviceName
Definition: winddi.h:3553
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ stillimagew_RegisterLaunchApplication()

static HRESULT WINAPI stillimagew_RegisterLaunchApplication ( IStillImageW *  iface,
LPWSTR  pwszAppName,
LPWSTR  pwszCommandLine 
)
static

Definition at line 137 of file sti.c.

139 {
140  static const WCHAR format[] = {'%','s',' ','%','s',0};
141  static const WCHAR commandLineSuffix[] = {
142  '/','S','t','i','D','e','v','i','c','e',':','%','1',' ',
143  '/','S','t','i','E','v','e','n','t',':','%','2',0};
144  HKEY registeredAppsKey = NULL;
145  DWORD ret;
146  HRESULT hr = S_OK;
148 
149  TRACE("(%p, %s, %s)\n", This, debugstr_w(pwszAppName), debugstr_w(pwszCommandLine));
150 
152  if (ret == ERROR_SUCCESS)
153  {
154  size_t len = lstrlenW(pwszCommandLine) + 1 + lstrlenW(commandLineSuffix) + 1;
155  WCHAR *value = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR));
156  if (value)
157  {
158  swprintf(value, format, pwszCommandLine, commandLineSuffix);
159  ret = RegSetValueExW(registeredAppsKey, pwszAppName, 0,
160  REG_SZ, (BYTE*)value, (lstrlenW(value)+1)*sizeof(WCHAR));
161  if (ret != ERROR_SUCCESS)
164  }
165  else
166  hr = E_OUTOFMEMORY;
167  RegCloseKey(registeredAppsKey);
168  }
169  else
171  return hr;
172 }
#define HRESULT_FROM_WIN32(x)
Definition: winerror.h:92
#define ERROR_SUCCESS
Definition: deptool.c:10
HRESULT hr
Definition: shlfolder.c:183
static const WCHAR registeredAppsLaunchPath[]
Definition: sti.c:38
#define lstrlenW
Definition: compat.h:609
GLint GLint GLsizei GLsizei GLsizei GLint GLenum format
Definition: gl.h:1546
LONG WINAPI RegCloseKey(HKEY hKey)
Definition: reg.c:423
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
#define debugstr_w
Definition: kernel32.h:32
static stillimage * impl_from_IStillImageW(IStillImageW *iface)
Definition: sti.c:55
LONG WINAPI RegSetValueExW(_In_ HKEY hKey, _In_ LPCWSTR lpValueName, _In_ DWORD Reserved, _In_ DWORD dwType, _In_ CONST BYTE *lpData, _In_ DWORD cbData)
Definition: reg.c:4895
#define TRACE(s)
Definition: solgame.cpp:4
#define GetProcessHeap()
Definition: compat.h:595
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
__wchar_t WCHAR
Definition: xmlstorage.h:180
LONG HRESULT
Definition: typedefs.h:79
#define swprintf(buf, format,...)
Definition: sprintf.c:56
unsigned long DWORD
Definition: ntddk_ex.h:95
int ret
GLenum GLsizei len
Definition: glext.h:6722
LONG WINAPI RegCreateKeyW(HKEY hKey, LPCWSTR lpSubKey, PHKEY phkResult)
Definition: reg.c:1199
unsigned char BYTE
Definition: xxhash.c:193
#define S_OK
Definition: intsafe.h:51
#define NULL
Definition: types.h:112
#define HeapFree(x, y, z)
Definition: compat.h:594
#define HKEY_LOCAL_MACHINE
Definition: winreg.h:12
#define REG_SZ
Definition: layer.c:22

◆ stillimagew_Release()

static ULONG WINAPI stillimagew_Release ( IStillImageW *  iface)
static

Definition at line 73 of file sti.c.

74 {
76  return IUnknown_Release(This->outer_unk);
77 }
static stillimage * impl_from_IStillImageW(IStillImageW *iface)
Definition: sti.c:55

◆ stillimagew_SetDeviceValue()

static HRESULT WINAPI stillimagew_SetDeviceValue ( IStillImageW *  iface,
LPWSTR  pwszDeviceName,
LPWSTR  pValueName,
DWORD  type,
LPBYTE  pData,
DWORD  cbData 
)
static

Definition at line 119 of file sti.c.

121 {
123  FIXME("(%p, %s, %s, %u, %p, %u): stub\n", This, debugstr_w(pwszDeviceName), debugstr_w(pValueName),
124  type, pData, cbData);
125  return E_NOTIMPL;
126 }
#define debugstr_w
Definition: kernel32.h:32
#define FIXME(fmt,...)
Definition: debug.h:111
static stillimage * impl_from_IStillImageW(IStillImageW *iface)
Definition: sti.c:55
_In_ LPWSTR _In_ ULONG _In_ ULONG _In_ ULONG _Out_ DEVINFO _In_ HDEV _In_ LPWSTR pwszDeviceName
Definition: winddi.h:3553
#define E_NOTIMPL
Definition: ddrawi.h:99
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
TW_UINT32 TW_UINT16 TW_UINT16 TW_MEMREF pData
Definition: twain.h:1827

◆ stillimagew_SetupDeviceParameters()

static HRESULT WINAPI stillimagew_SetupDeviceParameters ( IStillImageW *  iface,
PSTI_DEVICE_INFORMATIONW  pDevInfo 
)
static

Definition at line 228 of file sti.c.

229 {
231  FIXME("(%p, %p): stub\n", This, pDevInfo);
232  return E_NOTIMPL;
233 }
#define FIXME(fmt,...)
Definition: debug.h:111
static stillimage * impl_from_IStillImageW(IStillImageW *iface)
Definition: sti.c:55
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ stillimagew_UnregisterLaunchApplication()

static HRESULT WINAPI stillimagew_UnregisterLaunchApplication ( IStillImageW *  iface,
LPWSTR  pwszAppName 
)
static

Definition at line 174 of file sti.c.

175 {
177  HKEY registeredAppsKey = NULL;
178  DWORD ret;
179  HRESULT hr = S_OK;
180 
181  TRACE("(%p, %s)\n", This, debugstr_w(pwszAppName));
182 
184  if (ret == ERROR_SUCCESS)
185  {
186  ret = RegDeleteValueW(registeredAppsKey, pwszAppName);
187  if (ret != ERROR_SUCCESS)
189  RegCloseKey(registeredAppsKey);
190  }
191  else
193  return hr;
194 }
#define HRESULT_FROM_WIN32(x)
Definition: winerror.h:92
#define ERROR_SUCCESS
Definition: deptool.c:10
HRESULT hr
Definition: shlfolder.c:183
static const WCHAR registeredAppsLaunchPath[]
Definition: sti.c:38
LONG WINAPI RegCloseKey(HKEY hKey)
Definition: reg.c:423
#define debugstr_w
Definition: kernel32.h:32
static stillimage * impl_from_IStillImageW(IStillImageW *iface)
Definition: sti.c:55
#define TRACE(s)
Definition: solgame.cpp:4
LONG HRESULT
Definition: typedefs.h:79
unsigned long DWORD
Definition: ntddk_ex.h:95
int ret
LONG WINAPI RegCreateKeyW(HKEY hKey, LPCWSTR lpSubKey, PHKEY phkResult)
Definition: reg.c:1199
#define S_OK
Definition: intsafe.h:51
LONG WINAPI RegDeleteValueW(HKEY hKey, LPCWSTR lpValueName)
Definition: reg.c:2355
#define NULL
Definition: types.h:112
#define HKEY_LOCAL_MACHINE
Definition: winreg.h:12

◆ stillimagew_WriteToErrorLog()

static HRESULT WINAPI stillimagew_WriteToErrorLog ( IStillImageW *  iface,
DWORD  dwMessageType,
LPCWSTR  pszMessage 
)
static

Definition at line 235 of file sti.c.

236 {
238  FIXME("(%p, %u, %s): stub\n", This, dwMessageType, debugstr_w(pszMessage));
239  return E_NOTIMPL;
240 }
#define debugstr_w
Definition: kernel32.h:32
#define FIXME(fmt,...)
Definition: debug.h:111
static stillimage * impl_from_IStillImageW(IStillImageW *iface)
Definition: sti.c:55
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ WINE_DEFAULT_DEBUG_CHANNEL()

WINE_DEFAULT_DEBUG_CHANNEL ( sti  )

Variable Documentation

◆ internal_unk_vtbl

const struct IUnknownVtbl internal_unk_vtbl
static
Initial value:
=
{
}
static HRESULT WINAPI Internal_QueryInterface(IUnknown *iface, REFIID riid, void **ppvObject)
Definition: sti.c:269
static ULONG WINAPI Internal_AddRef(IUnknown *iface)
Definition: sti.c:293
static ULONG WINAPI Internal_Release(IUnknown *iface)
Definition: sti.c:299

Definition at line 310 of file sti.c.

Referenced by StiCreateInstanceW().

◆ registeredAppsLaunchPath

const WCHAR registeredAppsLaunchPath[]
static
Initial value:
= {
'S','O','F','T','W','A','R','E','\\',
'M','i','c','r','o','s','o','f','t','\\',
'W','i','n','d','o','w','s','\\',
'C','u','r','r','e','n','t','V','e','r','s','i','o','n','\\',
'S','t','i','l','l','I','m','a','g','e','\\',
'R','e','g','i','s','t','e','r','e','d',' ','A','p','p','l','i','c','a','t','i','o','n','s',0
}

Definition at line 38 of file sti.c.

Referenced by stillimagew_RegisterLaunchApplication(), and stillimagew_UnregisterLaunchApplication().

◆ stillimagew_vtbl

const struct IStillImageWVtbl stillimagew_vtbl
static
Initial value:
=
{
}
static HRESULT WINAPI stillimagew_GetSTILaunchInformation(IStillImageW *iface, LPWSTR pwszDeviceName, DWORD *pdwEventCode, LPWSTR pwszEventName)
Definition: sti.c:128
static ULONG WINAPI stillimagew_Release(IStillImageW *iface)
Definition: sti.c:73
static HRESULT WINAPI stillimagew_CreateDevice(IStillImageW *iface, LPWSTR pwszDeviceName, DWORD dwMode, PSTIDEVICEW *pDevice, LPUNKNOWN pUnkOuter)
Definition: sti.c:102
static HRESULT WINAPI stillimagew_LaunchApplicationForDevice(IStillImageW *iface, LPWSTR pwszDeviceName, LPWSTR pwszAppName, LPSTINOTIFY pStiNotify)
Definition: sti.c:219
static HRESULT WINAPI stillimagew_GetDeviceInfo(IStillImageW *iface, LPWSTR pwszDeviceName, LPVOID *ppBuffer)
Definition: sti.c:94
static HRESULT WINAPI stillimagew_Initialize(IStillImageW *iface, HINSTANCE hinst, DWORD dwVersion)
Definition: sti.c:79
static HRESULT WINAPI stillimagew_SetDeviceValue(IStillImageW *iface, LPWSTR pwszDeviceName, LPWSTR pValueName, DWORD type, LPBYTE pData, DWORD cbData)
Definition: sti.c:119
static HRESULT WINAPI stillimagew_EnableHwNotifications(IStillImageW *iface, LPCWSTR pwszDeviceName, BOOL bNewState)
Definition: sti.c:196
static HRESULT WINAPI stillimagew_RegisterLaunchApplication(IStillImageW *iface, LPWSTR pwszAppName, LPWSTR pwszCommandLine)
Definition: sti.c:137
static HRESULT WINAPI stillimagew_SetupDeviceParameters(IStillImageW *iface, PSTI_DEVICE_INFORMATIONW pDevInfo)
Definition: sti.c:228
static HRESULT WINAPI stillimagew_UnregisterLaunchApplication(IStillImageW *iface, LPWSTR pwszAppName)
Definition: sti.c:174
static HRESULT WINAPI stillimagew_WriteToErrorLog(IStillImageW *iface, DWORD dwMessageType, LPCWSTR pszMessage)
Definition: sti.c:235
static HRESULT WINAPI stillimagew_RefreshDeviceBus(IStillImageW *iface, LPCWSTR pwszDeviceName)
Definition: sti.c:212
static HRESULT WINAPI stillimagew_GetHwNotificationState(IStillImageW *iface, LPCWSTR pwszDeviceName, BOOL *pbCurrentState)
Definition: sti.c:204
static HRESULT WINAPI stillimagew_QueryInterface(IStillImageW *iface, REFIID riid, void **ppvObject)
Definition: sti.c:60
static HRESULT WINAPI stillimagew_GetDeviceValue(IStillImageW *iface, LPWSTR pwszDeviceName, LPWSTR pValueName, LPDWORD pType, LPBYTE pData, LPDWORD cbData)
Definition: sti.c:110
static HRESULT WINAPI stillimagew_GetDeviceList(IStillImageW *iface, DWORD dwType, DWORD dwFlags, DWORD *pdwItemsReturned, LPVOID *ppBuffer)
Definition: sti.c:86
static ULONG WINAPI stillimagew_AddRef(IStillImageW *iface)
Definition: sti.c:67

Definition at line 242 of file sti.c.

Referenced by StiCreateInstanceW().