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
e3421d50
Commit
e3421d50
authored
Mar 13, 2022
by
Gijs Vermeulen
Committed by
Alexandre Julliard
Mar 14, 2022
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
include: Add more Wait Chain Traversal definitions.
Signed-off-by:
Gijs Vermeulen
<
gijsvrm@gmail.com
>
Signed-off-by:
Alexandre Julliard
<
julliard@winehq.org
>
parent
b8a4b9f9
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
76 additions
and
0 deletions
+76
-0
wct.h
include/wct.h
+76
-0
No files found.
include/wct.h
View file @
e3421d50
...
@@ -19,9 +19,85 @@
...
@@ -19,9 +19,85 @@
#ifndef __WINE_WCT_H
#ifndef __WINE_WCT_H
#define __WINE_WCT_H
#define __WINE_WCT_H
#ifdef __cplusplus
extern
"C"
{
#endif
#define WCT_MAX_NODE_COUNT 16
#define WCT_OBJNAME_LENGTH 128
#define WCT_ASYNC_OPEN_FLAG 0x1
#define WCTP_OPEN_ALL_FLAGS (WCT_ASYNC_OPEN_FLAG)
#define WCT_OUT_OF_PROC_FLAG 0x1
#define WCT_OUT_OF_PROC_COM_FLAG 0x2
#define WCT_OUT_OF_PROC_CS_FLAG 0x4
#define WCT_NETWORK_IO_FLAG 0x8
#define WCTP_GETINFO_ALL_FLAGS (WCT_OUT_OF_PROC_FLAG|WCT_OUT_OF_PROC_COM_FLAG|WCT_OUT_OF_PROC_CS_FLAG)
typedef
enum
_WCT_OBJECT_TYPE
{
WctCriticalSectionType
=
1
,
WctSendMessageType
,
WctMutexType
,
WctAlpcType
,
WctComType
,
WctThreadWaitType
,
WctProcessWaitType
,
WctThreadType
,
WctComActivationType
,
WctUnknownType
,
WctSocketIoType
,
WctSmbIoType
,
WctMaxType
}
WCT_OBJECT_TYPE
;
typedef
enum
_WCT_OBJECT_STATUS
{
WctStatusNoAccess
=
1
,
WctStatusRunning
,
WctStatusBlocked
,
WctStatusPidOnly
,
WctStatusPidOnlyRpcss
,
WctStatusOwned
,
WctStatusNotOwned
,
WctStatusAbandoned
,
WctStatusUnknown
,
WctStatusError
,
WctStatusMax
}
WCT_OBJECT_STATUS
;
typedef
struct
_WAITCHAIN_NODE_INFO
{
WCT_OBJECT_TYPE
ObjectType
;
WCT_OBJECT_STATUS
ObjectStatus
;
__C89_NAMELESS
union
{
struct
{
WCHAR
ObjectName
[
WCT_OBJNAME_LENGTH
];
LARGE_INTEGER
Timeout
;
BOOL
Alertable
;
}
LockObject
;
struct
{
DWORD
ProcessId
;
DWORD
ThreadId
;
DWORD
WaitTime
;
DWORD
ContextSwitches
;
}
ThreadObject
;
};
}
WAITCHAIN_NODE_INFO
,
*
PWAITCHAIN_NODE_INFO
;
typedef
LPVOID
HWCT
;
typedef
VOID
(
CALLBACK
*
PWAITCHAINCALLBACK
)
(
HWCT
,
DWORD_PTR
,
DWORD
,
LPDWORD
,
PWAITCHAIN_NODE_INFO
,
LPBOOL
);
typedef
HRESULT
(
WINAPI
*
PCOGETCALLSTATE
)(
int
,
PULONG
);
typedef
HRESULT
(
WINAPI
*
PCOGETCALLSTATE
)(
int
,
PULONG
);
typedef
HRESULT
(
WINAPI
*
PCOGETACTIVATIONSTATE
)(
GUID
,
DWORD
,
DWORD
*
);
typedef
HRESULT
(
WINAPI
*
PCOGETACTIVATIONSTATE
)(
GUID
,
DWORD
,
DWORD
*
);
VOID
WINAPI
CloseThreadWaitChainSession
(
HWCT
);
BOOL
WINAPI
GetThreadWaitChain
(
HWCT
,
DWORD_PTR
,
DWORD
,
DWORD
,
LPDWORD
,
PWAITCHAIN_NODE_INFO
,
LPBOOL
);
HWCT
WINAPI
OpenThreadWaitChainSession
(
DWORD
,
PWAITCHAINCALLBACK
);
void
WINAPI
RegisterWaitChainCOMCallback
(
PCOGETCALLSTATE
,
PCOGETACTIVATIONSTATE
);
void
WINAPI
RegisterWaitChainCOMCallback
(
PCOGETCALLSTATE
,
PCOGETACTIVATIONSTATE
);
#ifdef __cplusplus
}
#endif
#endif
/* __WINE_WCT_H */
#endif
/* __WINE_WCT_H */
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