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
de6f3810
Commit
de6f3810
authored
Jan 21, 2010
by
Huw Davies
Committed by
Alexandre Julliard
Jan 22, 2010
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
msdaps: Add stub class factories for the row and rowset servers and proxies.
parent
0d519bdf
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
231 additions
and
2 deletions
+231
-2
.gitignore
.gitignore
+2
-0
Makefile.in
dlls/msdaps/Makefile.in
+4
-2
main.c
dlls/msdaps/main.c
+101
-0
row_server.c
dlls/msdaps/row_server.c
+68
-0
row_server.idl
dlls/msdaps/row_server.idl
+56
-0
No files found.
.gitignore
View file @
de6f3810
...
@@ -65,6 +65,8 @@ dlls/libxinput.def
...
@@ -65,6 +65,8 @@ dlls/libxinput.def
dlls/msdaps/msdaps.h
dlls/msdaps/msdaps.h
dlls/msdaps/msdaps_i.c
dlls/msdaps/msdaps_i.c
dlls/msdaps/msdaps_p.c
dlls/msdaps/msdaps_p.c
dlls/msdaps/row_server.h
dlls/msdaps/row_server_i.c
dlls/mshtml.tlb/mshtml_tlb.tlb
dlls/mshtml.tlb/mshtml_tlb.tlb
dlls/mshtml/nsiface.h
dlls/mshtml/nsiface.h
dlls/msi/cond.tab.c
dlls/msi/cond.tab.c
...
...
dlls/msdaps/Makefile.in
View file @
de6f3810
...
@@ -3,7 +3,7 @@ TOPOBJDIR = ../..
...
@@ -3,7 +3,7 @@ TOPOBJDIR = ../..
SRCDIR
=
@srcdir@
SRCDIR
=
@srcdir@
VPATH
=
@srcdir@
VPATH
=
@srcdir@
MODULE
=
msdaps.dll
MODULE
=
msdaps.dll
IMPORTS
=
oleaut32 ole32 rpcrt4 kernel32 ntdll
IMPORTS
=
uuid
oleaut32 ole32 rpcrt4 kernel32 ntdll
EXTRADEFS
=
-DREGISTER_PROXY_DLL
-DPROXY_CLSID_IS
=
"{ 0x06210e88, 0x01f5, 0x11d1, { 0xb5, 0x12, 0x00, 0x80, 0xc7, 0x81, 0xc3, 0x84 } }"
-DENTRY_PREFIX
=
msdaps_
EXTRADEFS
=
-DREGISTER_PROXY_DLL
-DPROXY_CLSID_IS
=
"{ 0x06210e88, 0x01f5, 0x11d1, { 0xb5, 0x12, 0x00, 0x80, 0xc7, 0x81, 0xc3, 0x84 } }"
-DENTRY_PREFIX
=
msdaps_
EXTRAIDLFLAGS
=
--win32-align
=
2
EXTRAIDLFLAGS
=
--win32-align
=
2
...
@@ -12,10 +12,12 @@ EXTRA_OBJS = dlldata.o
...
@@ -12,10 +12,12 @@ EXTRA_OBJS = dlldata.o
C_SRCS
=
\
C_SRCS
=
\
main.c
\
main.c
\
regsvr.c
\
regsvr.c
\
row_server.c
\
usrmarshal.c
usrmarshal.c
IDL_I_SRCS
=
\
IDL_I_SRCS
=
\
msdaps.idl
msdaps.idl
\
row_server.idl
IDL_P_SRCS
=
\
IDL_P_SRCS
=
\
msdaps.idl
msdaps.idl
...
...
dlls/msdaps/main.c
View file @
de6f3810
...
@@ -33,6 +33,8 @@
...
@@ -33,6 +33,8 @@
#include "oleauto.h"
#include "oleauto.h"
#include "oledb.h"
#include "oledb.h"
#include "row_server.h"
#include "wine/debug.h"
#include "wine/debug.h"
WINE_DEFAULT_DEBUG_CHANNEL
(
oledb
);
WINE_DEFAULT_DEBUG_CHANNEL
(
oledb
);
...
@@ -49,11 +51,110 @@ BOOL WINAPI DllMain(HINSTANCE instance, DWORD reason, LPVOID reserved)
...
@@ -49,11 +51,110 @@ BOOL WINAPI DllMain(HINSTANCE instance, DWORD reason, LPVOID reserved)
return
msdaps_DllMain
(
instance
,
reason
,
reserved
);
return
msdaps_DllMain
(
instance
,
reason
,
reserved
);
}
}
/******************************************************************************
* ClassFactory
*/
typedef
struct
{
const
IClassFactoryVtbl
*
lpVtbl
;
HRESULT
(
*
create_object
)(
IUnknown
*
,
LPVOID
*
);
}
cf
;
static
HRESULT
WINAPI
CF_QueryInterface
(
IClassFactory
*
iface
,
REFIID
riid
,
void
**
obj
)
{
cf
*
This
=
(
cf
*
)
iface
;
TRACE
(
"(%p, %s, %p)
\n
"
,
This
,
debugstr_guid
(
riid
),
obj
);
if
(
IsEqualCLSID
(
riid
,
&
IID_IUnknown
)
||
IsEqualCLSID
(
riid
,
&
IID_IClassFactory
)
)
{
IClassFactory_AddRef
(
iface
);
*
obj
=
iface
;
return
S_OK
;
}
return
E_NOINTERFACE
;
}
static
ULONG
WINAPI
CF_AddRef
(
IClassFactory
*
iface
)
{
return
2
;
}
static
ULONG
WINAPI
CF_Release
(
IClassFactory
*
iface
)
{
return
1
;
}
static
HRESULT
WINAPI
CF_CreateInstance
(
IClassFactory
*
iface
,
IUnknown
*
pOuter
,
REFIID
riid
,
void
**
obj
)
{
cf
*
This
=
(
cf
*
)
iface
;
IUnknown
*
unk
=
NULL
;
HRESULT
r
;
TRACE
(
"(%p, %p, %s, %p)
\n
"
,
This
,
pOuter
,
debugstr_guid
(
riid
),
obj
);
r
=
This
->
create_object
(
pOuter
,
(
void
**
)
&
unk
);
if
(
SUCCEEDED
(
r
))
{
r
=
IUnknown_QueryInterface
(
unk
,
riid
,
obj
);
IUnknown_Release
(
unk
);
}
return
r
;
}
static
HRESULT
WINAPI
CF_LockServer
(
IClassFactory
*
iface
,
BOOL
dolock
)
{
FIXME
(
"(%p, %d): stub
\n
"
,
iface
,
dolock
);
return
S_OK
;
}
static
const
IClassFactoryVtbl
CF_Vtbl
=
{
CF_QueryInterface
,
CF_AddRef
,
CF_Release
,
CF_CreateInstance
,
CF_LockServer
};
static
cf
row_server_cf
=
{
&
CF_Vtbl
,
create_row_server
};
static
cf
row_proxy_cf
=
{
&
CF_Vtbl
,
create_row_marshal
};
static
cf
rowset_server_cf
=
{
&
CF_Vtbl
,
create_rowset_server
};
static
cf
rowset_proxy_cf
=
{
&
CF_Vtbl
,
create_rowset_marshal
};
/***********************************************************************
/***********************************************************************
* DllGetClassObject
* DllGetClassObject
*/
*/
HRESULT
WINAPI
DllGetClassObject
(
REFCLSID
clsid
,
REFIID
iid
,
LPVOID
*
obj
)
HRESULT
WINAPI
DllGetClassObject
(
REFCLSID
clsid
,
REFIID
iid
,
LPVOID
*
obj
)
{
{
TRACE
(
"(%s, %s, %p)
\n
"
,
debugstr_guid
(
clsid
),
debugstr_guid
(
iid
),
obj
);
if
(
IsEqualCLSID
(
clsid
,
&
CLSID_wine_row_server
))
{
*
obj
=
&
row_server_cf
;
return
S_OK
;
}
if
(
IsEqualCLSID
(
clsid
,
&
CLSID_wine_row_proxy
))
{
*
obj
=
&
row_proxy_cf
;
return
S_OK
;
}
if
(
IsEqualCLSID
(
clsid
,
&
CLSID_wine_rowset_server
))
{
*
obj
=
&
rowset_server_cf
;
return
S_OK
;
}
if
(
IsEqualCLSID
(
clsid
,
&
CLSID_wine_rowset_proxy
))
{
*
obj
=
&
rowset_proxy_cf
;
return
S_OK
;
}
return
msdaps_DllGetClassObject
(
clsid
,
iid
,
obj
);
return
msdaps_DllGetClassObject
(
clsid
,
iid
,
obj
);
}
}
...
...
dlls/msdaps/row_server.c
0 → 100644
View file @
de6f3810
/*
* Row and rowset servers / proxies.
*
* Copyright 2010 Huw Davies
*
* 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>
#include <string.h>
#define COBJMACROS
#define NONAMELESSUNION
#define NONAMELESSSTRUCT
#include "windef.h"
#include "winbase.h"
#include "wingdi.h"
#include "winuser.h"
#include "winerror.h"
#include "objbase.h"
#include "oleauto.h"
#include "oledb.h"
#include "row_server.h"
#include "wine/debug.h"
WINE_DEFAULT_DEBUG_CHANNEL
(
oledb
);
HRESULT
create_row_server
(
IUnknown
*
outer
,
void
**
obj
)
{
FIXME
(
"(%p, %p): stub
\n
"
,
outer
,
obj
);
*
obj
=
NULL
;
return
E_NOTIMPL
;
}
HRESULT
create_rowset_server
(
IUnknown
*
outer
,
void
**
obj
)
{
FIXME
(
"(%p, %p): stub
\n
"
,
outer
,
obj
);
*
obj
=
NULL
;
return
E_NOTIMPL
;
}
HRESULT
create_row_marshal
(
IUnknown
*
outer
,
void
**
obj
)
{
FIXME
(
"(%p, %p): stub
\n
"
,
outer
,
obj
);
*
obj
=
NULL
;
return
E_NOTIMPL
;
}
HRESULT
create_rowset_marshal
(
IUnknown
*
outer
,
void
**
obj
)
{
FIXME
(
"(%p, %p): stub
\n
"
,
outer
,
obj
);
*
obj
=
NULL
;
return
E_NOTIMPL
;
}
dlls/msdaps/row_server.idl
0 → 100644
View file @
de6f3810
/*
*
Wine
row
server
interface
.
*
*
Copyright
(
C
)
2010
Huw
Davies
*
*
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
*/
[
uuid
(
38248178
-
cf6d
-
11
de
-
abe5
-
000
c2916d865
)
]
coclass
wine_row_server
{
}
[
uuid
(
38248179
-
cf6d
-
11
de
-
abe5
-
000
c2916d865
)
]
coclass
wine_row_proxy
{
}
[
uuid
(
3824817
a
-
cf6d
-
11
de
-
abe5
-
000
c2916d865
)
]
coclass
wine_rowset_server
{
}
[
uuid
(
3824817b
-
cf6d
-
11
de
-
abe5
-
000
c2916d865
)
]
coclass
wine_rowset_proxy
{
}
cpp_quote
(
"extern HRESULT create_row_server( IUnknown*, LPVOID* );"
)
cpp_quote
(
"extern HRESULT create_row_marshal( IUnknown*, LPVOID* );"
)
cpp_quote
(
"extern HRESULT create_rowset_server( IUnknown*, LPVOID* );"
)
cpp_quote
(
"extern HRESULT create_rowset_marshal( IUnknown*, LPVOID* );"
)
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