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
19966f8c
Commit
19966f8c
authored
Oct 11, 2008
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
comcat: Moved all the implementation to ole32 where it belongs.
parent
67fe27d0
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
17 additions
and
556 deletions
+17
-556
Makefile.in
dlls/comcat/Makefile.in
+1
-4
comcat.spec
dlls/comcat/comcat.spec
+1
-1
comcat_main.c
dlls/comcat/comcat_main.c
+9
-24
comcat_private.h
dlls/comcat/comcat_private.h
+0
-58
factory.c
dlls/comcat/factory.c
+0
-120
register.c
dlls/comcat/register.c
+0
-348
Makefile.in
dlls/ole32/Makefile.in
+1
-0
comcat.c
dlls/ole32/comcat.c
+0
-0
moniker.h
dlls/ole32/moniker.h
+1
-0
oleproxy.c
dlls/ole32/oleproxy.c
+3
-0
regsvr.c
dlls/ole32/regsvr.c
+1
-1
No files found.
dlls/comcat/Makefile.in
View file @
19966f8c
...
...
@@ -6,10 +6,7 @@ MODULE = comcat.dll
IMPORTS
=
uuid ole32 user32 advapi32 kernel32
C_SRCS
=
\
comcat_main.c
\
factory.c
\
information.c
\
register.c
comcat_main.c
RC_SRCS
=
\
version.rc
...
...
dlls/comcat/comcat.spec
View file @
19966f8c
@ stdcall -private DllCanUnloadNow()
@ stdcall -private DllGetClassObject(ptr ptr ptr)
@ stdcall -private DllGetClassObject(ptr ptr ptr)
ole32.DllGetClassObject
@ stdcall -private DllRegisterServer()
@ stdcall -private DllUnregisterServer()
dlls/comcat/comcat_main.c
View file @
19966f8c
...
...
@@ -18,38 +18,23 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#include
"comcat_private.h"
#include
<stdarg.h>
#
include "wine/debug.h"
#
define COBJMACROS
WINE_DEFAULT_DEBUG_CHANNEL
(
ole
);
LONG
dll_ref
=
0
;
/***********************************************************************
* Global string constant definitions
*/
const
WCHAR
clsid_keyname
[
6
]
=
{
'C'
,
'L'
,
'S'
,
'I'
,
'D'
,
0
};
/***********************************************************************
* DllGetClassObject (COMCAT.@)
*/
HRESULT
WINAPI
DllGetClassObject
(
REFCLSID
rclsid
,
REFIID
iid
,
LPVOID
*
ppv
)
{
*
ppv
=
NULL
;
if
(
IsEqualGUID
(
rclsid
,
&
CLSID_StdComponentCategoriesMgr
))
{
return
ComCatCF_Create
(
iid
,
ppv
);
}
FIXME
(
"
\n\t
CLSID:
\t
%s,
\n\t
IID:
\t
%s
\n
"
,
debugstr_guid
(
rclsid
),
debugstr_guid
(
iid
));
return
CLASS_E_CLASSNOTAVAILABLE
;
}
#include "windef.h"
#include "winbase.h"
#include "winuser.h"
#include "winreg.h"
#include "winerror.h"
#include "ole2.h"
/***********************************************************************
* DllCanUnloadNow (COMCAT.@)
*/
HRESULT
WINAPI
DllCanUnloadNow
(
void
)
{
return
dll_ref
!=
0
?
S_FALSE
:
S_OK
;
return
S_FALSE
;
}
/***********************************************************************
...
...
dlls/comcat/comcat_private.h
deleted
100644 → 0
View file @
67fe27d0
/*
* includes for comcat.dll
*
* Copyright (C) 2002 John K. Hohm
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#include <stdarg.h>
#define COBJMACROS
#include "windef.h"
#include "winbase.h"
#include "winuser.h"
#include "winreg.h"
#include "winerror.h"
#include "ole2.h"
#include "comcat.h"
#include "wine/unicode.h"
/**********************************************************************
* Dll lifetime tracking declaration for comcat.dll
*/
extern
LONG
dll_ref
;
extern
HRESULT
ComCatCF_Create
(
REFIID
riid
,
LPVOID
*
ppv
);
/**********************************************************************
* StdComponentCategoriesMgr declaration for comcat.dll
*/
typedef
struct
{
const
ICatRegisterVtbl
*
lpVtbl
;
const
ICatInformationVtbl
*
infVtbl
;
}
ComCatMgrImpl
;
extern
ComCatMgrImpl
COMCAT_ComCatMgr
;
extern
const
ICatInformationVtbl
COMCAT_ICatInformation_Vtbl
;
/**********************************************************************
* Global string constant declarations
*/
extern
const
WCHAR
clsid_keyname
[
6
];
dlls/comcat/factory.c
deleted
100644 → 0
View file @
67fe27d0
/*
* ClassFactory implementation for comcat.dll
*
* Copyright (C) 2002 John K. Hohm
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#include "comcat_private.h"
#include "wine/debug.h"
WINE_DEFAULT_DEBUG_CHANNEL
(
ole
);
/**********************************************************************
* COMCAT_IClassFactory_QueryInterface (also IUnknown)
*/
static
HRESULT
WINAPI
COMCAT_IClassFactory_QueryInterface
(
LPCLASSFACTORY
iface
,
REFIID
riid
,
LPVOID
*
ppvObj
)
{
TRACE
(
"
\n\t
IID:
\t
%s
\n
"
,
debugstr_guid
(
riid
));
if
(
ppvObj
==
NULL
)
return
E_POINTER
;
if
(
IsEqualGUID
(
riid
,
&
IID_IUnknown
)
||
IsEqualGUID
(
riid
,
&
IID_IClassFactory
))
{
*
ppvObj
=
(
LPVOID
)
iface
;
IUnknown_AddRef
(
iface
);
return
S_OK
;
}
return
E_NOINTERFACE
;
}
/**********************************************************************
* COMCAT_IClassFactory_AddRef (also IUnknown)
*/
static
ULONG
WINAPI
COMCAT_IClassFactory_AddRef
(
LPCLASSFACTORY
iface
)
{
return
2
;
/* non-heap based object */
}
/**********************************************************************
* COMCAT_IClassFactory_Release (also IUnknown)
*/
static
ULONG
WINAPI
COMCAT_IClassFactory_Release
(
LPCLASSFACTORY
iface
)
{
return
1
;
/* non-heap based object */
}
/**********************************************************************
* COMCAT_IClassFactory_CreateInstance
*/
static
HRESULT
WINAPI
COMCAT_IClassFactory_CreateInstance
(
LPCLASSFACTORY
iface
,
LPUNKNOWN
pUnkOuter
,
REFIID
riid
,
LPVOID
*
ppvObj
)
{
HRESULT
res
;
TRACE
(
"
\n\t
IID:
\t
%s
\n
"
,
debugstr_guid
(
riid
));
if
(
ppvObj
==
NULL
)
return
E_POINTER
;
/* Don't support aggregation (Windows doesn't) */
if
(
pUnkOuter
!=
NULL
)
return
CLASS_E_NOAGGREGATION
;
res
=
IUnknown_QueryInterface
((
LPUNKNOWN
)
&
COMCAT_ComCatMgr
,
riid
,
ppvObj
);
if
(
SUCCEEDED
(
res
))
{
return
res
;
}
return
CLASS_E_CLASSNOTAVAILABLE
;
}
/**********************************************************************
* COMCAT_IClassFactory_LockServer
*/
static
HRESULT
WINAPI
COMCAT_IClassFactory_LockServer
(
LPCLASSFACTORY
iface
,
BOOL
fLock
)
{
FIXME
(
"(%d), stub!
\n
"
,
fLock
);
return
S_OK
;
}
/**********************************************************************
* static ClassFactory instance
*/
static
const
IClassFactoryVtbl
ComCatCFVtbl
=
{
COMCAT_IClassFactory_QueryInterface
,
COMCAT_IClassFactory_AddRef
,
COMCAT_IClassFactory_Release
,
COMCAT_IClassFactory_CreateInstance
,
COMCAT_IClassFactory_LockServer
};
static
const
IClassFactoryVtbl
*
ComCatCF
=
&
ComCatCFVtbl
;
HRESULT
ComCatCF_Create
(
REFIID
riid
,
LPVOID
*
ppv
)
{
return
IClassFactory_QueryInterface
((
IClassFactory
*
)
&
ComCatCF
,
riid
,
ppv
);
}
dlls/comcat/register.c
deleted
100644 → 0
View file @
67fe27d0
This diff is collapsed.
Click to expand it.
dlls/ole32/Makefile.in
View file @
19966f8c
...
...
@@ -12,6 +12,7 @@ C_SRCS = \
bindctx.c
\
classmoniker.c
\
clipboard.c
\
comcat.c
\
compobj.c
\
compositemoniker.c
\
datacache.c
\
...
...
dlls/
comcat/information
.c
→
dlls/
ole32/comcat
.c
View file @
19966f8c
This diff is collapsed.
Click to expand it.
dlls/ole32/moniker.h
View file @
19966f8c
...
...
@@ -36,6 +36,7 @@ HRESULT AntiMonikerCF_Create(REFIID riid, LPVOID *ppv);
HRESULT
CompositeMonikerCF_Create
(
REFIID
riid
,
LPVOID
*
ppv
);
HRESULT
ClassMonikerCF_Create
(
REFIID
riid
,
LPVOID
*
ppv
);
HRESULT
PointerMonikerCF_Create
(
REFIID
riid
,
LPVOID
*
ppv
);
HRESULT
ComCatCF_Create
(
REFIID
riid
,
LPVOID
*
ppv
);
/* This function decomposes a String path to a String Table containing all the elements ("\" or "subDirectory" or "Directory" or "FileName") of the path */
int
FileMonikerImpl_DecomposePath
(
LPCOLESTR
str
,
LPOLESTR
**
stringTable
);
...
...
dlls/ole32/oleproxy.c
View file @
19966f8c
...
...
@@ -40,6 +40,7 @@
#include "compobj_private.h"
#include "moniker.h"
#include "comcat.h"
#include "wine/debug.h"
...
...
@@ -88,6 +89,8 @@ HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID iid,LPVOID *ppv)
return
ClassMonikerCF_Create
(
iid
,
ppv
);
if
(
IsEqualCLSID
(
rclsid
,
&
CLSID_PointerMoniker
))
return
PointerMonikerCF_Create
(
iid
,
ppv
);
if
(
IsEqualGUID
(
rclsid
,
&
CLSID_StdComponentCategoriesMgr
))
return
ComCatCF_Create
(
iid
,
ppv
);
return
NdrDllGetClassObject
(
rclsid
,
iid
,
ppv
,
OLE32_ProxyFileList
,
&
CLSID_PSFactoryBuffer
,
&
PSFactoryBuffer
);
...
...
dlls/ole32/regsvr.c
View file @
19966f8c
...
...
@@ -499,7 +499,7 @@ static struct regsvr_coclass const coclass_list[] = {
{
&
CLSID_StdComponentCategoriesMgr
,
"Component Categories Manager"
,
NULL
,
"
comcat.dll"
,
/* FIXME: should be in ole32.dll */
"
ole32.dll"
,
"Both"
},
{
NULL
}
/* list terminator */
...
...
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