Всем привет.
Делаем так:
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. Второй завершается неудачей, код ошибки: невалидный хендл.
Выходит, что хендлы определяются с точностью до второго бита??...
Пока на собственное сообщение не было ответов, его можно удалить.