Функция
CloseHandle закрывает дескриптор открытого объекта.Синтаксис
hObject // дескриптор объекта );BOOL CloseHandle( HANDLE |
Параметры
hObject
[in/out] Дескриптор открытого объекта.
Возвращаемые значения
Если функция завершается успешно, величина возвращаемого значения - не нуль.
Если функция завершается с ошибкой, величина возвращаемого значения - нуль. Чтобы получить дополнительные данные об ошибке, вызовите
GetLastError.Поскольку значения псевдо-дескриптора допускаются как правильные от функции GetCurrentHandle, они (или - (минус)1) могут задаваться как значение hObject.
Эта функция породит исключительную ситуацию, если или значение дескриптора, которое не допустимо (или 0) или значение псевдо-дескриптора, задается как значение hObject, а приложение запущено в среде отладчика. Это включает в себя закрытие дескриптора дважды и использование функции CloseHandle для дескриптора, возвращенного функцией FindFirstFile.
Обратите внимание! на то, что эта функция не будет порождать исключительную ситуацию тогда, когда значение дескриптора, которое не допустимо или значение псевдо-дескриптора, задается, а приложение не запущено в среде отладчика. |
Замечания
Функция
CloseHandle закрывает дескрипторы ниже перечисленных объектов:
- Признак доступа
- Коммуникационное устройство
- Консольный ввод данных
- Экранный буфер консоли
- Событие
- Файл
- Файл, отображаемый в память
- Задание
- Почтовый ящик в ядре системы
- Мьютекс
- Именованный канал
- Канал
- Процесс
- Семафор
- Сокет
- Поток
Таймер ожидания
Функция CloseHandle аннулирует заданный дескриптор объекта, уменьшает итоговое число дескрипторов объекта и выполняет проверку наличия объекта. После того, как последний дескриптор объект закрывается, объект удаляется из системы.
Закрытие дескриптора потока не завершает работу связанного потока. Чтобы удалить объект потока, Вы должны завершить работу потока, затем закрыть все дескрипторы потока.
Используйте функцию
CloseHandle, чтобы закрыть дескрипторы, возвращенные при помощи вызова функции CreateFile. Используйте функцию FindClose, чтобы закрыть дескрипторы, возвращенные при помощи вызова функции FindFirstFile.Код примера
Пример смотрите в статье
Закрытие файлов.Смотри также
Обзор Дескрипторы и объекты, Функции дескрипторов и объектов, CreateFile, DeleteFile, FindClose, FindFirstFile
Размещение и совместимость CloseHandle |
||
К |
Windows XP |
Да |
л |
Windows 2000 Professional |
Да |
и |
Windows NT Workstation |
Да |
е |
Windows Me |
Да |
н |
Windows 98 |
Да |
т |
Windows 95 |
Да |
С |
Windows Server 2003 |
Да |
е | Windows 2000 Server | Да |
р | Windows NT Server | Да |
в | ||
е | ||
р | ||
Используемая библиотека |
Kernel32.lib |
|
Используемая DLL | kernel32.dll | |
Заголовочный файл | ||
- объявлено в |
Winbase.h |
|
- включено в |
Windows.h |
|
Unicode |
Нет |
|
Замечания по платформе |
Не имеется |