mirror of https://github.com/tongzx/nt5src
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.
53 lines
1.4 KiB
53 lines
1.4 KiB
#ifndef __UTIL_H
|
|
#define __UTIL_H
|
|
|
|
void ErrorOut( void );
|
|
|
|
#define ALG_IFC_BOUNDARY(_Type) \
|
|
((_Type) & eALG_BOUNDARY)
|
|
|
|
#define ALG_IFC_PRIVATE(_Type) \
|
|
((_Type) & eALG_PRIVATE)
|
|
|
|
#define ALG_IFC_FW(_Type) \
|
|
((_Type) & eALG_FIREWALLED)
|
|
|
|
|
|
#define NEW_OBJECT( _X_, _Y_ ) \
|
|
__try \
|
|
{ \
|
|
(_X_) = new (_Y_); \
|
|
} \
|
|
__except( EXCEPTION_EXECUTE_HANDLER ) \
|
|
{ \
|
|
DbgPrintX("ALLOCATION ERROR Line %s, File %s", __LINE__, __LINE__); \
|
|
delete _X_; \
|
|
_X_ = NULL; \
|
|
}
|
|
|
|
typedef struct _TIMER_CONTEXT {
|
|
HANDLE TimerQueueHandle;
|
|
HANDLE TimerHandle;
|
|
ULONG uContext;
|
|
} TIMER_CONTEXT, *PTIMER_CONTEXT;
|
|
|
|
|
|
typedef enum _TIMER_DELETION
|
|
{
|
|
eTIMER_DELETION_ASYNC = 0x00,
|
|
eTIMER_DELETION_SYNC = 0x01
|
|
} TIMER_DELETION;
|
|
|
|
#define TIMER_DELETION_ASYNC NULL
|
|
#define TIMER_DELETION_SYNC
|
|
|
|
PTIMER_CONTEXT
|
|
AllocateAndSetTimer(
|
|
ULONG uContext,
|
|
ULONG timeOut,
|
|
WAITORTIMERCALLBACK Callbackp
|
|
);
|
|
|
|
extern HANDLE g_TimerQueueHandle;
|
|
|
|
#endif
|