WaitForSingleObject дает неверный дескриптор - PullRequest
1 голос
/ 11 апреля 2011
h=CreateFile("c:\\test.txt",GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_ALWAYS,FILE_ATTRIBUTE_READONLY|FILE_FLAG_OVERLAPPED,NULL);

    OVERLAPPED ol2;
    memset(&ol2,0,sizeof(OVERLAPPED));
    ol2.hEvent=CreateEvent(NULL,false,false,NULL);
    if(!ReadFile(h,iobuffer+pointsize,value,NULL,&ol2))
    printf("Last Error %u",GetLastError());
    if(WaitForSingleObject(&ol2.hEvent,INFINITE)!=0){
        printf("Last Error %u \n",GetLastError());

    }

WaitForsingleobject возвращает неверный дескриптор, но я не понимаю, почему ...

1 Ответ

4 голосов
/ 11 апреля 2011

Я думаю, что должно быть написано:

if(WaitForSingleObject(ol2.hEvent,INFINITE)!=0){
            printf("Last Error %u \n",GetLastError());

Обратите внимание на удаленный & перед ol2.hEvent

...