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
826f24ce
Commit
826f24ce
authored
Aug 17, 2020
by
Nikolay Sivov
Committed by
Alexandre Julliard
Aug 18, 2020
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
combase: Move GetErrorInfo().
Signed-off-by:
Nikolay Sivov
<
nsivov@codeweavers.com
>
Signed-off-by:
Huw Davies
<
huw@codeweavers.com
>
Signed-off-by:
Alexandre Julliard
<
julliard@winehq.org
>
parent
6153eefc
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
42 additions
and
45 deletions
+42
-45
combase.spec
dlls/combase/combase.spec
+1
-1
combase_private.h
dlls/combase/combase_private.h
+10
-0
errorinfo.c
dlls/combase/errorinfo.c
+30
-0
errorinfo.c
dlls/ole32/errorinfo.c
+0
-43
ole32.spec
dlls/ole32/ole32.spec
+1
-1
No files found.
dlls/combase/combase.spec
View file @
826f24ce
...
@@ -182,7 +182,7 @@
...
@@ -182,7 +182,7 @@
@ stdcall FreePropVariantArray(long ptr)
@ stdcall FreePropVariantArray(long ptr)
@ stub FreePropVariantArrayWorker
@ stub FreePropVariantArrayWorker
@ stub GetCatalogHelper
@ stub GetCatalogHelper
@ stdcall GetErrorInfo(long ptr)
ole32.GetErrorInfo
@ stdcall GetErrorInfo(long ptr)
@ stub GetFuncDescs
@ stub GetFuncDescs
@ stdcall GetHGlobalFromStream(ptr ptr) ole32.GetHGlobalFromStream
@ stdcall GetHGlobalFromStream(ptr ptr) ole32.GetHGlobalFromStream
@ stub GetHookInterface
@ stub GetHookInterface
...
...
dlls/combase/combase_private.h
View file @
826f24ce
...
@@ -14,6 +14,8 @@
...
@@ -14,6 +14,8 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
*/
#include "winternl.h"
#include "wine/list.h"
#include "wine/list.h"
struct
apartment
;
struct
apartment
;
...
@@ -40,3 +42,11 @@ struct tlsdata
...
@@ -40,3 +42,11 @@ struct tlsdata
struct
list
spies
;
/* Spies installed with CoRegisterInitializeSpy */
struct
list
spies
;
/* Spies installed with CoRegisterInitializeSpy */
DWORD
spies_lock
;
DWORD
spies_lock
;
};
};
extern
HRESULT
WINAPI
InternalTlsAllocData
(
struct
tlsdata
**
data
);
static
inline
HRESULT
com_get_tlsdata
(
struct
tlsdata
**
data
)
{
*
data
=
NtCurrentTeb
()
->
ReservedForOle
;
return
*
data
?
S_OK
:
InternalTlsAllocData
(
data
);
}
dlls/combase/errorinfo.c
View file @
826f24ce
...
@@ -22,6 +22,8 @@
...
@@ -22,6 +22,8 @@
#include "oleauto.h"
#include "oleauto.h"
#include "combase_private.h"
#include "wine/debug.h"
#include "wine/debug.h"
#include "wine/heap.h"
#include "wine/heap.h"
...
@@ -354,3 +356,31 @@ HRESULT WINAPI CreateErrorInfo(ICreateErrorInfo **ret)
...
@@ -354,3 +356,31 @@ HRESULT WINAPI CreateErrorInfo(ICreateErrorInfo **ret)
return
S_OK
;
return
S_OK
;
}
}
/***********************************************************************
* GetErrorInfo (combase.@)
*/
HRESULT
WINAPI
GetErrorInfo
(
ULONG
reserved
,
IErrorInfo
**
error_info
)
{
struct
tlsdata
*
tlsdata
;
HRESULT
hr
;
TRACE
(
"%u, %p
\n
"
,
reserved
,
error_info
);
if
(
reserved
||
!
error_info
)
return
E_INVALIDARG
;
if
(
FAILED
(
hr
=
com_get_tlsdata
(
&
tlsdata
)))
return
hr
;
if
(
!
tlsdata
->
errorinfo
)
{
*
error_info
=
NULL
;
return
S_FALSE
;
}
*
error_info
=
tlsdata
->
errorinfo
;
tlsdata
->
errorinfo
=
NULL
;
return
S_OK
;
}
dlls/ole32/errorinfo.c
View file @
826f24ce
...
@@ -41,49 +41,6 @@
...
@@ -41,49 +41,6 @@
WINE_DEFAULT_DEBUG_CHANNEL
(
ole
);
WINE_DEFAULT_DEBUG_CHANNEL
(
ole
);
/***********************************************************************
/***********************************************************************
* GetErrorInfo (OLE32.@)
*
* Retrieves the error information object for the current thread.
*
* PARAMS
* dwReserved [I]. Reserved. Must be zero.
* pperrinfo [O]. Address where error information object will be stored on return.
*
* RETURNS
* Success: S_OK if an error information object was set for the current thread.
* S_FALSE if otherwise.
* Failure: E_INVALIDARG if dwReserved is not zero.
*
* NOTES
* This function causes the current error info object for the thread to be
* cleared if one was set beforehand.
*/
HRESULT
WINAPI
GetErrorInfo
(
ULONG
dwReserved
,
IErrorInfo
**
pperrinfo
)
{
TRACE
(
"(%d, %p, %p)
\n
"
,
dwReserved
,
pperrinfo
,
COM_CurrentInfo
()
->
errorinfo
);
if
(
dwReserved
)
{
ERR
(
"dwReserved (0x%x) != 0
\n
"
,
dwReserved
);
return
E_INVALIDARG
;
}
if
(
!
pperrinfo
)
return
E_INVALIDARG
;
if
(
!
COM_CurrentInfo
()
->
errorinfo
)
{
*
pperrinfo
=
NULL
;
return
S_FALSE
;
}
*
pperrinfo
=
COM_CurrentInfo
()
->
errorinfo
;
/* clear thread error state */
COM_CurrentInfo
()
->
errorinfo
=
NULL
;
return
S_OK
;
}
/***********************************************************************
* SetErrorInfo (OLE32.@)
* SetErrorInfo (OLE32.@)
*
*
* Sets the error information object for the current thread.
* Sets the error information object for the current thread.
...
...
dlls/ole32/ole32.spec
View file @
826f24ce
...
@@ -118,7 +118,7 @@
...
@@ -118,7 +118,7 @@
@ stdcall GetClassFile(wstr ptr)
@ stdcall GetClassFile(wstr ptr)
@ stdcall GetConvertStg(ptr)
@ stdcall GetConvertStg(ptr)
@ stub GetDocumentBitStg
@ stub GetDocumentBitStg
@ stdcall GetErrorInfo(long ptr)
@ stdcall GetErrorInfo(long ptr)
combase.GetErrorInfo
@ stdcall GetHGlobalFromILockBytes(ptr ptr)
@ stdcall GetHGlobalFromILockBytes(ptr ptr)
@ stdcall GetHGlobalFromStream(ptr ptr)
@ stdcall GetHGlobalFromStream(ptr ptr)
@ stub GetHookInterface
@ stub GetHookInterface
...
...
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