内核事件队列
typedef unsigned int UINT32; typedef unsigned short UINT16; typedef struct event_handle_ { UINT32 eventID; UINT32 f2Handle; } event_handle; struct event_struct_ { struct event_struct_ *pNext; // pointer to next event struct event_struct_ *pLast; // backward pointer to pervious event event_handle eventHandle; UINT32 type; UINT32 persistent; UINT32 param1; UINT32 param2; UINT32 param3; UINT32 result[6]; }; typedef struct event_struct_ event_struct; typedef struct event_struct_ *p_event_struct; typedef struct event_queue_ { p_event_struct pHead; // pointer to first event in queue p_event_struct pTail; // pointer to last event in queue UINT16 queueSize; // count of how many items are in queue UINT32 flags; } event_queue, *p_event_queue;