![]() |
|
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]()
|
|
| Alca |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 5 Всего: 50 |
Как правильно проверять валидность хендла потока?
Так?
Или так?
Или два способа вместе? |
||||
|
|||||
| Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 8 Всего: 154 |
неужели, создать тему на форуме проще, чем заглянуть в MSDN?
|
|||
|
||||
| Alca |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 5 Всего: 50 |
Не нашел
Это сообщение отредактировал(а) Alca - 18.5.2009, 16:21 |
|||
|
||||
| GremlinProg |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 99 Всего: 106 |
там описание двух функций пересекаются, может ненашел, всяко бывает -------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
| Alca |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 5 Всего: 50 |
Упс. Увидел. Это, так сказать, для _beginthreadex.
А вообще, как проверять валидность хендла (любого контекста), надо исходить из того что возвращяет функция? Для чего тогда дефайн INVALID_HANDLE_VALUE? Добавлено через 1 минуту и 40 секунд Кое-что нарыл. Handle Verifier Добавлено через 12 минут и 4 секунды
Добавлено через 14 минут и 56 секунд Получается, что так надо:
|
||||
|
|||||
| Alca |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 5 Всего: 50 |
Microsoft.Win32.SafeHandles Namespace
CHandle критика Обертка для HANDLE RSDN handle library Это сообщение отредактировал(а) Alca - 19.5.2009, 09:10 |
|||
|
||||
| GremlinProg |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 99 Всего: 106 |
вообще-да, смотрим, что возвращает функция если явно указано, что может вернуться INVALID_HANDLE_VALUE, значит проверяем и ее, иначе - нет явно указано в CreateFile, IcmpCreateFile, FindFirstFile, FindFirstChangeNotification, CreateToolhelp32Snapshot, и т.п., но чаще всего, проще вернуть NULL в основном, чтобы программист видел текстовую семантику кода, а не числовой эквивалент но иногда используется для того, чтобы указать отсутствие дескриптора, вернее не совсем так, чтобы указать отсутствие дескриптора только на входе в функцию, т.е. это значение, которые мы можем передать в некоторые API с таким расчетом, что функция не использует значение со входа, но использует либо его встроенную замену, например как в CreateFileMapping, либо создает его взамен входу, т.е. внутри API ну и в пользовательских функциях удобно пользоваться такими константами, валидный дескриптор не бывает равен -1, какого бы ни был он типа: мьютекс, поток, событие, процесс (кстати, вот текущий процесс - да, но это опять же условность, для быстрой идентификации задачи) -------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
![]()
|
| Правила форума "C/C++: Системное программирование и WinAPI" | |
|
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |