Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
e5c1b9dd
Commit
e5c1b9dd
authored
Jul 29, 2000
by
Marcus Meissner
Committed by
Alexandre Julliard
Jul 29, 2000
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added CreateTypeLib,LHashValOfNameSys stubs.
Check for correct struct magic before reading out of it.
parent
f06555a3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
62 additions
and
24 deletions
+62
-24
oleaut32.spec
dlls/oleaut32/oleaut32.spec
+2
-2
stubs.c
dlls/oleaut32/stubs.c
+33
-7
typelib.c
dlls/oleaut32/typelib.c
+27
-15
No files found.
dlls/oleaut32/oleaut32.spec
View file @
e5c1b9dd
...
...
@@ -133,12 +133,12 @@ import ole32.dll
148 stdcall SafeArrayPtrOfIndex(ptr ptr ptr) SafeArrayPtrOfIndex
149 stdcall SysStringByteLen(ptr) SysStringByteLen
150 stdcall SysAllocStringByteLen(ptr long) SysAllocStringByteLen
160 st
ub
CreateTypeLib
160 st
dcall CreateTypeLib(long wstr ptr)
CreateTypeLib
161 stdcall LoadTypeLib (wstr ptr) LoadTypeLib
162 stdcall LoadRegTypeLib (ptr long long long ptr) LoadRegTypeLib
163 stdcall RegisterTypeLib(ptr str str) RegisterTypeLib
164 stdcall QueryPathOfRegTypeLib(ptr long long long ptr) QueryPathOfRegTypeLib
165 st
ub
LHashValOfNameSys
165 st
dcall LHashValOfNameSys(long long wstr)
LHashValOfNameSys
166 stdcall LHashValOfNameSysA(long long str) LHashValOfNameSysA
170 stdcall OaBuildVersion() OaBuildVersion
171 stub ClearCustData
...
...
dlls/oleaut32/stubs.c
View file @
e5c1b9dd
...
...
@@ -9,6 +9,7 @@
#include "windef.h"
#include "debugtools.h"
#include "olectl.h"
#include "heap.h"
DEFAULT_DEBUG_CHANNEL
(
ole
);
...
...
@@ -33,14 +34,39 @@ HRESULT WINAPI OleCreatePropertyFrameIndirect( LPOCPFIPARAMS lpParams)
/***********************************************************************
* OleCreatePropertyFrame
*/
HRESULT
WINAPI
OleCreatePropertyFrame
(
HWND
hwndOwner
,
UINT
x
,
UINT
y
,
LPCOLESTR
lpszCaption
,
ULONG
cObjects
,
LPUNKNOWN
*
ppUnk
,
ULONG
cPages
,
LPCLSID
pPageClsID
,
LCID
lcid
,
DWORD
dwReserved
,
LPVOID
pvReserved
)
HRESULT
WINAPI
OleCreatePropertyFrame
(
HWND
hwndOwner
,
UINT
x
,
UINT
y
,
LPCOLESTR
lpszCaption
,
ULONG
cObjects
,
LPUNKNOWN
*
ppUnk
,
ULONG
cPages
,
LPCLSID
pPageClsID
,
LCID
lcid
,
DWORD
dwReserved
,
LPVOID
pvReserved
)
{
FIXME
(
"(%x,%d,%d,%
p
,%ld,%p,%ld,%p,%x,%ld,%p), not implemented (olepro32.dll)
\n
"
,
hwndOwner
,
x
,
y
,
lpszCaption
,
cObjects
,
ppUnk
,
cPages
,
pPageClsID
,
(
int
)
lcid
,
dwReserved
,
pvReserved
);
FIXME
(
"(%x,%d,%d,%
s
,%ld,%p,%ld,%p,%x,%ld,%p), not implemented (olepro32.dll)
\n
"
,
hwndOwner
,
x
,
y
,
debugstr_w
(
lpszCaption
),
cObjects
,
ppUnk
,
cPages
,
pPageClsID
,
(
int
)
lcid
,
dwReserved
,
pvReserved
);
return
S_OK
;
}
/***********************************************************************
* LHashValOfNameSysA
*/
ULONG
WINAPI
LHashValOfNameSysA
(
SYSKIND
skind
,
LCID
lcid
,
LPCSTR
str
)
{
/* returns a 16 bit hashvalue (depending on skind and lcid) in the
* lowword and a unique id made from skind and lcid in bits 23-16
*/
FIXME
(
"(%d,%x,%s), stub, returning 0x424242!
\n
"
,
skind
,(
int
)
lcid
,
debugstr_a
(
str
));
return
0x00424242
;
}
/***********************************************************************
* LHashValOfNameSys
*/
ULONG
WINAPI
LHashValOfNameSys
(
SYSKIND
skind
,
LCID
lcid
,
LPCOLESTR
str
)
{
LPSTR
strA
;
ULONG
res
;
if
(
!
str
)
return
0
;
strA
=
HEAP_strdupWtoA
(
GetProcessHeap
(),
0
,
str
);
res
=
LHashValOfNameSysA
(
skind
,
lcid
,
strA
);
HeapFree
(
GetProcessHeap
(),
0
,
strA
);
return
res
;
}
dlls/oleaut32/typelib.c
View file @
e5c1b9dd
...
...
@@ -128,6 +128,19 @@ QueryPathOfRegTypeLib(
}
/******************************************************************************
* CreateTypeLib [OLEAUT32] creates a typelib
*
* RETURNS
* Success: S_OK
* Failure: Status
*/
HRESULT
WINAPI
CreateTypeLib
(
SYSKIND
syskind
,
LPCOLESTR
szFile
,
/*ICreateTypeLib*/
IUnknown
**
ppctlib
)
{
FIXME
(
"(%d,%s,%p), stub!
\n
"
,
syskind
,
debugstr_w
(
szFile
),
ppctlib
);
return
E_FAIL
;
}
/******************************************************************************
* LoadTypeLib [TYPELIB.3] Loads and registers a type library
* NOTES
* Docs: OLECHAR FAR* szFile
...
...
@@ -296,15 +309,6 @@ DWORD WINAPI OaBuildVersion16(void)
}
}
/********************************************************************
* LHashValOfNameSysA [OLEAUT32]
*/
HRESULT
WINAPI
LHashValOfNameSysA
(
SYSKIND
sys
,
LCID
lcid
,
LPSTR
name
)
{
FIXME
(
"%s
\n
"
,
name
);
return
0
;
}
/* for better debugging info leave the static out for the time being */
#define static
...
...
@@ -1129,7 +1133,12 @@ int TLB_ReadTypeLib(LPSTR pszFileName, ITypeLib2 **ppTypeLib)
LPVOID
pBase
=
LockResource
(
hGlobal
);
if
(
pBase
)
{
*
ppTypeLib
=
ITypeLib2_Constructor
(
pBase
);
/* try to load as incore resource */
dwSignature
=
*
((
DWORD
*
)
pBase
);
if
(
dwSignature
==
MSFT_SIGNATURE
)
*
ppTypeLib
=
ITypeLib2_Constructor
(
pBase
);
else
FIXME
(
"Header type magic 0x%08lx not supported.
\n
"
,
dwSignature
);
}
FreeResource
(
hGlobal
);
}
...
...
@@ -1177,15 +1186,19 @@ static ITypeLib2* ITypeLib2_Constructor(LPVOID pLib)
/* read header */
TLB_Read
((
void
*
)
&
tlbHeader
,
sizeof
(
tlbHeader
),
&
cx
,
0
);
TRACE
(
"read header (0x%08x 0x%08x)
\n
"
,
tlbHeader
.
magic1
,
tlbHeader
.
magic2
);
TRACE
(
"header:
\n
"
);
TRACE
(
"
\t
magic1=0x%08x ,magic2=0x%08x
\n
"
,
tlbHeader
.
magic1
,
tlbHeader
.
magic2
);
if
(
memcmp
(
&
tlbHeader
.
magic1
,
TLBMAGIC2
,
4
))
{
FIXME
(
"Header type magic 0x%08x not supported.
\n
"
,
tlbHeader
.
magic1
);
return
NULL
;
}
/* there is a small number of information here until the next important
* part:
* the segment directory . Try to calculate the amount of data */
lPSegDir
=
sizeof
(
tlbHeader
)
+
(
tlbHeader
.
nrtypeinfos
)
*
4
+
(
tlbHeader
.
varflags
&
HELPDLLFLAG
?
4
:
0
);
lPSegDir
=
sizeof
(
tlbHeader
)
+
(
tlbHeader
.
nrtypeinfos
)
*
4
+
(
(
tlbHeader
.
varflags
&
HELPDLLFLAG
)
?
4
:
0
);
/* now read the segment directory */
TRACE
(
"read segment directory
\n
"
);
TRACE
(
"read segment directory
(at %ld)
\n
"
,
lPSegDir
);
TLB_Read
((
void
*
)
&
tlbSegDir
,
sizeof
(
tlbSegDir
),
&
cx
,
lPSegDir
);
cx
.
pTblDir
=
&
tlbSegDir
;
...
...
@@ -2932,4 +2945,3 @@ static ICOM_VTABLE(ITypeInfo2) tinfvt =
ITypeInfo2_fnGetAllVarCustData
,
ITypeInfo2_fnGetAllImplTypeCustData
,
};
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment