функція closehandle

[In / out] Дескриптор відкритого об'єкта.

Якщо функція завершується успішно, величина повертається - НЕ нуль.

Якщо функція завершується з помилкою, величина повертається - нуль. Щоб отримати додаткові дані про помилку, викличте GetLastError.

Оскільки значення псевдо-дескриптора допускаються як правильні від функції GetCurrentHandle. вони (або - (мінус) 1) можуть задаватися як значення hObject.

Ця функція породить виняткову ситуацію, якщо або значення дескриптора, яка не допустимо (або 0) або значення псевдо-дескриптора, задається як значення hObject. а додаток запущено в середовищі відладчика. Це включає в себе закриття дескриптора двічі і використання функції CloseHandle для дескриптора, повернутого функцією FindFirstFile.

Зверніть увагу! на те, що ця функція не породжувати виняткову ситуацію тоді, коли значення дескриптора, яка не допустимо або значення псевдо-дескриптора, задається, а програма не запущено в середовищі відладчика.

Функція CloseHandle закриває дескриптори нижче перерахованих об'єктів:

  • ознака доступу
  • комунікаційний пристрій
  • Консольний введення даних
  • Екранний буфер консолі
  • подія
  • файл
  • Файл, який відображається в пам'ять
  • завдання
  • Поштова скринька в ядрі системи
  • М'ютекс
  • іменований канал
  • Канал
  • процес
  • семафор
  • сокет
  • потік
  • таймер очікування

Функція CloseHandle анулює заданий дескриптор об'єкта, зменшує підсумкове число дескрипторів об'єкта і виконує перевірку наявності об'єкта. Після того, як останній дескриптор об'єкт закривається, об'єкт видаляється з системи.

Закриття дескриптора потоку не завершує роботу пов'язаного потоку. Щоб видалити об'єкт потоку, Ви повинні завершити роботу потоку, потім закрити всі дескриптори потоку.

Використовуйте функцію CloseHandle. щоб закрити дескриптори, повернуті за допомогою виклику функції CreateFile. Використовуйте функцію FindClose. щоб закрити дескриптори, повернуті за допомогою виклику функції FindFirstFile.

Схожі статті