SetHandleInformation function (handleapi.h)

Sets certain properties of an object handle.


BOOL SetHandleInformation(
  [in] HANDLE hObject,
  [in] DWORD  dwMask,
  [in] DWORD  dwFlags


[in] hObject

A handle to an object whose information is to be set.

You can specify a handle to one of the following types of objects: access token, console input buffer, console screen buffer, event, file, file mapping, job, mailslot, mutex, pipe, printer, process, registry key, semaphore, serial communication device, socket, thread, or waitable timer.

[in] dwMask

A mask that specifies the bit flags to be changed. Use the same constants shown in the description of dwFlags.

[in] dwFlags

Set of bit flags that specifies properties of the object handle. This parameter can be 0 or one or more of the following values.

Value Meaning
If this flag is set, a child process created with the bInheritHandles parameter of CreateProcess set to TRUE will inherit the object handle.
If this flag is set, calling the CloseHandle function will not close the object handle.

Return value

If the function succeeds, the return value is nonzero.

If the function fails, the return value is zero. To get extended error information, call GetLastError.


To set or clear the associated bit flag in dwFlags, you must set a change mask bit flag in dwMask.


Requirement Value
Minimum supported client Windows 2000 Professional [desktop apps only]
Minimum supported server Windows 2000 Server [desktop apps only]
Target Platform Windows
Header handleapi.h (include Windows.h)
Library Kernel32.lib
DLL Kernel32.dll

See also




Handle and Object Functions