Функция CloseHandle

Функция CloseHandle закрывает дескриптор открытого объекта.

Синтаксис
BOOL CloseHandle(
  HANDLE hObject   // дескриптор объекта
);
Параметры

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

Нет

 Замечания по платформе

Не имеется

 

Назад в оглавление
На главную страницу
На оглавление справки

Hosted by uCoz