1 typedef unsigned char UCHAR, *PUCHAR; 2 typedef void *HANDLE; 3 typedef struct _NCB { 4 UCHAR ncb_reserve[10]; 5 } NCB, *PNCB; 6 struct NBCmdQueue { 7 PNCB head; 8 }; NBCmdQueueFindNBC(struct NBCmdQueue * queue,PNCB ncb)9PNCB *NBCmdQueueFindNBC(struct NBCmdQueue *queue, PNCB ncb) 10 { 11 PNCB *ret = &queue->head; 12 while (ret && *ret != ncb) 13 ret = (PNCB *)((*ret)->ncb_reserve + sizeof(HANDLE)); 14 } 15 16