Загадка с хендлами
От: Unhandled_Exception Россия  
Дата: 20.02.08 10:27
Оценка:
Всем привет.

Делаем так:

HANDLE hEvent = CreateEvent(NULL, FALSE, FALSE, NULL);
HANDLE hEvent1 = (HANDLE)((DWORD)hEvent | 2);
CloseHandle(hEvent1);

CloseHandle возвращает TRUE.

Делаем так:

HANDLE hEvent = CreateEvent(NULL, FALSE, FALSE, NULL);
HANDLE hEvent1 = (HANDLE)((DWORD)hEvent | 2);
CloseHandle(hEvent1);
CloseHandle(hEvent);

Первый CloseHandle возвращает TRUE. Второй завершается неудачей, код ошибки: невалидный хендл.

Выходит, что хендлы определяются с точностью до второго бита??...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.