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
c0ccd263
Commit
c0ccd263
authored
Jul 24, 2001
by
Marcus Meissner
Committed by
Alexandre Julliard
Jul 24, 2001
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
OLEAUT32.DllGetClassObject and support for the Ole StdFont added (just
giving back a 8 point System font for now).
parent
db923057
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
100 additions
and
2 deletions
+100
-2
oleaut.c
dlls/oleaut32/oleaut.c
+24
-0
oleaut32.spec
dlls/oleaut32/oleaut32.spec
+2
-2
olefont.c
dlls/oleaut32/olefont.c
+74
-0
No files found.
dlls/oleaut32/oleaut.c
View file @
c0ccd263
...
...
@@ -11,6 +11,9 @@
#include "winerror.h"
#include "ole2.h"
#include "olectl.h"
#include "wine/obj_oleaut.h"
#include "wine/obj_olefont.h"
#include "heap.h"
#include "debugtools.h"
...
...
@@ -135,3 +138,24 @@ HRESULT WINAPI OLEAUT32_DllUnregisterServer() {
FIXME
(
"stub!
\n
"
);
return
S_OK
;
}
extern
void
_get_STDFONT_CF
(
LPVOID
);
HRESULT
WINAPI
OLEAUT32_DllGetClassObject
(
REFCLSID
rclsid
,
REFIID
iid
,
LPVOID
*
ppv
)
{
*
ppv
=
NULL
;
if
(
IsEqualGUID
(
rclsid
,
&
CLSID_StdFont
))
{
if
(
IsEqualGUID
(
iid
,
&
IID_IClassFactory
))
{
_get_STDFONT_CF
(
ppv
);
IClassFactory_AddRef
((
IClassFactory
*
)
*
ppv
);
return
S_OK
;
}
}
FIXME
(
"
\n\t
CLSID:
\t
%s,
\n\t
IID:
\t
%s
\n
"
,
debugstr_guid
(
rclsid
),
debugstr_guid
(
iid
));
return
CLASS_E_CLASSNOTAVAILABLE
;
}
HRESULT
WINAPI
OLEAUT32_DllCanUnloadNow
()
{
FIXME
(
"(), stub!
\n
"
);
return
S_FALSE
;
}
dlls/oleaut32/oleaut32.spec
View file @
c0ccd263
...
...
@@ -11,7 +11,7 @@ import ntdll.dll
debug_channels (ole typelib)
1 st
ub
DllGetClassObject
1 st
dcall DllGetClassObject(ptr ptr ptr) OLEAUT32_
DllGetClassObject
2 stdcall SysAllocString(wstr) SysAllocString
3 stdcall SysReAllocString(ptr wstr) SysReAllocString
4 stdcall SysAllocStringLen(wstr long) SysAllocStringLen
...
...
@@ -286,7 +286,7 @@ debug_channels (ole typelib)
397 stub UserMSG_to_local
398 stub UserMSG_free_inst
399 stub UserMSG_free_local
410 st
ub
DllCanUnloadNow
410 st
dcall DllCanUnloadNow() OLEAUT32_
DllCanUnloadNow
411 stdcall SafeArrayCreateVector(long long long) SafeArrayCreateVector
412 stdcall SafeArrayCopyData(ptr ptr) SafeArrayCopyData
413 stub VectorFromBstr
...
...
dlls/oleaut32/olefont.c
View file @
c0ccd263
...
...
@@ -14,6 +14,7 @@
#include "winuser.h"
#include "wine/unicode.h"
#include "oleauto.h"
/* for SysAllocString(....) */
#include "wine/obj_base.h"
#include "wine/obj_olefont.h"
#include "wine/obj_storage.h"
#include "ole2.h"
...
...
@@ -1588,3 +1589,76 @@ static HRESULT WINAPI OLEFontImpl_FindConnectionPoint(
}
}
/*******************************************************************************
* StdFont ClassFactory
*/
typedef
struct
{
/* IUnknown fields */
ICOM_VFIELD
(
IClassFactory
);
DWORD
ref
;
}
IClassFactoryImpl
;
static
HRESULT
WINAPI
SFCF_QueryInterface
(
LPCLASSFACTORY
iface
,
REFIID
riid
,
LPVOID
*
ppobj
)
{
ICOM_THIS
(
IClassFactoryImpl
,
iface
);
FIXME
(
"(%p)->(%s,%p),stub!
\n
"
,
This
,
debugstr_guid
(
riid
),
ppobj
);
return
E_NOINTERFACE
;
}
static
ULONG
WINAPI
SFCF_AddRef
(
LPCLASSFACTORY
iface
)
{
ICOM_THIS
(
IClassFactoryImpl
,
iface
);
return
++
(
This
->
ref
);
}
static
ULONG
WINAPI
SFCF_Release
(
LPCLASSFACTORY
iface
)
{
ICOM_THIS
(
IClassFactoryImpl
,
iface
);
/* static class, won't be freed */
return
--
(
This
->
ref
);
}
static
HRESULT
WINAPI
SFCF_CreateInstance
(
LPCLASSFACTORY
iface
,
LPUNKNOWN
pOuter
,
REFIID
riid
,
LPVOID
*
ppobj
)
{
ICOM_THIS
(
IClassFactoryImpl
,
iface
);
if
(
IsEqualGUID
(
riid
,
&
IID_IFont
))
{
FONTDESC
fd
;
WCHAR
fname
[]
=
{
'S'
,
'y'
,
's'
,
't'
,
'e'
,
'm'
,
0
};
fd
.
cbSizeofstruct
=
sizeof
(
fd
);
fd
.
lpstrName
=
fname
;
fd
.
cySize
.
s
.
Lo
=
80000
;
fd
.
cySize
.
s
.
Hi
=
0
;
fd
.
sWeight
=
0
;
fd
.
sCharset
=
0
;
fd
.
fItalic
=
0
;
fd
.
fUnderline
=
0
;
fd
.
fStrikethrough
=
0
;
return
OleCreateFontIndirect
(
&
fd
,
riid
,
ppobj
);
}
FIXME
(
"(%p)->(%p,%s,%p)
\n
"
,
This
,
pOuter
,
debugstr_guid
(
riid
),
ppobj
);
return
E_NOINTERFACE
;
}
static
HRESULT
WINAPI
SFCF_LockServer
(
LPCLASSFACTORY
iface
,
BOOL
dolock
)
{
ICOM_THIS
(
IClassFactoryImpl
,
iface
);
FIXME
(
"(%p)->(%d),stub!
\n
"
,
This
,
dolock
);
return
S_OK
;
}
static
ICOM_VTABLE
(
IClassFactory
)
SFCF_Vtbl
=
{
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
SFCF_QueryInterface
,
SFCF_AddRef
,
SFCF_Release
,
SFCF_CreateInstance
,
SFCF_LockServer
};
static
IClassFactoryImpl
STDFONT_CF
=
{
&
SFCF_Vtbl
,
1
};
void
_get_STDFONT_CF
(
LPVOID
*
ppv
)
{
*
ppv
=
(
LPVOID
)
&
STDFONT_CF
;
}
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