ReactOS  0.4.14-dev-337-gf981a68
xolehlp.c File Reference
#include <stdarg.h>
#include "windef.h"
#include "winbase.h"
#include "transact.h"
#include "initguid.h"
#include "txdtc.h"
#include "wine/unicode.h"
#include "wine/debug.h"
Include dependency graph for xolehlp.c:

Go to the source code of this file.

Classes

struct  ResourceManager
 
struct  TransactionOptions
 
struct  Transaction
 
struct  TransactionManager
 

Macros

#define COBJMACROS
 

Functions

 WINE_DEFAULT_DEBUG_CHANNEL (xolehlp)
 
static ResourceManagerimpl_from_IResourceManager (IResourceManager *iface)
 
static HRESULT WINAPI ResourceManager_QueryInterface (IResourceManager *iface, REFIID iid, void **ppv)
 
static ULONG WINAPI ResourceManager_AddRef (IResourceManager *iface)
 
static ULONG WINAPI ResourceManager_Release (IResourceManager *iface)
 
static HRESULT WINAPI ResourceManager_Enlist (IResourceManager *iface, ITransaction *pTransaction, ITransactionResourceAsync *pRes, XACTUOW *pUOW, LONG *pisoLevel, ITransactionEnlistmentAsync **ppEnlist)
 
static HRESULT WINAPI ResourceManager_Reenlist (IResourceManager *iface, byte *pPrepInfo, ULONG cbPrepInfo, DWORD lTimeout, XACTSTAT *pXactStat)
 
static HRESULT WINAPI ResourceManager_ReenlistmentComplete (IResourceManager *iface)
 
static HRESULT WINAPI ResourceManager_GetDistributedTransactionManager (IResourceManager *iface, REFIID iid, void **ppvObject)
 
static HRESULT ResourceManager_Create (REFIID riid, void **ppv)
 
static TransactionOptionsimpl_from_ITransactionOptions (ITransactionOptions *iface)
 
static HRESULT WINAPI TransactionOptions_QueryInterface (ITransactionOptions *iface, REFIID iid, void **ppv)
 
static ULONG WINAPI TransactionOptions_AddRef (ITransactionOptions *iface)
 
static ULONG WINAPI TransactionOptions_Release (ITransactionOptions *iface)
 
static HRESULT WINAPI TransactionOptions_SetOptions (ITransactionOptions *iface, XACTOPT *pOptions)
 
static HRESULT WINAPI TransactionOptions_GetOptions (ITransactionOptions *iface, XACTOPT *pOptions)
 
static HRESULT TransactionOptions_Create (ITransactionOptions **ppv)
 
static Transactionimpl_from_ITransaction (ITransaction *iface)
 
static HRESULT WINAPI Transaction_QueryInterface (ITransaction *iface, REFIID iid, void **ppv)
 
static ULONG WINAPI Transaction_AddRef (ITransaction *iface)
 
static ULONG WINAPI Transaction_Release (ITransaction *iface)
 
static HRESULT WINAPI Transaction_Commit (ITransaction *iface, BOOL fRetaining, DWORD grfTC, DWORD grfRM)
 
static HRESULT WINAPI Transaction_Abort (ITransaction *iface, BOID *pboidReason, BOOL fRetaining, BOOL fAsync)
 
static HRESULT WINAPI Transaction_GetTransactionInfo (ITransaction *iface, XACTTRANSINFO *pinfo)
 
static HRESULT Transaction_Create (ISOLEVEL isoLevel, ULONG isoFlags, ITransactionOptions *pOptions, ITransaction **ppv)
 
static TransactionManagerimpl_from_ITransactionDispenser (ITransactionDispenser *iface)
 
static HRESULT WINAPI TransactionDispenser_QueryInterface (ITransactionDispenser *iface, REFIID iid, void **ppv)
 
static ULONG WINAPI TransactionDispenser_AddRef (ITransactionDispenser *iface)
 
static ULONG WINAPI TransactionDispenser_Release (ITransactionDispenser *iface)
 
static HRESULT WINAPI TransactionDispenser_GetOptionsObject (ITransactionDispenser *iface, ITransactionOptions **ppOptions)
 
static HRESULT WINAPI TransactionDispenser_BeginTransaction (ITransactionDispenser *iface, IUnknown *punkOuter, ISOLEVEL isoLevel, ULONG isoFlags, ITransactionOptions *pOptions, ITransaction **ppTransaction)
 
static TransactionManagerimpl_from_IResourceManagerFactory2 (IResourceManagerFactory2 *iface)
 
static HRESULT WINAPI ResourceManagerFactory2_QueryInterface (IResourceManagerFactory2 *iface, REFIID iid, void **ppv)
 
static ULONG WINAPI ResourceManagerFactory2_AddRef (IResourceManagerFactory2 *iface)
 
static ULONG WINAPI ResourceManagerFactory2_Release (IResourceManagerFactory2 *iface)
 
static HRESULT WINAPI ResourceManagerFactory2_Create (IResourceManagerFactory2 *iface, GUID *pguidRM, CHAR *pszRMName, IResourceManagerSink *pIResMgrSink, IResourceManager **ppResMgr)
 
static HRESULT WINAPI ResourceManagerFactory2_CreateEx (IResourceManagerFactory2 *iface, GUID *pguidRM, CHAR *pszRMName, IResourceManagerSink *pIResMgrSink, REFIID riidRequested, void **ppResMgr)
 
static TransactionManagerimpl_from_ITransactionImportWhereabouts (ITransactionImportWhereabouts *iface)
 
static HRESULT WINAPI TransactionImportWhereabouts_QueryInterface (ITransactionImportWhereabouts *iface, REFIID iid, void **ppv)
 
static ULONG WINAPI TransactionImportWhereabouts_AddRef (ITransactionImportWhereabouts *iface)
 
static ULONG WINAPI TransactionImportWhereabouts_Release (ITransactionImportWhereabouts *iface)
 
static HRESULT WINAPI TransactionImportWhereabouts_GetWhereaboutsSize (ITransactionImportWhereabouts *iface, ULONG *pcbWhereabouts)
 
static HRESULT WINAPI TransactionImportWhereabouts_GetWhereabouts (ITransactionImportWhereabouts *iface, ULONG cbWhereabouts, BYTE *rgbWhereabouts, ULONG *pcbUsed)
 
static TransactionManagerimpl_from_ITransactionImport (ITransactionImport *iface)
 
static HRESULT WINAPI TransactionImport_QueryInterface (ITransactionImport *iface, REFIID iid, void **ppv)
 
static ULONG WINAPI TransactionImport_AddRef (ITransactionImport *iface)
 
static ULONG WINAPI TransactionImport_Release (ITransactionImport *iface)
 
static HRESULT WINAPI TransactionImport_Import (ITransactionImport *iface, ULONG cbTransactionCookie, byte *rgbTransactionCookie, IID *piid, void **ppvTransaction)
 
static HRESULT TransactionManager_Create (REFIID riid, void **ppv)
 
BOOL WINAPI DllMain (HINSTANCE hinst, DWORD reason, LPVOID reserved)
 
static BOOL is_local_machineA (const CHAR *server)
 
static BOOL is_local_machineW (const WCHAR *server)
 
HRESULT CDECL DtcGetTransactionManager (char *host, char *tm_name, REFIID riid, DWORD dwReserved1, WORD wcbReserved2, void *pvReserved2, void **ppv)
 
HRESULT CDECL DtcGetTransactionManagerExA (CHAR *host, CHAR *tm_name, REFIID riid, DWORD options, void *config, void **ppv)
 
HRESULT CDECL DtcGetTransactionManagerExW (WCHAR *host, WCHAR *tm_name, REFIID riid, DWORD options, void *config, void **ppv)
 

Variables

static const IResourceManagerVtbl ResourceManager_Vtbl
 
static const ITransactionOptionsVtbl TransactionOptions_Vtbl
 
static const ITransactionVtbl Transaction_Vtbl
 
static const ITransactionDispenserVtbl TransactionDispenser_Vtbl
 
static const IResourceManagerFactory2Vtbl ResourceManagerFactory2_Vtbl
 
static const ITransactionImportWhereaboutsVtbl TransactionImportWhereabouts_Vtbl
 
static const ITransactionImportVtbl TransactionImport_Vtbl
 

Macro Definition Documentation

◆ COBJMACROS

#define COBJMACROS

Definition at line 20 of file xolehlp.c.

Function Documentation

◆ DllMain()

BOOL WINAPI DllMain ( HINSTANCE  hinst,
DWORD  reason,
LPVOID  reserved 
)

Definition at line 634 of file xolehlp.c.

635 {
636  TRACE("%p, %u, %p\n", hinst, reason, reserved);
637 
638  switch (reason)
639  {
640  case DLL_WINE_PREATTACH:
641  return FALSE; /* prefer native version */
642  case DLL_PROCESS_ATTACH:
644  break;
645  }
646  return TRUE;
647 }
#define TRUE
Definition: types.h:120
BOOL WINAPI DisableThreadLibraryCalls(IN HMODULE hLibModule)
Definition: loader.c:85
#define DLL_PROCESS_ATTACH
Definition: compat.h:120
r reserved
Definition: btrfs.c:2865
#define TRACE(s)
Definition: solgame.cpp:4
static WCHAR reason[MAX_STRING_RESOURCE_LEN]
Definition: object.c:1904
static HINSTANCE hinst
Definition: edit.c:551

◆ DtcGetTransactionManager()

HRESULT CDECL DtcGetTransactionManager ( char host,
char tm_name,
REFIID  riid,
DWORD  dwReserved1,
WORD  wcbReserved2,
void pvReserved2,
void **  ppv 
)

Definition at line 670 of file xolehlp.c.

672 {
673  TRACE("(%s, %s, %s, %d, %d, %p, %p)\n", debugstr_a(host), debugstr_a(tm_name),
674  debugstr_guid(riid), dwReserved1, wcbReserved2, pvReserved2, ppv);
675 
676  if (!is_local_machineA(host))
677  {
678  FIXME("remote computer not supported\n");
679  return E_NOTIMPL;
680  }
682 }
REFIID riid
Definition: precomp.h:44
char * host
Definition: whois.c:55
REFIID LPVOID * ppv
Definition: atlbase.h:39
#define FIXME(fmt,...)
Definition: debug.h:110
#define debugstr_guid
Definition: kernel32.h:35
#define TRACE(s)
Definition: solgame.cpp:4
#define debugstr_a
Definition: kernel32.h:31
#define E_NOTIMPL
Definition: ddrawi.h:99
static HRESULT TransactionManager_Create(REFIID riid, void **ppv)
Definition: xolehlp.c:613
static BOOL is_local_machineA(const CHAR *server)
Definition: xolehlp.c:649

◆ DtcGetTransactionManagerExA()

HRESULT CDECL DtcGetTransactionManagerExA ( CHAR host,
CHAR tm_name,
REFIID  riid,
DWORD  options,
void config,
void **  ppv 
)

Definition at line 684 of file xolehlp.c.

686 {
687  TRACE("(%s, %s, %s, %d, %p, %p)\n", debugstr_a(host), debugstr_a(tm_name),
689 
690  if (!is_local_machineA(host))
691  {
692  FIXME("remote computer not supported\n");
693  return E_NOTIMPL;
694  }
696 }
REFIID riid
Definition: precomp.h:44
char * host
Definition: whois.c:55
REFIID LPVOID * ppv
Definition: atlbase.h:39
#define FIXME(fmt,...)
Definition: debug.h:110
#define debugstr_guid
Definition: kernel32.h:35
#define TRACE(s)
Definition: solgame.cpp:4
#define debugstr_a
Definition: kernel32.h:31
#define E_NOTIMPL
Definition: ddrawi.h:99
static HRESULT TransactionManager_Create(REFIID riid, void **ppv)
Definition: xolehlp.c:613
static BOOL is_local_machineA(const CHAR *server)
Definition: xolehlp.c:649

◆ DtcGetTransactionManagerExW()

HRESULT CDECL DtcGetTransactionManagerExW ( WCHAR host,
WCHAR tm_name,
REFIID  riid,
DWORD  options,
void config,
void **  ppv 
)

Definition at line 698 of file xolehlp.c.

700 {
701  TRACE("(%s, %s, %s, %d, %p, %p)\n", debugstr_w(host), debugstr_w(tm_name),
703 
704  if (!is_local_machineW(host))
705  {
706  FIXME("remote computer not supported\n");
707  return E_NOTIMPL;
708  }
710 }
REFIID riid
Definition: precomp.h:44
char * host
Definition: whois.c:55
REFIID LPVOID * ppv
Definition: atlbase.h:39
#define debugstr_w
Definition: kernel32.h:32
#define FIXME(fmt,...)
Definition: debug.h:110
static BOOL is_local_machineW(const WCHAR *server)
Definition: xolehlp.c:659
#define debugstr_guid
Definition: kernel32.h:35
#define TRACE(s)
Definition: solgame.cpp:4
#define E_NOTIMPL
Definition: ddrawi.h:99
static HRESULT TransactionManager_Create(REFIID riid, void **ppv)
Definition: xolehlp.c:613

◆ impl_from_IResourceManager()

static ResourceManager* impl_from_IResourceManager ( IResourceManager iface)
inlinestatic

Definition at line 38 of file xolehlp.c.

39 {
40  return CONTAINING_RECORD(iface, ResourceManager, IResourceManager_iface);
41 }
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 ResourceManager_AddRef(), ResourceManager_QueryInterface(), and ResourceManager_Release().

◆ impl_from_IResourceManagerFactory2()

static TransactionManager* impl_from_IResourceManagerFactory2 ( IResourceManagerFactory2 iface)
inlinestatic

Definition at line 479 of file xolehlp.c.

480 {
481  return CONTAINING_RECORD(iface, TransactionManager, IResourceManagerFactory2_iface);
482 }
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 ResourceManagerFactory2_AddRef(), ResourceManagerFactory2_QueryInterface(), and ResourceManagerFactory2_Release().

◆ impl_from_ITransaction()

static Transaction* impl_from_ITransaction ( ITransaction iface)
inlinestatic

Definition at line 265 of file xolehlp.c.

266 {
267  return CONTAINING_RECORD(iface, Transaction, ITransaction_iface);
268 }
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 Transaction_AddRef(), Transaction_GetTransactionInfo(), Transaction_QueryInterface(), and Transaction_Release().

◆ impl_from_ITransactionDispenser()

static TransactionManager* impl_from_ITransactionDispenser ( ITransactionDispenser iface)
inlinestatic

Definition at line 382 of file xolehlp.c.

383 {
384  return CONTAINING_RECORD(iface, TransactionManager, ITransactionDispenser_iface);
385 }
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 TransactionDispenser_AddRef(), TransactionDispenser_QueryInterface(), and TransactionDispenser_Release().

◆ impl_from_ITransactionImport()

static TransactionManager* impl_from_ITransactionImport ( ITransactionImport iface)
inlinestatic

Definition at line 575 of file xolehlp.c.

576 {
577  return CONTAINING_RECORD(iface, TransactionManager, ITransactionImport_iface);
578 }
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 TransactionImport_AddRef(), TransactionImport_QueryInterface(), and TransactionImport_Release().

◆ impl_from_ITransactionImportWhereabouts()

static TransactionManager* impl_from_ITransactionImportWhereabouts ( ITransactionImportWhereabouts iface)
inlinestatic

Definition at line 525 of file xolehlp.c.

526 {
527  return CONTAINING_RECORD(iface, TransactionManager, ITransactionImportWhereabouts_iface);
528 }
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 TransactionImportWhereabouts_AddRef(), TransactionImportWhereabouts_QueryInterface(), and TransactionImportWhereabouts_Release().

◆ impl_from_ITransactionOptions()

static TransactionOptions* impl_from_ITransactionOptions ( ITransactionOptions iface)
inlinestatic

Definition at line 156 of file xolehlp.c.

157 {
158  return CONTAINING_RECORD(iface, TransactionOptions, ITransactionOptions_iface);
159 }
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 TransactionOptions_AddRef(), TransactionOptions_GetOptions(), TransactionOptions_QueryInterface(), TransactionOptions_Release(), and TransactionOptions_SetOptions().

◆ is_local_machineA()

static BOOL is_local_machineA ( const CHAR server)
static

Definition at line 649 of file xolehlp.c.

650 {
651  static const CHAR dot[] = ".";
653  DWORD len = ARRAY_SIZE( buffer );
654 
655  if (!server || !strcmp( server, dot )) return TRUE;
656  if (GetComputerNameA( buffer, &len ) && !lstrcmpiA( server, buffer )) return TRUE;
657  return FALSE;
658 }
BOOL WINAPI SHIM_OBJ_NAME() GetComputerNameA(LPSTR lpBuffer, LPDWORD lpnSize)
Definition: shimtest.c:21
#define TRUE
Definition: types.h:120
static rfbScreenInfoPtr server
Definition: vnc.c:74
int WINAPI lstrcmpiA(LPCSTR lpString1, LPCSTR lpString2)
Definition: lstring.c:42
char CHAR
Definition: xmlstorage.h:175
GLuint buffer
Definition: glext.h:5915
unsigned long DWORD
Definition: ntddk_ex.h:95
GLenum GLsizei len
Definition: glext.h:6722
#define MAX_COMPUTERNAME_LENGTH
Definition: winbase.h:240
#define ARRAY_SIZE(a)
Definition: main.h:24
int strcmp(const char *String1, const char *String2)
Definition: utclib.c:469

Referenced by DtcGetTransactionManager(), and DtcGetTransactionManagerExA().

◆ is_local_machineW()

static BOOL is_local_machineW ( const WCHAR server)
static

Definition at line 659 of file xolehlp.c.

660 {
661  static const WCHAR dotW[] = {'.',0};
663  DWORD len = ARRAY_SIZE( buffer );
664 
665  if (!server || !strcmpW( server, dotW )) return TRUE;
666  if (GetComputerNameW( buffer, &len ) && !strcmpiW( server, buffer )) return TRUE;
667  return FALSE;
668 }
#define TRUE
Definition: types.h:120
static rfbScreenInfoPtr server
Definition: vnc.c:74
GLuint buffer
Definition: glext.h:5915
BOOL WINAPI GetComputerNameW(LPWSTR lpBuffer, LPDWORD lpnSize)
Definition: compname.c:440
__wchar_t WCHAR
Definition: xmlstorage.h:180
unsigned long DWORD
Definition: ntddk_ex.h:95
GLenum GLsizei len
Definition: glext.h:6722
#define strcmpiW(s1, s2)
Definition: unicode.h:39
#define MAX_COMPUTERNAME_LENGTH
Definition: winbase.h:240
#define ARRAY_SIZE(a)
Definition: main.h:24
WINE_UNICODE_INLINE int strcmpW(const WCHAR *str1, const WCHAR *str2)
Definition: unicode.h:229
static const WCHAR dotW[]
Definition: directory.c:80

Referenced by DtcGetTransactionManagerExW().

◆ ResourceManager_AddRef()

static ULONG WINAPI ResourceManager_AddRef ( IResourceManager iface)
static

Definition at line 67 of file xolehlp.c.

68 {
71 
72  TRACE("(%p) refcount=%u\n", iface, ref);
73 
74  return ref;
75 }
static ResourceManager * impl_from_IResourceManager(IResourceManager *iface)
Definition: xolehlp.c:38
Definition: send.c:47
GLenum GLint ref
Definition: glext.h:6028
#define TRACE(s)
Definition: solgame.cpp:4
#define InterlockedIncrement
Definition: armddk.h:53
unsigned int ULONG
Definition: retypes.h:1

◆ ResourceManager_Create()

static HRESULT ResourceManager_Create ( REFIID  riid,
void **  ppv 
)
static

Definition at line 127 of file xolehlp.c.

128 {
130  HRESULT ret;
131 
132  if (!ppv) return E_INVALIDARG;
133 
134  This = HeapAlloc(GetProcessHeap(), 0, sizeof(ResourceManager));
135  if (!This) return E_OUTOFMEMORY;
136 
137  This->IResourceManager_iface.lpVtbl = &ResourceManager_Vtbl;
138  This->ref = 1;
139 
140  ret = IResourceManager_QueryInterface(&This->IResourceManager_iface, riid, ppv);
141  IResourceManager_Release(&This->IResourceManager_iface);
142 
143  return ret;
144 }
REFIID riid
Definition: precomp.h:44
REFIID LPVOID * ppv
Definition: atlbase.h:39
static const IResourceManagerVtbl ResourceManager_Vtbl
Definition: xolehlp.c:117
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
#define E_INVALIDARG
Definition: ddrawi.h:101
#define GetProcessHeap()
Definition: compat.h:403
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
LONG HRESULT
Definition: typedefs.h:77
int ret

Referenced by ResourceManagerFactory2_Create(), and ResourceManagerFactory2_CreateEx().

◆ ResourceManager_Enlist()

static HRESULT WINAPI ResourceManager_Enlist ( IResourceManager iface,
ITransaction pTransaction,
ITransactionResourceAsync pRes,
XACTUOW pUOW,
LONG pisoLevel,
ITransactionEnlistmentAsync **  ppEnlist 
)
static

Definition at line 91 of file xolehlp.c.

94 {
95  FIXME("(%p, %p, %p, %p, %p, %p): stub\n", iface, pTransaction,pRes,pUOW,
96  pisoLevel,ppEnlist);
97  return E_NOTIMPL;
98 }
#define FIXME(fmt,...)
Definition: debug.h:110
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ ResourceManager_GetDistributedTransactionManager()

static HRESULT WINAPI ResourceManager_GetDistributedTransactionManager ( IResourceManager iface,
REFIID  iid,
void **  ppvObject 
)
static

Definition at line 110 of file xolehlp.c.

112 {
113  FIXME("(%p, %s, %p): stub\n", iface, debugstr_guid(iid), ppvObject);
114  return E_NOTIMPL;
115 }
#define FIXME(fmt,...)
Definition: debug.h:110
#define debugstr_guid
Definition: kernel32.h:35
REFIID LPVOID * ppvObject
Definition: precomp.h:44
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ ResourceManager_QueryInterface()

static HRESULT WINAPI ResourceManager_QueryInterface ( IResourceManager iface,
REFIID  iid,
void **  ppv 
)
static

Definition at line 43 of file xolehlp.c.

45 {
47  TRACE("(%p,%s,%p)\n", iface, debugstr_guid(iid), ppv);
48 
49  if (!ppv) return E_INVALIDARG;
50 
51  if (IsEqualIID(&IID_IUnknown, iid) ||
52  IsEqualIID(&IID_IResourceManager, iid))
53  {
54  *ppv = &This->IResourceManager_iface;
55  }
56  else
57  {
58  FIXME("(%s): not implemented\n", debugstr_guid(iid));
59  *ppv = NULL;
60  return E_NOINTERFACE;
61  }
62 
63  IUnknown_AddRef((IUnknown*)*ppv);
64  return S_OK;
65 }
#define E_NOINTERFACE
Definition: winerror.h:2364
static ResourceManager * impl_from_IResourceManager(IResourceManager *iface)
Definition: xolehlp.c:38
REFIID LPVOID * ppv
Definition: atlbase.h:39
#define FIXME(fmt,...)
Definition: debug.h:110
#define E_INVALIDARG
Definition: ddrawi.h:101
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
#define IsEqualIID(riid1, riid2)
Definition: guiddef.h:95

◆ ResourceManager_Reenlist()

static HRESULT WINAPI ResourceManager_Reenlist ( IResourceManager iface,
byte pPrepInfo,
ULONG  cbPrepInfo,
DWORD  lTimeout,
XACTSTAT pXactStat 
)
static

Definition at line 99 of file xolehlp.c.

101 {
102  FIXME("(%p, %p, %u, %u, %p): stub\n", iface, pPrepInfo, cbPrepInfo, lTimeout, pXactStat);
103  return E_NOTIMPL;
104 }
#define FIXME(fmt,...)
Definition: debug.h:110
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ ResourceManager_ReenlistmentComplete()

static HRESULT WINAPI ResourceManager_ReenlistmentComplete ( IResourceManager iface)
static

Definition at line 105 of file xolehlp.c.

106 {
107  FIXME("(%p): stub\n", iface);
108  return S_OK;
109 }
#define FIXME(fmt,...)
Definition: debug.h:110
#define S_OK
Definition: intsafe.h:59

◆ ResourceManager_Release()

static ULONG WINAPI ResourceManager_Release ( IResourceManager iface)
static

Definition at line 77 of file xolehlp.c.

78 {
81 
82  TRACE("(%p) refcount=%u\n", iface, ref);
83 
84  if (ref == 0)
85  {
87  }
88 
89  return ref;
90 }
static ResourceManager * impl_from_IResourceManager(IResourceManager *iface)
Definition: xolehlp.c:38
Definition: send.c:47
GLenum GLint ref
Definition: glext.h:6028
#define TRACE(s)
Definition: solgame.cpp:4
#define GetProcessHeap()
Definition: compat.h:403
#define InterlockedDecrement
Definition: armddk.h:52
unsigned int ULONG
Definition: retypes.h:1
#define HeapFree(x, y, z)
Definition: compat.h:402

◆ ResourceManagerFactory2_AddRef()

static ULONG WINAPI ResourceManagerFactory2_AddRef ( IResourceManagerFactory2 iface)
static

Definition at line 491 of file xolehlp.c.

492 {
494  return TransactionDispenser_AddRef(&This->ITransactionDispenser_iface);
495 }
static ULONG WINAPI TransactionDispenser_AddRef(ITransactionDispenser *iface)
Definition: xolehlp.c:424
static TransactionManager * impl_from_IResourceManagerFactory2(IResourceManagerFactory2 *iface)
Definition: xolehlp.c:479

◆ ResourceManagerFactory2_Create()

static HRESULT WINAPI ResourceManagerFactory2_Create ( IResourceManagerFactory2 iface,
GUID pguidRM,
CHAR pszRMName,
IResourceManagerSink pIResMgrSink,
IResourceManager **  ppResMgr 
)
static

Definition at line 502 of file xolehlp.c.

504 {
505  FIXME("(%p, %s, %s, %p, %p): semi-stub\n", iface, debugstr_guid(pguidRM),
506  debugstr_a(pszRMName), pIResMgrSink, ppResMgr);
507  return ResourceManager_Create(&IID_IResourceManager, (void**)ppResMgr);
508 }
#define FIXME(fmt,...)
Definition: debug.h:110
#define debugstr_guid
Definition: kernel32.h:35
#define debugstr_a
Definition: kernel32.h:31
static HRESULT ResourceManager_Create(REFIID riid, void **ppv)
Definition: xolehlp.c:127

◆ ResourceManagerFactory2_CreateEx()

static HRESULT WINAPI ResourceManagerFactory2_CreateEx ( IResourceManagerFactory2 iface,
GUID pguidRM,
CHAR pszRMName,
IResourceManagerSink pIResMgrSink,
REFIID  riidRequested,
void **  ppResMgr 
)
static

Definition at line 509 of file xolehlp.c.

511 {
512  FIXME("(%p, %s, %s, %p, %s, %p): semi-stub\n", iface, debugstr_guid(pguidRM),
513  debugstr_a(pszRMName), pIResMgrSink, debugstr_guid(riidRequested), ppResMgr);
514 
515  return ResourceManager_Create(riidRequested, ppResMgr);
516 }
#define FIXME(fmt,...)
Definition: debug.h:110
#define debugstr_guid
Definition: kernel32.h:35
#define debugstr_a
Definition: kernel32.h:31
static HRESULT ResourceManager_Create(REFIID riid, void **ppv)
Definition: xolehlp.c:127

◆ ResourceManagerFactory2_QueryInterface()

static HRESULT WINAPI ResourceManagerFactory2_QueryInterface ( IResourceManagerFactory2 iface,
REFIID  iid,
void **  ppv 
)
static

Definition at line 484 of file xolehlp.c.

486 {
488  return TransactionDispenser_QueryInterface(&This->ITransactionDispenser_iface, iid, ppv);
489 }
REFIID LPVOID * ppv
Definition: atlbase.h:39
static HRESULT WINAPI TransactionDispenser_QueryInterface(ITransactionDispenser *iface, REFIID iid, void **ppv)
Definition: xolehlp.c:387
static TransactionManager * impl_from_IResourceManagerFactory2(IResourceManagerFactory2 *iface)
Definition: xolehlp.c:479

◆ ResourceManagerFactory2_Release()

static ULONG WINAPI ResourceManagerFactory2_Release ( IResourceManagerFactory2 iface)
static

Definition at line 497 of file xolehlp.c.

498 {
500  return TransactionDispenser_Release(&This->ITransactionDispenser_iface);
501 }
static ULONG WINAPI TransactionDispenser_Release(ITransactionDispenser *iface)
Definition: xolehlp.c:434
static TransactionManager * impl_from_IResourceManagerFactory2(IResourceManagerFactory2 *iface)
Definition: xolehlp.c:479

◆ Transaction_Abort()

static HRESULT WINAPI Transaction_Abort ( ITransaction iface,
BOID pboidReason,
BOOL  fRetaining,
BOOL  fAsync 
)
static

Definition at line 324 of file xolehlp.c.

326 {
327  FIXME("(%p, %p, %d, %d): stub\n", iface, pboidReason, fRetaining, fAsync);
328  return E_NOTIMPL;
329 }
#define FIXME(fmt,...)
Definition: debug.h:110
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ Transaction_AddRef()

static ULONG WINAPI Transaction_AddRef ( ITransaction iface)
static

Definition at line 294 of file xolehlp.c.

295 {
298 
299  TRACE("(%p) refcount=%u\n", iface, ref);
300 
301  return ref;
302 }
static Transaction * impl_from_ITransaction(ITransaction *iface)
Definition: xolehlp.c:265
Definition: send.c:47
GLenum GLint ref
Definition: glext.h:6028
#define TRACE(s)
Definition: solgame.cpp:4
#define InterlockedIncrement
Definition: armddk.h:53
unsigned int ULONG
Definition: retypes.h:1

◆ Transaction_Commit()

static HRESULT WINAPI Transaction_Commit ( ITransaction iface,
BOOL  fRetaining,
DWORD  grfTC,
DWORD  grfRM 
)
static

Definition at line 318 of file xolehlp.c.

320 {
321  FIXME("(%p, %d, %08x, %08x): stub\n", iface, fRetaining, grfTC, grfRM);
322  return E_NOTIMPL;
323 }
#define FIXME(fmt,...)
Definition: debug.h:110
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ Transaction_Create()

static HRESULT Transaction_Create ( ISOLEVEL  isoLevel,
ULONG  isoFlags,
ITransactionOptions pOptions,
ITransaction **  ppv 
)
static

Definition at line 349 of file xolehlp.c.

351 {
352  Transaction *This;
353 
354  if (!ppv) return E_INVALIDARG;
355 
356  This = HeapAlloc(GetProcessHeap(), 0, sizeof(Transaction));
357  if (!This) return E_OUTOFMEMORY;
358  ZeroMemory(&This->info, sizeof(This->info));
359 
360  This->ITransaction_iface.lpVtbl = &Transaction_Vtbl;
361  This->ref = 1;
362  This->info.isoLevel = isoLevel;
363  This->info.isoFlags = isoFlags;
364 
365  *ppv = &This->ITransaction_iface;
366 
367  return S_OK;
368 }
REFIID LPVOID * ppv
Definition: atlbase.h:39
#define ZeroMemory
Definition: winbase.h:1642
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
static const ITransactionVtbl Transaction_Vtbl
Definition: xolehlp.c:340
#define E_INVALIDARG
Definition: ddrawi.h:101
#define GetProcessHeap()
Definition: compat.h:403
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
#define S_OK
Definition: intsafe.h:59

Referenced by TransactionDispenser_BeginTransaction().

◆ Transaction_GetTransactionInfo()

static HRESULT WINAPI Transaction_GetTransactionInfo ( ITransaction iface,
XACTTRANSINFO pinfo 
)
static

Definition at line 330 of file xolehlp.c.

332 {
334  TRACE("(%p, %p)\n", iface, pinfo);
335  if (!pinfo) return E_INVALIDARG;
336  *pinfo = This->info;
337  return S_OK;
338 }
static Transaction * impl_from_ITransaction(ITransaction *iface)
Definition: xolehlp.c:265
#define E_INVALIDARG
Definition: ddrawi.h:101
#define TRACE(s)
Definition: solgame.cpp:4
#define S_OK
Definition: intsafe.h:59

◆ Transaction_QueryInterface()

static HRESULT WINAPI Transaction_QueryInterface ( ITransaction iface,
REFIID  iid,
void **  ppv 
)
static

Definition at line 270 of file xolehlp.c.

272 {
274  TRACE("(%p,%s,%p)\n", iface, debugstr_guid(iid), ppv);
275 
276  if (!ppv) return E_INVALIDARG;
277 
278  if (IsEqualIID(&IID_IUnknown, iid) ||
279  IsEqualIID(&IID_ITransaction, iid))
280  {
281  *ppv = &This->ITransaction_iface;
282  }
283  else
284  {
285  FIXME("(%s): not implemented\n", debugstr_guid(iid));
286  *ppv = NULL;
287  return E_NOINTERFACE;
288  }
289 
290  IUnknown_AddRef((IUnknown*)*ppv);
291  return S_OK;
292 }
#define E_NOINTERFACE
Definition: winerror.h:2364
static Transaction * impl_from_ITransaction(ITransaction *iface)
Definition: xolehlp.c:265
REFIID LPVOID * ppv
Definition: atlbase.h:39
#define FIXME(fmt,...)
Definition: debug.h:110
#define E_INVALIDARG
Definition: ddrawi.h:101
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
#define IsEqualIID(riid1, riid2)
Definition: guiddef.h:95

◆ Transaction_Release()

static ULONG WINAPI Transaction_Release ( ITransaction iface)
static

Definition at line 304 of file xolehlp.c.

305 {
308 
309  TRACE("(%p) refcount=%u\n", iface, ref);
310 
311  if (ref == 0)
312  {
314  }
315 
316  return ref;
317 }
static Transaction * impl_from_ITransaction(ITransaction *iface)
Definition: xolehlp.c:265
Definition: send.c:47
GLenum GLint ref
Definition: glext.h:6028
#define TRACE(s)
Definition: solgame.cpp:4
#define GetProcessHeap()
Definition: compat.h:403
#define InterlockedDecrement
Definition: armddk.h:52
unsigned int ULONG
Definition: retypes.h:1
#define HeapFree(x, y, z)
Definition: compat.h:402

◆ TransactionDispenser_AddRef()

static ULONG WINAPI TransactionDispenser_AddRef ( ITransactionDispenser iface)
static

Definition at line 424 of file xolehlp.c.

425 {
428 
429  TRACE("(%p) refcount=%u\n", iface, ref);
430 
431  return ref;
432 }
Definition: send.c:47
GLenum GLint ref
Definition: glext.h:6028
#define TRACE(s)
Definition: solgame.cpp:4
static TransactionManager * impl_from_ITransactionDispenser(ITransactionDispenser *iface)
Definition: xolehlp.c:382
#define InterlockedIncrement
Definition: armddk.h:53
unsigned int ULONG
Definition: retypes.h:1

Referenced by ResourceManagerFactory2_AddRef(), TransactionImport_AddRef(), and TransactionImportWhereabouts_AddRef().

◆ TransactionDispenser_BeginTransaction()

static HRESULT WINAPI TransactionDispenser_BeginTransaction ( ITransactionDispenser iface,
IUnknown punkOuter,
ISOLEVEL  isoLevel,
ULONG  isoFlags,
ITransactionOptions pOptions,
ITransaction **  ppTransaction 
)
static

Definition at line 457 of file xolehlp.c.

463 {
464  FIXME("(%p, %p, %08x, %08x, %p, %p): semi-stub\n", iface, punkOuter,
465  isoLevel, isoFlags, pOptions, ppTransaction);
466 
467  if (!ppTransaction) return E_INVALIDARG;
468  if (punkOuter) return CLASS_E_NOAGGREGATION;
469  return Transaction_Create(isoLevel, isoFlags, pOptions, ppTransaction);
470 }
static HRESULT Transaction_Create(ISOLEVEL isoLevel, ULONG isoFlags, ITransactionOptions *pOptions, ITransaction **ppv)
Definition: xolehlp.c:349
#define FIXME(fmt,...)
Definition: debug.h:110
#define E_INVALIDARG
Definition: ddrawi.h:101
#define CLASS_E_NOAGGREGATION
Definition: winerror.h:2662

◆ TransactionDispenser_GetOptionsObject()

static HRESULT WINAPI TransactionDispenser_GetOptionsObject ( ITransactionDispenser iface,
ITransactionOptions **  ppOptions 
)
static

Definition at line 449 of file xolehlp.c.

451 {
452  TRACE("(%p, %p)\n", iface, ppOptions);
453 
454  if (!ppOptions) return E_INVALIDARG;
456 }
static HRESULT TransactionOptions_Create(ITransactionOptions **ppv)
Definition: xolehlp.c:238
#define E_INVALIDARG
Definition: ddrawi.h:101
#define TRACE(s)
Definition: solgame.cpp:4
LPAVICOMPRESSOPTIONS * ppOptions
Definition: api.c:62

◆ TransactionDispenser_QueryInterface()

static HRESULT WINAPI TransactionDispenser_QueryInterface ( ITransactionDispenser iface,
REFIID  iid,
void **  ppv 
)
static

Definition at line 387 of file xolehlp.c.

389 {
391  TRACE("(%p,%s,%p)\n", iface, debugstr_guid(iid), ppv);
392 
393  if (!ppv) return E_INVALIDARG;
394 
395  if (IsEqualIID(&IID_IUnknown, iid) ||
396  IsEqualIID(&IID_ITransactionDispenser, iid))
397  {
398  *ppv = &This->ITransactionDispenser_iface;
399  }
400  else if (IsEqualIID(&IID_IResourceManagerFactory, iid) ||
401  IsEqualIID(&IID_IResourceManagerFactory2, iid))
402  {
403  *ppv = &This->IResourceManagerFactory2_iface;
404  }
405  else if (IsEqualIID(&IID_ITransactionImportWhereabouts, iid))
406  {
407  *ppv = &This->ITransactionImportWhereabouts_iface;
408  }
409  else if (IsEqualIID(&IID_ITransactionImport, iid))
410  {
411  *ppv = &This->ITransactionImport_iface;
412  }
413  else
414  {
415  FIXME("(%s): not implemented\n", debugstr_guid(iid));
416  *ppv = NULL;
417  return E_NOINTERFACE;
418  }
419 
420  IUnknown_AddRef((IUnknown*)*ppv);
421  return S_OK;
422 }
#define E_NOINTERFACE
Definition: winerror.h:2364
REFIID LPVOID * ppv
Definition: atlbase.h:39
#define FIXME(fmt,...)
Definition: debug.h:110
#define E_INVALIDARG
Definition: ddrawi.h:101
smooth NULL
Definition: ftsmooth.c:416
#define debugstr_guid
Definition: kernel32.h:35
#define TRACE(s)
Definition: solgame.cpp:4
const GUID IID_IUnknown
static TransactionManager * impl_from_ITransactionDispenser(ITransactionDispenser *iface)
Definition: xolehlp.c:382
#define S_OK
Definition: intsafe.h:59
#define IsEqualIID(riid1, riid2)
Definition: guiddef.h:95

Referenced by ResourceManagerFactory2_QueryInterface(), TransactionImport_QueryInterface(), and TransactionImportWhereabouts_QueryInterface().

◆ TransactionDispenser_Release()

static ULONG WINAPI TransactionDispenser_Release ( ITransactionDispenser iface)
static

Definition at line 434 of file xolehlp.c.

435 {
438 
439  TRACE("(%p) refcount=%u\n", iface, ref);
440 
441  if (ref == 0)
442  {
444  }
445 
446  return ref;
447 }
Definition: send.c:47
GLenum GLint ref
Definition: glext.h:6028
#define TRACE(s)
Definition: solgame.cpp:4
#define GetProcessHeap()
Definition: compat.h:403
#define InterlockedDecrement
Definition: armddk.h:52
static TransactionManager * impl_from_ITransactionDispenser(ITransactionDispenser *iface)
Definition: xolehlp.c:382
unsigned int ULONG
Definition: retypes.h:1
#define HeapFree(x, y, z)
Definition: compat.h:402

Referenced by ResourceManagerFactory2_Release(), TransactionImport_Release(), and TransactionImportWhereabouts_Release().

◆ TransactionImport_AddRef()

static ULONG WINAPI TransactionImport_AddRef ( ITransactionImport iface)
static

Definition at line 587 of file xolehlp.c.

588 {
590  return TransactionDispenser_AddRef(&This->ITransactionDispenser_iface);
591 }
static TransactionManager * impl_from_ITransactionImport(ITransactionImport *iface)
Definition: xolehlp.c:575
static ULONG WINAPI TransactionDispenser_AddRef(ITransactionDispenser *iface)
Definition: xolehlp.c:424

◆ TransactionImport_Import()

static HRESULT WINAPI TransactionImport_Import ( ITransactionImport iface,
ULONG  cbTransactionCookie,
byte rgbTransactionCookie,
IID piid,
void **  ppvTransaction 
)
static

Definition at line 598 of file xolehlp.c.

600 {
601  FIXME("(%p, %u, %p, %s, %p): stub\n", iface, cbTransactionCookie, rgbTransactionCookie, debugstr_guid(piid), ppvTransaction);
602 
603  if (!rgbTransactionCookie || !piid || !ppvTransaction) return E_INVALIDARG;
604  return E_NOTIMPL;
605 }
#define FIXME(fmt,...)
Definition: debug.h:110
#define E_INVALIDARG
Definition: ddrawi.h:101
#define debugstr_guid
Definition: kernel32.h:35
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ TransactionImport_QueryInterface()

static HRESULT WINAPI TransactionImport_QueryInterface ( ITransactionImport iface,
REFIID  iid,
void **  ppv 
)
static

Definition at line 580 of file xolehlp.c.

582 {
584  return TransactionDispenser_QueryInterface(&This->ITransactionDispenser_iface, iid, ppv);
585 }
REFIID LPVOID * ppv
Definition: atlbase.h:39
static TransactionManager * impl_from_ITransactionImport(ITransactionImport *iface)
Definition: xolehlp.c:575
static HRESULT WINAPI TransactionDispenser_QueryInterface(ITransactionDispenser *iface, REFIID iid, void **ppv)
Definition: xolehlp.c:387

◆ TransactionImport_Release()

static ULONG WINAPI TransactionImport_Release ( ITransactionImport iface)
static

Definition at line 593 of file xolehlp.c.

594 {
596  return TransactionDispenser_Release(&This->ITransactionDispenser_iface);
597 }
static ULONG WINAPI TransactionDispenser_Release(ITransactionDispenser *iface)
Definition: xolehlp.c:434
static TransactionManager * impl_from_ITransactionImport(ITransactionImport *iface)
Definition: xolehlp.c:575

◆ TransactionImportWhereabouts_AddRef()

static ULONG WINAPI TransactionImportWhereabouts_AddRef ( ITransactionImportWhereabouts iface)
static

Definition at line 537 of file xolehlp.c.

538 {
540  return TransactionDispenser_AddRef(&This->ITransactionDispenser_iface);
541 }
static TransactionManager * impl_from_ITransactionImportWhereabouts(ITransactionImportWhereabouts *iface)
Definition: xolehlp.c:525
static ULONG WINAPI TransactionDispenser_AddRef(ITransactionDispenser *iface)
Definition: xolehlp.c:424

◆ TransactionImportWhereabouts_GetWhereabouts()

static HRESULT WINAPI TransactionImportWhereabouts_GetWhereabouts ( ITransactionImportWhereabouts iface,
ULONG  cbWhereabouts,
BYTE rgbWhereabouts,
ULONG pcbUsed 
)
static

Definition at line 557 of file xolehlp.c.

559 {
560  FIXME("(%p, %u, %p, %p): stub returning fake value\n", iface, cbWhereabouts, rgbWhereabouts, pcbUsed);
561 
562  if (!rgbWhereabouts || !pcbUsed) return E_INVALIDARG;
563  *rgbWhereabouts = 0;
564  *pcbUsed = 1;
565  return S_OK;
566 }
#define FIXME(fmt,...)
Definition: debug.h:110
#define E_INVALIDARG
Definition: ddrawi.h:101
#define S_OK
Definition: intsafe.h:59

◆ TransactionImportWhereabouts_GetWhereaboutsSize()

static HRESULT WINAPI TransactionImportWhereabouts_GetWhereaboutsSize ( ITransactionImportWhereabouts iface,
ULONG pcbWhereabouts 
)
static

Definition at line 548 of file xolehlp.c.

550 {
551  FIXME("(%p, %p): stub returning fake value\n", iface, pcbWhereabouts);
552 
553  if (!pcbWhereabouts) return E_INVALIDARG;
554  *pcbWhereabouts = 1;
555  return S_OK;
556 }
#define FIXME(fmt,...)
Definition: debug.h:110
#define E_INVALIDARG
Definition: ddrawi.h:101
#define S_OK
Definition: intsafe.h:59

◆ TransactionImportWhereabouts_QueryInterface()

static HRESULT WINAPI TransactionImportWhereabouts_QueryInterface ( ITransactionImportWhereabouts iface,
REFIID  iid,
void **  ppv 
)
static

Definition at line 530 of file xolehlp.c.

532 {
534  return TransactionDispenser_QueryInterface(&This->ITransactionDispenser_iface, iid, ppv);
535 }
static TransactionManager * impl_from_ITransactionImportWhereabouts(ITransactionImportWhereabouts *iface)
Definition: xolehlp.c:525
REFIID LPVOID * ppv
Definition: atlbase.h:39
static HRESULT WINAPI TransactionDispenser_QueryInterface(ITransactionDispenser *iface, REFIID iid, void **ppv)
Definition: xolehlp.c:387

◆ TransactionImportWhereabouts_Release()

static ULONG WINAPI TransactionImportWhereabouts_Release ( ITransactionImportWhereabouts iface)
static

Definition at line 543 of file xolehlp.c.

544 {
546  return TransactionDispenser_Release(&This->ITransactionDispenser_iface);
547 }
static TransactionManager * impl_from_ITransactionImportWhereabouts(ITransactionImportWhereabouts *iface)
Definition: xolehlp.c:525
static ULONG WINAPI TransactionDispenser_Release(ITransactionDispenser *iface)
Definition: xolehlp.c:434

◆ TransactionManager_Create()

static HRESULT TransactionManager_Create ( REFIID  riid,
void **  ppv 
)
static

Definition at line 613 of file xolehlp.c.

614 {
616  HRESULT ret;
617 
619  if (!This) return E_OUTOFMEMORY;
620 
621  This->ITransactionDispenser_iface.lpVtbl = &TransactionDispenser_Vtbl;
622  This->IResourceManagerFactory2_iface.lpVtbl = &ResourceManagerFactory2_Vtbl;
623  This->ITransactionImportWhereabouts_iface.lpVtbl = &TransactionImportWhereabouts_Vtbl;
624  This->ITransactionImport_iface.lpVtbl = &TransactionImport_Vtbl;
625  This->ref = 1;
626 
627  ret = ITransactionDispenser_QueryInterface(&This->ITransactionDispenser_iface, riid, ppv);
628  ITransactionDispenser_Release(&This->ITransactionDispenser_iface);
629 
630  return ret;
631 }
static const ITransactionDispenserVtbl TransactionDispenser_Vtbl
Definition: xolehlp.c:471
REFIID riid
Definition: precomp.h:44
REFIID LPVOID * ppv
Definition: atlbase.h:39
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
static const ITransactionImportVtbl TransactionImport_Vtbl
Definition: xolehlp.c:606
#define GetProcessHeap()
Definition: compat.h:403
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
LONG HRESULT
Definition: typedefs.h:77
int ret
static const ITransactionImportWhereaboutsVtbl TransactionImportWhereabouts_Vtbl
Definition: xolehlp.c:567
static const IResourceManagerFactory2Vtbl ResourceManagerFactory2_Vtbl
Definition: xolehlp.c:517

Referenced by DtcGetTransactionManager(), DtcGetTransactionManagerExA(), and DtcGetTransactionManagerExW().

◆ TransactionOptions_AddRef()

static ULONG WINAPI TransactionOptions_AddRef ( ITransactionOptions iface)
static

Definition at line 185 of file xolehlp.c.

186 {
189 
190  TRACE("(%p) refcount=%u\n", iface, ref);
191 
192  return ref;
193 }
Definition: send.c:47
GLenum GLint ref
Definition: glext.h:6028
#define TRACE(s)
Definition: solgame.cpp:4
static TransactionOptions * impl_from_ITransactionOptions(ITransactionOptions *iface)
Definition: xolehlp.c:156
#define InterlockedIncrement
Definition: armddk.h:53
unsigned int ULONG
Definition: retypes.h:1

◆ TransactionOptions_Create()

static HRESULT TransactionOptions_Create ( ITransactionOptions **  ppv)
static

Definition at line 238 of file xolehlp.c.

239 {
241 
242  if (!ppv) return E_INVALIDARG;
243 
245  if (!This) return E_OUTOFMEMORY;
246 
247  This->ITransactionOptions_iface.lpVtbl = &TransactionOptions_Vtbl;
248  This->ref = 1;
249 
250  *ppv = &This->ITransactionOptions_iface;
251 
252  return S_OK;
253 }
static const ITransactionOptionsVtbl TransactionOptions_Vtbl
Definition: xolehlp.c:230
REFIID LPVOID * ppv
Definition: atlbase.h:39
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
#define E_INVALIDARG
Definition: ddrawi.h:101
#define GetProcessHeap()
Definition: compat.h:403
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
#define S_OK
Definition: intsafe.h:59

Referenced by TransactionDispenser_GetOptionsObject().

◆ TransactionOptions_GetOptions()

static HRESULT WINAPI TransactionOptions_GetOptions ( ITransactionOptions iface,
XACTOPT pOptions 
)
static

Definition at line 219 of file xolehlp.c.

221 {
223 
224  TRACE("(%p, %p)\n", iface, pOptions);
225  if (!pOptions) return E_INVALIDARG;
226  *pOptions = This->opts;
227  return S_OK;
228 }
#define E_INVALIDARG
Definition: ddrawi.h:101
#define TRACE(s)
Definition: solgame.cpp:4
static TransactionOptions * impl_from_ITransactionOptions(ITransactionOptions *iface)
Definition: xolehlp.c:156
#define S_OK
Definition: intsafe.h:59

◆ TransactionOptions_QueryInterface()

static HRESULT WINAPI TransactionOptions_QueryInterface ( ITransactionOptions iface,
REFIID  iid,
void **  ppv 
)
static

Definition at line 161 of file xolehlp.c.

163 {
165  TRACE("(%p,%s,%p)\n", iface, debugstr_guid(iid), ppv);
166 
167  if (!ppv) return E_INVALIDARG;
168 
169  if (IsEqualIID(&IID_IUnknown, iid) ||
170  IsEqualIID(&IID_ITransactionOptions, iid))
171  {
172  *ppv = &This->ITransactionOptions_iface;
173  }
174  else
175  {
176  FIXME("(%s): not implemented\n", debugstr_guid(iid));
177  *ppv = NULL;
178  return E_NOINTERFACE;
179  }
180 
181  IUnknown_AddRef((IUnknown*)*ppv);
182  return S_OK;
183 }
#define E_NOINTERFACE
Definition: winerror.h:2364
REFIID LPVOID * ppv
Definition: atlbase.h:39
#define FIXME(fmt,...)
Definition: debug.h:110
#define E_INVALIDARG
Definition: ddrawi.h:101
smooth NULL
Definition: ftsmooth.c:416
#define debugstr_guid
Definition: kernel32.h:35
#define TRACE(s)
Definition: solgame.cpp:4
const GUID IID_IUnknown
static TransactionOptions * impl_from_ITransactionOptions(ITransactionOptions *iface)
Definition: xolehlp.c:156
#define S_OK
Definition: intsafe.h:59
#define IsEqualIID(riid1, riid2)
Definition: guiddef.h:95

◆ TransactionOptions_Release()

static ULONG WINAPI TransactionOptions_Release ( ITransactionOptions iface)
static

Definition at line 195 of file xolehlp.c.

196 {
199 
200  TRACE("(%p) refcount=%u\n", iface, ref);
201 
202  if (ref == 0)
203  {
205  }
206 
207  return ref;
208 }
Definition: send.c:47
GLenum GLint ref
Definition: glext.h:6028
#define TRACE(s)
Definition: solgame.cpp:4
#define GetProcessHeap()
Definition: compat.h:403
#define InterlockedDecrement
Definition: armddk.h:52
static TransactionOptions * impl_from_ITransactionOptions(ITransactionOptions *iface)
Definition: xolehlp.c:156
unsigned int ULONG
Definition: retypes.h:1
#define HeapFree(x, y, z)
Definition: compat.h:402

◆ TransactionOptions_SetOptions()

static HRESULT WINAPI TransactionOptions_SetOptions ( ITransactionOptions iface,
XACTOPT pOptions 
)
static

Definition at line 209 of file xolehlp.c.

211 {
213 
214  if (!pOptions) return E_INVALIDARG;
215  TRACE("(%p, %u, %s)\n", iface, pOptions->ulTimeout, debugstr_a(pOptions->szDescription));
216  This->opts = *pOptions;
217  return S_OK;
218 }
char szDescription[40]
Definition: transact.idl:145
#define E_INVALIDARG
Definition: ddrawi.h:101
#define TRACE(s)
Definition: solgame.cpp:4
#define debugstr_a
Definition: kernel32.h:31
ULONG ulTimeout
Definition: transact.idl:144
static TransactionOptions * impl_from_ITransactionOptions(ITransactionOptions *iface)
Definition: xolehlp.c:156
#define S_OK
Definition: intsafe.h:59

◆ WINE_DEFAULT_DEBUG_CHANNEL()

WINE_DEFAULT_DEBUG_CHANNEL ( xolehlp  )

Variable Documentation

◆ ResourceManager_Vtbl

const IResourceManagerVtbl ResourceManager_Vtbl
static
Initial value:
= {
}
static HRESULT WINAPI ResourceManager_GetDistributedTransactionManager(IResourceManager *iface, REFIID iid, void **ppvObject)
Definition: xolehlp.c:110
static HRESULT WINAPI ResourceManager_ReenlistmentComplete(IResourceManager *iface)
Definition: xolehlp.c:105
static HRESULT WINAPI ResourceManager_Reenlist(IResourceManager *iface, byte *pPrepInfo, ULONG cbPrepInfo, DWORD lTimeout, XACTSTAT *pXactStat)
Definition: xolehlp.c:99
static ULONG WINAPI ResourceManager_Release(IResourceManager *iface)
Definition: xolehlp.c:77
static HRESULT WINAPI ResourceManager_QueryInterface(IResourceManager *iface, REFIID iid, void **ppv)
Definition: xolehlp.c:43
static ULONG WINAPI ResourceManager_AddRef(IResourceManager *iface)
Definition: xolehlp.c:67
static HRESULT WINAPI ResourceManager_Enlist(IResourceManager *iface, ITransaction *pTransaction, ITransactionResourceAsync *pRes, XACTUOW *pUOW, LONG *pisoLevel, ITransactionEnlistmentAsync **ppEnlist)
Definition: xolehlp.c:91

Definition at line 117 of file xolehlp.c.

Referenced by ResourceManager_Create().

◆ ResourceManagerFactory2_Vtbl

const IResourceManagerFactory2Vtbl ResourceManagerFactory2_Vtbl
static
Initial value:
= {
}
static ULONG WINAPI ResourceManagerFactory2_Release(IResourceManagerFactory2 *iface)
Definition: xolehlp.c:497
static HRESULT WINAPI ResourceManagerFactory2_Create(IResourceManagerFactory2 *iface, GUID *pguidRM, CHAR *pszRMName, IResourceManagerSink *pIResMgrSink, IResourceManager **ppResMgr)
Definition: xolehlp.c:502
static ULONG WINAPI ResourceManagerFactory2_AddRef(IResourceManagerFactory2 *iface)
Definition: xolehlp.c:491
static HRESULT WINAPI ResourceManagerFactory2_QueryInterface(IResourceManagerFactory2 *iface, REFIID iid, void **ppv)
Definition: xolehlp.c:484
static HRESULT WINAPI ResourceManagerFactory2_CreateEx(IResourceManagerFactory2 *iface, GUID *pguidRM, CHAR *pszRMName, IResourceManagerSink *pIResMgrSink, REFIID riidRequested, void **ppResMgr)
Definition: xolehlp.c:509

Definition at line 517 of file xolehlp.c.

Referenced by TransactionManager_Create().

◆ Transaction_Vtbl

const ITransactionVtbl Transaction_Vtbl
static
Initial value:
= {
}
static ULONG WINAPI Transaction_AddRef(ITransaction *iface)
Definition: xolehlp.c:294
static ULONG WINAPI Transaction_Release(ITransaction *iface)
Definition: xolehlp.c:304
static HRESULT WINAPI Transaction_Commit(ITransaction *iface, BOOL fRetaining, DWORD grfTC, DWORD grfRM)
Definition: xolehlp.c:318
static HRESULT WINAPI Transaction_Abort(ITransaction *iface, BOID *pboidReason, BOOL fRetaining, BOOL fAsync)
Definition: xolehlp.c:324
static HRESULT WINAPI Transaction_GetTransactionInfo(ITransaction *iface, XACTTRANSINFO *pinfo)
Definition: xolehlp.c:330
static HRESULT WINAPI Transaction_QueryInterface(ITransaction *iface, REFIID iid, void **ppv)
Definition: xolehlp.c:270

Definition at line 340 of file xolehlp.c.

Referenced by Transaction_Create().

◆ TransactionDispenser_Vtbl

const ITransactionDispenserVtbl TransactionDispenser_Vtbl
static
Initial value:
= {
}
static ULONG WINAPI TransactionDispenser_Release(ITransactionDispenser *iface)
Definition: xolehlp.c:434
static ULONG WINAPI TransactionDispenser_AddRef(ITransactionDispenser *iface)
Definition: xolehlp.c:424
static HRESULT WINAPI TransactionDispenser_QueryInterface(ITransactionDispenser *iface, REFIID iid, void **ppv)
Definition: xolehlp.c:387
static HRESULT WINAPI TransactionDispenser_GetOptionsObject(ITransactionDispenser *iface, ITransactionOptions **ppOptions)
Definition: xolehlp.c:449
static HRESULT WINAPI TransactionDispenser_BeginTransaction(ITransactionDispenser *iface, IUnknown *punkOuter, ISOLEVEL isoLevel, ULONG isoFlags, ITransactionOptions *pOptions, ITransaction **ppTransaction)
Definition: xolehlp.c:457

Definition at line 471 of file xolehlp.c.

Referenced by TransactionManager_Create().

◆ TransactionImport_Vtbl

const ITransactionImportVtbl TransactionImport_Vtbl
static
Initial value:
= {
}
static HRESULT WINAPI TransactionImport_Import(ITransactionImport *iface, ULONG cbTransactionCookie, byte *rgbTransactionCookie, IID *piid, void **ppvTransaction)
Definition: xolehlp.c:598
static ULONG WINAPI TransactionImport_AddRef(ITransactionImport *iface)
Definition: xolehlp.c:587
static HRESULT WINAPI TransactionImport_QueryInterface(ITransactionImport *iface, REFIID iid, void **ppv)
Definition: xolehlp.c:580
static ULONG WINAPI TransactionImport_Release(ITransactionImport *iface)
Definition: xolehlp.c:593

Definition at line 606 of file xolehlp.c.

Referenced by TransactionManager_Create().

◆ TransactionImportWhereabouts_Vtbl

const ITransactionImportWhereaboutsVtbl TransactionImportWhereabouts_Vtbl
static
Initial value:
= {
}
static ULONG WINAPI TransactionImportWhereabouts_AddRef(ITransactionImportWhereabouts *iface)
Definition: xolehlp.c:537
static HRESULT WINAPI TransactionImportWhereabouts_GetWhereabouts(ITransactionImportWhereabouts *iface, ULONG cbWhereabouts, BYTE *rgbWhereabouts, ULONG *pcbUsed)
Definition: xolehlp.c:557
static HRESULT WINAPI TransactionImportWhereabouts_GetWhereaboutsSize(ITransactionImportWhereabouts *iface, ULONG *pcbWhereabouts)
Definition: xolehlp.c:548
static HRESULT WINAPI TransactionImportWhereabouts_QueryInterface(ITransactionImportWhereabouts *iface, REFIID iid, void **ppv)
Definition: xolehlp.c:530
static ULONG WINAPI TransactionImportWhereabouts_Release(ITransactionImportWhereabouts *iface)
Definition: xolehlp.c:543

Definition at line 567 of file xolehlp.c.

Referenced by TransactionManager_Create().

◆ TransactionOptions_Vtbl

const ITransactionOptionsVtbl TransactionOptions_Vtbl
static
Initial value:
= {
}
static ULONG WINAPI TransactionOptions_Release(ITransactionOptions *iface)
Definition: xolehlp.c:195
static HRESULT WINAPI TransactionOptions_SetOptions(ITransactionOptions *iface, XACTOPT *pOptions)
Definition: xolehlp.c:209
static HRESULT WINAPI TransactionOptions_QueryInterface(ITransactionOptions *iface, REFIID iid, void **ppv)
Definition: xolehlp.c:161
static HRESULT WINAPI TransactionOptions_GetOptions(ITransactionOptions *iface, XACTOPT *pOptions)
Definition: xolehlp.c:219
static ULONG WINAPI TransactionOptions_AddRef(ITransactionOptions *iface)
Definition: xolehlp.c:185

Definition at line 230 of file xolehlp.c.

Referenced by TransactionOptions_Create().