4 * Copyright 1997 Marcus Meissner
21 /****************************************************************************
22 * QueryPathOfRegTypeLib16 [TYPELIB.14]
24 * the path is "Classes\Typelib\<guid>\<major>.<minor>\<lcid>\win16\"
29 QueryPathOfRegTypeLib16(
30 REFGUID guid
, /* [in] referenced guid */
31 WORD wMaj
, /* [in] major version */
32 WORD wMin
, /* [in] minor version */
33 LCID lcid
, /* [in] locale id */
34 LPBSTR16 path
/* [out] path of typelib */
37 char typelibkey
[100],pathname
[260];
41 WINE_StringFromCLSID(guid
,xguid
);
42 sprintf(typelibkey
,"SOFTWARE\\Classes\\Typelib\\%s\\%d.%d\\%ld\\win16",
43 xguid
,wMaj
,wMin
,lcid
&0xff
46 sprintf(xguid
,"<guid 0x%08lx>",(DWORD
)guid
);
47 FIXME(ole
,"(%s,%d,%d,0x%04lx,%p),can't handle non-string guids.\n",xguid
,wMaj
,wMin
,(DWORD
)lcid
,path
);
50 plen
= sizeof(pathname
);
51 if (RegQueryValue16(HKEY_LOCAL_MACHINE
,typelibkey
,pathname
,&plen
)) {
52 FIXME(ole
,"key %s not found\n",typelibkey
);
55 *path
= SysAllocString16(pathname
);
59 /****************************************************************************
60 * QueryPathOfRegTypeLib32 [OLEAUT32.164]
65 QueryPathOfRegTypeLib32(
66 REFGUID guid
, /* [in] referenced guid */
67 WORD wMaj
, /* [in] major version */
68 WORD wMin
, /* [in] minor version */
69 LCID lcid
, /* [in] locale id */
70 LPBSTR32 path
/* [out] path of typelib */
73 char typelibkey
[100],pathname
[260];
78 WINE_StringFromCLSID(guid
,xguid
);
79 sprintf(typelibkey
,"SOFTWARE\\Classes\\Typelib\\%s\\%d.%d\\%ld\\win32",
80 xguid
,wMaj
,wMin
,lcid
&0xff
83 sprintf(xguid
,"<guid 0x%08lx>",(DWORD
)guid
);
84 FIXME(ole
,"(%s,%d,%d,0x%04lx,%p),stub!\n",xguid
,wMaj
,wMin
,(DWORD
)lcid
,path
);
87 plen
= sizeof(pathname
);
88 if (RegQueryValue16(HKEY_LOCAL_MACHINE
,typelibkey
,pathname
,&plen
)) {
89 FIXME(ole
,"key %s not found\n",typelibkey
);
92 *path
= HEAP_strdupAtoW(GetProcessHeap(),0,pathname
);
96 /******************************************************************************
97 * LoadTypeLib [TYPELIB.3] Loads and registers a type library
99 * Docs: OLECHAR FAR* szFile
100 * Docs: iTypeLib FAR* FAR* pptLib
106 HRESULT WINAPI
LoadTypeLib(
107 void *szFile
, /* [in] Name of file to load from */
108 void * *pptLib
) /* [out] Pointer to pointer to loaded type library */
110 FIXME(ole
, "(%s,%p): stub\n",debugstr_a(szFile
),pptLib
);
114 /******************************************************************************
115 * LoadTypeLib32 [OLEAUT32.161]
116 * Loads and registers a type library
118 * Docs: OLECHAR FAR* szFile
119 * Docs: iTypeLib FAR* FAR* pptLib
125 HRESULT WINAPI
LoadTypeLib32(
126 void *szFile
, /* [in] Name of file to load from */
127 void * *pptLib
) /* [out] Pointer to pointer to loaded type library */
129 FIXME(ole
, "(%s,%p): stub\n",szFile
,pptLib
);
130 (long *)pptLib
=0x123;
131 return S_OK
; /* fixme: pretend everything is OK*/
134 /******************************************************************************
135 * RegisterTypeLib32 [OLEAUT32.163]
136 * Adds information about a type library to the System Registry
138 * Docs: ITypeLib FAR * ptlib
139 * Docs: OLECHAR FAR* szFullPath
140 * Docs: OLECHAR FAR* szHelpDir
146 HRESULT WINAPI
RegisterTypeLib32(
147 ITypeLib
* ptlib
, /*[in] Pointer to the library*/
148 OLECHAR
* szFullPath
, /*[in] full Path of the library*/
149 OLECHAR
* szHelpDir
) /*[in] dir to the helpfile for the library, may be NULL*/
150 { FIXME(ole
, "(%p,%s,%s): stub\n",ptlib
, szFullPath
,szHelpDir
);
151 return S_OK
; /* fixme: pretend everything is OK*/
154 /****************************************************************************
155 * OABuildVersion (TYPELIB.15)
159 DWORD WINAPI
OABuildVersion()
161 return MAKELONG(0xbd3, 0x3);