Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
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-cw
Commits
6a0262b2
Commit
6a0262b2
authored
Feb 04, 2022
by
Esme Povirk
Committed by
Alexandre Julliard
Feb 04, 2022
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
diasymreader: Stub IPdbWriter.
Signed-off-by:
Esme Povirk
<
esme@codeweavers.com
>
Signed-off-by:
Alexandre Julliard
<
julliard@winehq.org
>
parent
b2fe43b5
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
112 additions
and
0 deletions
+112
-0
Makefile.in
dlls/diasymreader/Makefile.in
+2
-0
diasymreader.idl
dlls/diasymreader/diasymreader.idl
+39
-0
diasymreader_private.h
dlls/diasymreader/diasymreader_private.h
+1
-0
writer.c
dlls/diasymreader/writer.c
+70
-0
No files found.
dlls/diasymreader/Makefile.in
View file @
6a0262b2
...
...
@@ -7,4 +7,6 @@ C_SRCS = \
main.c
\
writer.c
IDL_SRCS
=
diasymreader.idl
RC_SRCS
=
diasymreader.rc
dlls/diasymreader/diasymreader.idl
0 → 100644
View file @
6a0262b2
/*
*
Copyright
(
C
)
2022
Esme
Povirk
*
*
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
*/
import
"unknwn.idl"
;
import
"objidl.idl"
;
import
"oaidl.idl"
;
#
pragma
makedep
header
/*
Undocumented
interface
used
by
*
https
:
//
github
.
com/dotnet/symreader/blob/fe43beb65a8567834c717e2478ba36f1e98db8b5/src/Microsoft.DiaSymReader/Writer/ISymUnmanagedWriter.cs
*/
[
object
,
uuid
(
98
ecee1e
-752d-11
d3
-
8
d56
-
00
c04f680b2b
),
pointer_default
(
unique
)
]
interface
IPdbWriter
:
IUnknown
{
HRESULT
SetPath
(
[
in
]
const
WCHAR
*
fullpath
,
[
in
]
IStream
*
stream
,
[
in
]
BOOL
fullbuild
)
;
HRESULT
OpenMod
(
[
in
]
const
WCHAR
*
modulename
,
[
in
]
const
WCHAR
*
filename
)
;
HRESULT
CloseMod
()
;
HRESULT
GetPath
(
[
in
]
DWORD
ccData
,
[
out
]
DWORD
*
pccData
,
[
out
,
size_is
(
ccData
),
length_is
(
*
pccData
)
]
WCHAR
*
path
)
;
HRESULT
GetSignatureAge
(
[
out
]
DWORD
*
timestamp
,
[
out
]
DWORD
*
age
)
;
}
dlls/diasymreader/diasymreader_private.h
View file @
6a0262b2
...
...
@@ -19,5 +19,6 @@
#include "corhdr.h"
#include "cordebug.h"
#include "corsym.h"
#include "diasymreader.h"
HRESULT
SymWriter_CreateInstance
(
REFIID
iid
,
void
**
ppv
)
DECLSPEC_HIDDEN
;
dlls/diasymreader/writer.c
View file @
6a0262b2
...
...
@@ -35,6 +35,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(diasymreader);
typedef
struct
SymWriter
{
ISymUnmanagedWriter5
iface
;
IPdbWriter
IPdbWriter_iface
;
LONG
ref
;
CRITICAL_SECTION
lock
;
GUID
pdb_guid
;
...
...
@@ -47,6 +48,11 @@ static inline SymWriter *impl_from_ISymUnmanagedWriter5(ISymUnmanagedWriter5 *if
return
CONTAINING_RECORD
(
iface
,
SymWriter
,
iface
);
}
static
inline
SymWriter
*
impl_from_IPdbWriter
(
IPdbWriter
*
iface
)
{
return
CONTAINING_RECORD
(
iface
,
SymWriter
,
IPdbWriter_iface
);
}
static
HRESULT
WINAPI
SymWriter_QueryInterface
(
ISymUnmanagedWriter5
*
iface
,
REFIID
iid
,
void
**
ppv
)
{
...
...
@@ -63,6 +69,10 @@ static HRESULT WINAPI SymWriter_QueryInterface(ISymUnmanagedWriter5 *iface, REFI
{
*
ppv
=
&
This
->
iface
;
}
else
if
(
IsEqualIID
(
&
IID_IPdbWriter
,
iid
))
{
*
ppv
=
&
This
->
IPdbWriter_iface
;
}
else
{
WARN
(
"unknown interface %s
\n
"
,
debugstr_guid
(
iid
));
...
...
@@ -411,6 +421,65 @@ static const ISymUnmanagedWriter5Vtbl SymWriter_Vtbl = {
SymWriter_MapTokenToSourceSpan
};
static
HRESULT
WINAPI
SymWriter_PdbWriter_QueryInterface
(
IPdbWriter
*
iface
,
REFIID
iid
,
void
**
ppv
)
{
SymWriter
*
This
=
impl_from_IPdbWriter
(
iface
);
return
ISymUnmanagedWriter5_QueryInterface
(
&
This
->
iface
,
iid
,
ppv
);
}
static
ULONG
WINAPI
SymWriter_PdbWriter_AddRef
(
IPdbWriter
*
iface
)
{
SymWriter
*
This
=
impl_from_IPdbWriter
(
iface
);
return
ISymUnmanagedWriter5_AddRef
(
&
This
->
iface
);
}
static
ULONG
WINAPI
SymWriter_PdbWriter_Release
(
IPdbWriter
*
iface
)
{
SymWriter
*
This
=
impl_from_IPdbWriter
(
iface
);
return
ISymUnmanagedWriter5_Release
(
&
This
->
iface
);
}
static
HRESULT
WINAPI
SymWriter_SetPath
(
IPdbWriter
*
iface
,
const
WCHAR
*
fullpath
,
IStream
*
stream
,
BOOL
fullbuild
)
{
FIXME
(
"(%p,%s,%p,%u)
\n
"
,
iface
,
debugstr_w
(
fullpath
),
stream
,
fullbuild
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
SymWriter_OpenMod
(
IPdbWriter
*
iface
,
const
WCHAR
*
modulename
,
const
WCHAR
*
fullpath
)
{
FIXME
(
"(%p,%s,%s)
\n
"
,
iface
,
debugstr_w
(
modulename
),
debugstr_w
(
fullpath
));
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
SymWriter_CloseMod
(
IPdbWriter
*
iface
)
{
FIXME
(
"(%p)
\n
"
,
iface
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
SymWriter_GetPath
(
IPdbWriter
*
iface
,
DWORD
ccData
,
DWORD
*
pccData
,
WCHAR
*
path
)
{
FIXME
(
"(%p,%lu,%p,%p)
\n
"
,
iface
,
ccData
,
pccData
,
path
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
SymWriter_GetSignatureAge
(
IPdbWriter
*
iface
,
DWORD
*
timestamp
,
DWORD
*
age
)
{
FIXME
(
"(%p,%p,%p)
\n
"
,
iface
,
timestamp
,
age
);
return
E_NOTIMPL
;
}
static
const
IPdbWriterVtbl
SymWriter_PdbWriter_Vtbl
=
{
SymWriter_PdbWriter_QueryInterface
,
SymWriter_PdbWriter_AddRef
,
SymWriter_PdbWriter_Release
,
SymWriter_SetPath
,
SymWriter_OpenMod
,
SymWriter_CloseMod
,
SymWriter_GetPath
,
SymWriter_GetSignatureAge
};
HRESULT
SymWriter_CreateInstance
(
REFIID
iid
,
void
**
ppv
)
{
SymWriter
*
This
;
...
...
@@ -421,6 +490,7 @@ HRESULT SymWriter_CreateInstance(REFIID iid, void **ppv)
return
E_OUTOFMEMORY
;
This
->
iface
.
lpVtbl
=
&
SymWriter_Vtbl
;
This
->
IPdbWriter_iface
.
lpVtbl
=
&
SymWriter_PdbWriter_Vtbl
;
This
->
ref
=
1
;
InitializeCriticalSection
(
&
This
->
lock
);
This
->
lock
.
DebugInfo
->
Spare
[
0
]
=
(
DWORD_PTR
)(
__FILE__
": SymWriter.lock"
);
...
...
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