//我类似下面这样创建了一个完成端口
g_hIOCP = CreateIoCompletionPort(INVALID_HANDLE_VALUE,NULL,0,0);//省略错误处理了
//创建一个作业
xxx;
//我类似下面这样把作业与完成端口关联
jbacp.CompletionKey  = (PVOID)COMPKEY_JOBOBJECT;
jbacp.CompletionPort = g_hIOCP;
fOK = SetInformationJobObject(g_hJob,JobObjectAssociateCompletionPortInformation,&jbacp,sizeof(JOBOBJECT_ASSOCIATE_COMPLETION_PORT));
//创建线程,执行函数类似如下:
while(true){
GetQueuedCompletionStatus(xxx,xxx,lCompKey,...)//获取IO完成信息
if(lCompKey == COMPKEY_JOBOBJECT)
{
  xxx;
}
if(lCompKey == COMPKEY_STATUS)
{
  yyy;
}
}
//主线程发送完成包
PostQueuedCompletionStatus(g_hIOCP, 0, COMPKEY_STATUS, NULL);
但从来没有发送过COMPKEY_JOBOBJECT,为啥我的
if(lCompKey == COMPKEY_JOBOBJECT)
{
  xxx;
}
程序段可以执行呢?比如我在作业中创建一个进程的时候,就执行了xxx;但创建进程时并没发送任何包