Windows NT 4.0 source code leak
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

75 lines
1.1 KiB

#ifndef __WMSG_THREAD_HXX__
#define __WMSG_THREAD_HXX__
HWND
WmsgThreadGetWindowHandle(
);
RPC_STATUS __RPC_API
WmsgSetThreadContext(
IN VOID __RPC_FAR * Context
);
VOID __RPC_FAR * __RPC_API
WmsgGetThreadContext(
);
class WMSG_THREAD : public WMSG_SHARED_HEAP_OBJECT {
public:
THREAD_IDENTIFIER ThreadId;
// One hidden RPC window for each listening thread and calling thread.
HWND hWnd;
// User parameter passed to the blocking hook
VOID * Context;
// Dictionary key in WMSG_PROC
int DictKey;
enum WMSG_THREAD_STATE
{
WMSG_THREAD_PAUSED = 0,
WMSG_THREAD_LISTENING = 1
} State;
BOOL IsListening(
)
{
return (State == WMSG_THREAD_LISTENING);
}
void Pause(
)
{
State = WMSG_THREAD_PAUSED;
}
void Continue(
)
{
State = WMSG_THREAD_LISTENING;
}
WMSG_THREAD(
);
~WMSG_THREAD(
);
};
NEW_SDICT(WMSG_THREAD);
WMSG_THREAD *
WmsgThreadGet(
);
VOID
WmsgThreadDelete(
WMSG_THREAD * Thread = NULL
);
#endif