ReactOS 0.4.15-dev-5669-g09dde2c
metadata.c File Reference
#include "mscoree_private.h"
Include dependency graph for metadata.c:

Go to the source code of this file.

Classes

struct  MetaDataDispenser
 

Typedefs

typedef struct MetaDataDispenser MetaDataDispenser
 

Functions

static MetaDataDispenserimpl_from_IMetaDataDispenserEx (IMetaDataDispenserEx *iface)
 
static HRESULT WINAPI MetaDataDispenser_QueryInterface (IMetaDataDispenserEx *iface, REFIID riid, void **ppvObject)
 
static ULONG WINAPI MetaDataDispenser_AddRef (IMetaDataDispenserEx *iface)
 
static ULONG WINAPI MetaDataDispenser_Release (IMetaDataDispenserEx *iface)
 
static HRESULT WINAPI MetaDataDispenser_DefineScope (IMetaDataDispenserEx *iface, REFCLSID rclsid, DWORD dwCreateFlags, REFIID riid, IUnknown **ppIUnk)
 
static HRESULT WINAPI MetaDataDispenser_OpenScope (IMetaDataDispenserEx *iface, LPCWSTR szScope, DWORD dwOpenFlags, REFIID riid, IUnknown **ppIUnk)
 
static HRESULT WINAPI MetaDataDispenser_OpenScopeOnMemory (IMetaDataDispenserEx *iface, const void *pData, ULONG cbData, DWORD dwOpenFlags, REFIID riid, IUnknown **ppIUnk)
 
static HRESULT WINAPI MetaDataDispenser_SetOption (IMetaDataDispenserEx *iface, REFGUID optionid, const VARIANT *value)
 
static HRESULT WINAPI MetaDataDispenser_GetOption (IMetaDataDispenserEx *iface, REFGUID optionid, VARIANT *pvalue)
 
static HRESULT WINAPI MetaDataDispenser_OpenScopeOnITypeInfo (IMetaDataDispenserEx *iface, ITypeInfo *pITI, DWORD dwOpenFlags, REFIID riid, IUnknown **ppIUnk)
 
static HRESULT WINAPI MetaDataDispenser_GetCORSystemDirectory (IMetaDataDispenserEx *iface, LPWSTR szBuffer, DWORD cchBuffer, DWORD *pchBuffer)
 
static HRESULT WINAPI MetaDataDispenser_FindAssembly (IMetaDataDispenserEx *iface, LPCWSTR szAppBase, LPCWSTR szPrivateBin, LPCWSTR szGlobalBin, LPCWSTR szAssemblyName, LPWSTR szName, ULONG cchName, ULONG *pcName)
 
static HRESULT WINAPI MetaDataDispenser_FindAssemblyModule (IMetaDataDispenserEx *iface, LPCWSTR szAppBase, LPCWSTR szPrivateBin, LPCWSTR szGlobalBin, LPCWSTR szAssemblyName, LPCWSTR szModuleName, LPWSTR szName, ULONG cchName, ULONG *pcName)
 
HRESULT MetaDataDispenser_CreateInstance (IUnknown **ppUnk)
 

Variables

static const struct IMetaDataDispenserExVtbl MetaDataDispenserVtbl
 

Typedef Documentation

◆ MetaDataDispenser

Function Documentation

◆ impl_from_IMetaDataDispenserEx()

static MetaDataDispenser * impl_from_IMetaDataDispenserEx ( IMetaDataDispenserEx iface)
inlinestatic

Definition at line 29 of file metadata.c.

30{
31 return CONTAINING_RECORD(iface, MetaDataDispenser, IMetaDataDispenserEx_iface);
32}
#define CONTAINING_RECORD(address, type, field)
Definition: typedefs.h:260

Referenced by MetaDataDispenser_AddRef(), and MetaDataDispenser_Release().

◆ MetaDataDispenser_AddRef()

static ULONG WINAPI MetaDataDispenser_AddRef ( IMetaDataDispenserEx iface)
static

Definition at line 56 of file metadata.c.

57{
60
61 TRACE("%p ref=%u\n", This, ref);
62
63 return ref;
64}
#define InterlockedIncrement
Definition: armddk.h:53
static MetaDataDispenser * impl_from_IMetaDataDispenserEx(IMetaDataDispenserEx *iface)
Definition: metadata.c:29
#define TRACE(s)
Definition: solgame.cpp:4
Definition: send.c:48
uint32_t ULONG
Definition: typedefs.h:59

◆ MetaDataDispenser_CreateInstance()

HRESULT MetaDataDispenser_CreateInstance ( IUnknown **  ppUnk)

Definition at line 169 of file metadata.c.

170{
172
174
175 if (!This)
176 return E_OUTOFMEMORY;
177
178 This->IMetaDataDispenserEx_iface.lpVtbl = &MetaDataDispenserVtbl;
179 This->ref = 1;
180
181 *ppUnk = (IUnknown*)This;
182
183 return S_OK;
184}
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
#define GetProcessHeap()
Definition: compat.h:736
#define HeapAlloc
Definition: compat.h:733
static const struct IMetaDataDispenserExVtbl MetaDataDispenserVtbl
Definition: metadata.c:153
#define S_OK
Definition: intsafe.h:52

Referenced by RuntimeHost_GetInterface().

◆ MetaDataDispenser_DefineScope()

static HRESULT WINAPI MetaDataDispenser_DefineScope ( IMetaDataDispenserEx iface,
REFCLSID  rclsid,
DWORD  dwCreateFlags,
REFIID  riid,
IUnknown **  ppIUnk 
)
static

Definition at line 81 of file metadata.c.

83{
84 FIXME("%p %s %x %s %p\n", iface, debugstr_guid(rclsid), dwCreateFlags,
85 debugstr_guid(riid), ppIUnk);
86 return E_NOTIMPL;
87}
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99
REFIID riid
Definition: atlbase.h:39
#define debugstr_guid
Definition: kernel32.h:35

◆ MetaDataDispenser_FindAssembly()

static HRESULT WINAPI MetaDataDispenser_FindAssembly ( IMetaDataDispenserEx iface,
LPCWSTR  szAppBase,
LPCWSTR  szPrivateBin,
LPCWSTR  szGlobalBin,
LPCWSTR  szAssemblyName,
LPWSTR  szName,
ULONG  cchName,
ULONG pcName 
)
static

Definition at line 133 of file metadata.c.

136{
137 FIXME("%p %s %s %s %s %p %u %p\n", iface, debugstr_w(szAppBase),
138 debugstr_w(szPrivateBin), debugstr_w(szGlobalBin),
140 return E_NOTIMPL;
141}
#define debugstr_w
Definition: kernel32.h:32
static LPCWSTR szAssemblyName
Definition: asmenum.c:37
static const WCHAR szName[]
Definition: powrprof.c:45
_In_ PSID _Out_writes_to_opt_ cchName LPSTR _Inout_ LPDWORD cchName
Definition: winbase.h:2754

◆ MetaDataDispenser_FindAssemblyModule()

static HRESULT WINAPI MetaDataDispenser_FindAssemblyModule ( IMetaDataDispenserEx iface,
LPCWSTR  szAppBase,
LPCWSTR  szPrivateBin,
LPCWSTR  szGlobalBin,
LPCWSTR  szAssemblyName,
LPCWSTR  szModuleName,
LPWSTR  szName,
ULONG  cchName,
ULONG pcName 
)
static

Definition at line 143 of file metadata.c.

146{
147 FIXME("%p %s %s %s %s %s %p %u %p\n", iface, debugstr_w(szAppBase),
148 debugstr_w(szPrivateBin), debugstr_w(szGlobalBin), debugstr_w(szAssemblyName),
150 return E_NOTIMPL;
151}
LPCWSTR LPCWSTR szModuleName
Definition: env.c:37

◆ MetaDataDispenser_GetCORSystemDirectory()

static HRESULT WINAPI MetaDataDispenser_GetCORSystemDirectory ( IMetaDataDispenserEx iface,
LPWSTR  szBuffer,
DWORD  cchBuffer,
DWORD pchBuffer 
)
static

Definition at line 126 of file metadata.c.

128{
129 FIXME("%p %p %u %p\n", iface, szBuffer, cchBuffer, pchBuffer);
130 return E_NOTIMPL;
131}
static DWORD cchBuffer
Definition: fusion.c:85

◆ MetaDataDispenser_GetOption()

static HRESULT WINAPI MetaDataDispenser_GetOption ( IMetaDataDispenserEx iface,
REFGUID  optionid,
VARIANT pvalue 
)
static

Definition at line 112 of file metadata.c.

114{
115 FIXME("%p %s\n", iface, debugstr_guid(optionid));
116 return E_NOTIMPL;
117}

◆ MetaDataDispenser_OpenScope()

static HRESULT WINAPI MetaDataDispenser_OpenScope ( IMetaDataDispenserEx iface,
LPCWSTR  szScope,
DWORD  dwOpenFlags,
REFIID  riid,
IUnknown **  ppIUnk 
)
static

Definition at line 89 of file metadata.c.

91{
92 FIXME("%p %s %x %s %p\n", iface, debugstr_w(szScope), dwOpenFlags,
93 debugstr_guid(riid), ppIUnk);
94 return E_NOTIMPL;
95}

◆ MetaDataDispenser_OpenScopeOnITypeInfo()

static HRESULT WINAPI MetaDataDispenser_OpenScopeOnITypeInfo ( IMetaDataDispenserEx iface,
ITypeInfo pITI,
DWORD  dwOpenFlags,
REFIID  riid,
IUnknown **  ppIUnk 
)
static

Definition at line 119 of file metadata.c.

121{
122 FIXME("%p %p %u %s %p\n", iface, pITI, dwOpenFlags, debugstr_guid(riid), ppIUnk);
123 return E_NOTIMPL;
124}

◆ MetaDataDispenser_OpenScopeOnMemory()

static HRESULT WINAPI MetaDataDispenser_OpenScopeOnMemory ( IMetaDataDispenserEx iface,
const void pData,
ULONG  cbData,
DWORD  dwOpenFlags,
REFIID  riid,
IUnknown **  ppIUnk 
)
static

Definition at line 97 of file metadata.c.

99{
100 FIXME("%p %p %u %x %s %p\n", iface, pData, cbData, dwOpenFlags,
101 debugstr_guid(riid), ppIUnk);
102 return E_NOTIMPL;
103}
TW_UINT32 TW_UINT16 TW_UINT16 TW_MEMREF pData
Definition: twain.h:1830

◆ MetaDataDispenser_QueryInterface()

static HRESULT WINAPI MetaDataDispenser_QueryInterface ( IMetaDataDispenserEx iface,
REFIID  riid,
void **  ppvObject 
)
static

Definition at line 34 of file metadata.c.

36{
37 TRACE("%p %s %p\n", iface, debugstr_guid(riid), ppvObject);
38
39 if (IsEqualGUID(riid, &IID_IMetaDataDispenserEx) ||
40 IsEqualGUID(riid, &IID_IMetaDataDispenser) ||
42 {
43 *ppvObject = iface;
44 }
45 else
46 {
47 FIXME("Unsupported interface %s\n", debugstr_guid(riid));
48 return E_NOINTERFACE;
49 }
50
51 IMetaDataDispenserEx_AddRef( iface );
52
53 return S_OK;
54}
const GUID IID_IUnknown
#define IsEqualGUID(rguid1, rguid2)
Definition: guiddef.h:147
_In_ void _In_ PCCERT_CONTEXT _In_opt_ LPFILETIME _In_ DWORD _In_ DWORD _Outptr_opt_ void ** ppvObject
Definition: wincrypt.h:6082
#define E_NOINTERFACE
Definition: winerror.h:2364

◆ MetaDataDispenser_Release()

static ULONG WINAPI MetaDataDispenser_Release ( IMetaDataDispenserEx iface)
static

Definition at line 66 of file metadata.c.

67{
70
71 TRACE("%p ref=%u\n", This, ref);
72
73 if (ref == 0)
74 {
76 }
77
78 return ref;
79}
#define InterlockedDecrement
Definition: armddk.h:52
#define HeapFree(x, y, z)
Definition: compat.h:735

◆ MetaDataDispenser_SetOption()

static HRESULT WINAPI MetaDataDispenser_SetOption ( IMetaDataDispenserEx iface,
REFGUID  optionid,
const VARIANT value 
)
static

Definition at line 105 of file metadata.c.

107{
108 FIXME("%p %s\n", iface, debugstr_guid(optionid));
109 return E_NOTIMPL;
110}

Variable Documentation

◆ MetaDataDispenserVtbl

const struct IMetaDataDispenserExVtbl MetaDataDispenserVtbl
static
Initial value:
=
{
}
static HRESULT WINAPI MetaDataDispenser_QueryInterface(IMetaDataDispenserEx *iface, REFIID riid, void **ppvObject)
Definition: metadata.c:34
static ULONG WINAPI MetaDataDispenser_Release(IMetaDataDispenserEx *iface)
Definition: metadata.c:66
static HRESULT WINAPI MetaDataDispenser_GetOption(IMetaDataDispenserEx *iface, REFGUID optionid, VARIANT *pvalue)
Definition: metadata.c:112
static HRESULT WINAPI MetaDataDispenser_FindAssemblyModule(IMetaDataDispenserEx *iface, LPCWSTR szAppBase, LPCWSTR szPrivateBin, LPCWSTR szGlobalBin, LPCWSTR szAssemblyName, LPCWSTR szModuleName, LPWSTR szName, ULONG cchName, ULONG *pcName)
Definition: metadata.c:143
static HRESULT WINAPI MetaDataDispenser_OpenScopeOnMemory(IMetaDataDispenserEx *iface, const void *pData, ULONG cbData, DWORD dwOpenFlags, REFIID riid, IUnknown **ppIUnk)
Definition: metadata.c:97
static ULONG WINAPI MetaDataDispenser_AddRef(IMetaDataDispenserEx *iface)
Definition: metadata.c:56
static HRESULT WINAPI MetaDataDispenser_DefineScope(IMetaDataDispenserEx *iface, REFCLSID rclsid, DWORD dwCreateFlags, REFIID riid, IUnknown **ppIUnk)
Definition: metadata.c:81
static HRESULT WINAPI MetaDataDispenser_FindAssembly(IMetaDataDispenserEx *iface, LPCWSTR szAppBase, LPCWSTR szPrivateBin, LPCWSTR szGlobalBin, LPCWSTR szAssemblyName, LPWSTR szName, ULONG cchName, ULONG *pcName)
Definition: metadata.c:133
static HRESULT WINAPI MetaDataDispenser_OpenScopeOnITypeInfo(IMetaDataDispenserEx *iface, ITypeInfo *pITI, DWORD dwOpenFlags, REFIID riid, IUnknown **ppIUnk)
Definition: metadata.c:119
static HRESULT WINAPI MetaDataDispenser_SetOption(IMetaDataDispenserEx *iface, REFGUID optionid, const VARIANT *value)
Definition: metadata.c:105
static HRESULT WINAPI MetaDataDispenser_OpenScope(IMetaDataDispenserEx *iface, LPCWSTR szScope, DWORD dwOpenFlags, REFIID riid, IUnknown **ppIUnk)
Definition: metadata.c:89
static HRESULT WINAPI MetaDataDispenser_GetCORSystemDirectory(IMetaDataDispenserEx *iface, LPWSTR szBuffer, DWORD cchBuffer, DWORD *pchBuffer)
Definition: metadata.c:126

Definition at line 153 of file metadata.c.

Referenced by MetaDataDispenser_CreateInstance().