ReactOS 0.4.17-dev-966-gf06eace
winsxs.idl File Reference

Go to the source code of this file.

Classes

struct  _FUSION_INSTALL_REFERENCE_
 
struct  _ASSEMBLY_INFO
 
interface  IAssemblyCache
 
interface  IAssemblyCacheItem
 
interface  unique
 

Typedefs

typedef struct _FUSION_INSTALL_REFERENCE_ FUSION_INSTALL_REFERENCE
 
typedef struct _FUSION_INSTALL_REFERENCE_ * LPFUSION_INSTALL_REFERENCE
 
typedef struct _ASSEMBLY_INFO ASSEMBLY_INFO
 
typedef const struct _FUSION_INSTALL_REFERENCE_ * LPCFUSION_INSTALL_REFERENCE
 

Enumerations

enum  CREATE_ASM_NAME_OBJ_FLAGS { CANOF_PARSE_DISPLAY_NAME = 0x1 , CANOF_SET_DEFAULT_VALUES = 0x2 }
 

Functions

HRESULT WINAPI CreateAssemblyCache (IAssemblyCache **, DWORD)
 
HRESULT WINAPI CreateAssemblyNameObject (LPASSEMBLYNAME *, LPCWSTR, DWORD, LPVOID)
 

Typedef Documentation

◆ ASSEMBLY_INFO

◆ FUSION_INSTALL_REFERENCE

◆ LPCFUSION_INSTALL_REFERENCE

◆ LPFUSION_INSTALL_REFERENCE

Enumeration Type Documentation

◆ CREATE_ASM_NAME_OBJ_FLAGS

Enumerator
CANOF_PARSE_DISPLAY_NAME 
CANOF_SET_DEFAULT_VALUES 

Definition at line 191 of file winsxs.idl.

192{
CREATE_ASM_NAME_OBJ_FLAGS
Definition: winsxs.idl:192
@ CANOF_PARSE_DISPLAY_NAME
Definition: winsxs.idl:193
@ CANOF_SET_DEFAULT_VALUES
Definition: winsxs.idl:194

Function Documentation

◆ CreateAssemblyCache()

HRESULT WINAPI CreateAssemblyCache ( IAssemblyCache **  ppAsmCache,
DWORD  dwReserved 
)

Definition at line 555 of file asmcache.c.

556{
558
559 TRACE("(%p, %ld)\n", ppAsmCache, dwReserved);
560
561 if (!ppAsmCache)
562 return E_INVALIDARG;
563
564 *ppAsmCache = NULL;
565
566 if (!(cache = malloc(sizeof(*cache)))) return E_OUTOFMEMORY;
567
569 cache->ref = 1;
571 if (!cache->lock)
572 {
573 free( cache );
575 }
576 *ppAsmCache = &cache->IAssemblyCache_iface;
577 return S_OK;
578}
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
#define E_INVALIDARG
Definition: ddrawi.h:101
#define free
Definition: debug_ros.c:5
#define malloc
Definition: debug_ros.c:4
#define NULL
Definition: types.h:112
#define FALSE
Definition: types.h:117
static const WCHAR cache_mutex_nameW[]
Definition: asmcache.c:59
static const IAssemblyCacheVtbl AssemblyCacheVtbl
Definition: asmcache.c:541
#define S_OK
Definition: intsafe.h:52
_In_ HANDLE _In_ DWORD _In_ DWORD _Inout_opt_ LPOVERLAPPED _In_opt_ LPTRANSMIT_FILE_BUFFERS _In_ DWORD dwReserved
Definition: mswsock.h:95
#define TRACE(s)
Definition: solgame.cpp:4
Definition: cache.c:41
IAssemblyCache IAssemblyCache_iface
Definition: cache.c:42
HANDLE lock
Definition: cache.c:44
HANDLE WINAPI DECLSPEC_HOTPATCH CreateMutexW(IN LPSECURITY_ATTRIBUTES lpMutexAttributes OPTIONAL, IN BOOL bInitialOwner, IN LPCWSTR lpName OPTIONAL)
Definition: synch.c:525
DWORD WINAPI GetLastError(void)
Definition: except.c:1042
static HRESULT HRESULT_FROM_WIN32(unsigned int x)
Definition: winerror.h:210

Referenced by init_assembly_caches(), and test_QueryAssemblyInfo().

◆ CreateAssemblyNameObject()

HRESULT WINAPI CreateAssemblyNameObject ( LPASSEMBLYNAME *  obj,
LPCWSTR  assembly,
DWORD  flags,
LPVOID  reserved 
)

Definition at line 360 of file name.c.

365{
366 struct name *name;
367 HRESULT hr;
368
369 TRACE("%p, %s, 0x%08lx, %p\n", obj, debugstr_w(assembly), flags, reserved);
370
371 if (!obj) return E_INVALIDARG;
372
373 *obj = NULL;
375 return E_INVALIDARG;
376
377 if (!(name = calloc(1, sizeof(*name) )))
378 return E_OUTOFMEMORY;
379
381 name->refs = 1;
382
384 if (hr != S_OK)
385 {
386 free( name->name );
387 free( name->arch );
388 free( name->token );
389 free( name->type );
390 free( name->version );
391 free( name );
392 return hr;
393 }
395 return S_OK;
396}
HRESULT hr
Definition: delayimp.cpp:582
static HRESULT parse_displayname(struct name *name, const WCHAR *displayname)
Definition: name.c:307
static const IAssemblyNameVtbl name_vtbl
Definition: name.c:275
r reserved
Definition: btrfs.c:3006
GLbitfield flags
Definition: glext.h:7161
#define debugstr_w
Definition: kernel32.h:32
#define calloc
Definition: rosglue.h:14
Definition: name.c:39
WCHAR * arch
Definition: name.c:43
WCHAR * type
Definition: name.c:45
WCHAR * token
Definition: name.c:44
WCHAR * name
Definition: name.c:42
WCHAR * version
Definition: name.c:46
LONG refs
Definition: name.c:41
IAssemblyName IAssemblyName_iface
Definition: name.c:40

Referenced by test_CreateAssemblyNameObject().