Re[2]: Загадка с хендлами
От: DronG Украина  
Дата: 20.02.08 12:06
Оценка:
Здравствуйте, TarasCo, Вы писали:

U_E>>Выходит, что хендлы определяются с точностью до второго бита??...


TC>Да. Младший бит используется для управления IOCP:


Если верить определению недокументированной структуры EXHANDLE то оба младних бита...

typedef struct _EXHANDLE {

    union {

        struct {

            //
            //  Application available tag bits
            //

            ULONG TagBits : 2;

            //
            //  The handle table entry index
            //

            ULONG Index : 30;
        };

        HANDLE GenericHandleOverlay;
    };

} EXHANDLE, *PEXHANDLE;


соответсвенно

ex_h.GenericHandleOverlay=hEvent;
ex_h.GenericHandleOverlay=hEvent1;


при поиске нужного хэндла в таблице учитывается только Handle.Index, да и то лишь младшие 24 бита из него.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.