Important:
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.
A version of this page is also available for
4/8/2010

This function closes an open object handle. A remote API (RAPI) version of this function exists called CeCloseHandle (RAPI).

Syntax

BOOL CloseHandle(
  HANDLE 
hObject
);

Parameters

hObject

[in] Handle to an open object.

Return Value

Nonzero indicates success. Zero indicates failure. To get extended error information, call GetLastError.

Remarks

This function closes handles to the following objects:

  • Communications device

  • Database

  • Database enumeration context

  • Event

  • File

  • File-mapping object

  • Mutex

  • Process

  • Socket

  • Thread

This function invalidates the specified object handle, decrements the object's handle count, and performs object retention checks. After the last handle to an object is closed, the object is removed from the system. Persistent objects, such as databases and files, remain in storage, but must be re-opened to be accessed again.

Closing a thread handle does not terminate the associated thread. To remove a thread object, you must terminate the thread, and then close all handles to the thread.

Use this function to close handles returned by calls to the CreateFilefunction. Use the FindClosefunction to close handles returned by calls to the FindFirstFilefunction.

When an application running in user mode calls this function, the kernel calls internal functions that clean up any associated resources, such as MyFileSystem_PreCloseHandle and MyFileSystem_CloseHandle.

Requirements

Header winbase.h
Library coredll.lib
Windows Embedded CE Windows CE 1.0 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also