Index   Commented   Search   About

Securable Objects

A securable object is an object that can have a security descriptor. Windows NT supports many different types of securable objects.

All named objects are securable. Some unnamed objects, such as process and thread objects, can have security descriptors, too.

For most securable objects, you can specify an object's security descriptor in the function call that creates the object. For example, you can specify a security descriptor in the CreateFile and CreateProcess functions. In addition, the Win32 API provides functions for getting and setting the security descriptor of an existing object. The following table shows the functions to use for working with the different types of securable objects.

Object type
High-level functions
Windows NT 3.x functions
Files and directories
GetNamedSecurityInfo, SetNamedSecurityInfo, GetSecurityInfo, SetSecurityInfo
GetFileSecurity, SetFileSecurity
Mailslots and Named Pipes
GetSecurityInfo, SetSecurityInfo
GetFileSecurity, SetFileSecurity
Console screen buffer
Not supported.
Not supported.
Processes, threads, and file-mapping objects
GetNamedSecurityInfo, SetNamedSecurityInfo, GetSecurityInfo, SetSecurityInfo
SetKernelObjectSecurity, GetKernelObjectSecurity
Access tokens
Not supported.
SetKernelObjectSecurity, GetKernelObjectSecurity
Window-management objects (window stations and desktops)
GetSecurityInfo, SetSecurityInfo
GetUserObjectSecurity, SetUserObjectSecurity
Registry objects
GetNamedSecurityInfo, SetNamedSecurityInfo, GetSecurityInfo, SetSecurityInfo
RegGetKeySecurity, RegSetKeySecurity
Windows NT Service objects
GetNamedSecurityInfo, SetNamedSecurityInfo, GetSecurityInfo, SetSecurityInfo
QueryServiceObjectSecurity, SetServiceObjectSecurity
Printer objects
GetNamedSecurityInfo, SetNamedSecurityInfo, GetSecurityInfo, SetSecurityInfo
GetPrinter, SetPrinter
Windows NT network shares
GetNamedSecurityInfo, SetNamedSecurityInfo, GetSecurityInfo, SetSecurityInfo
NetShareGetInfo and NetShareSetInfo, using level 502.
Interprocess synchronization objects (semaphores, events, mutexes, and waitable timers)
GetNamedSecurityInfo, SetNamedSecurityInfo, GetSecurityInfo, SetSecurityInfo
SetKernelObjectSecurity, GetKernelObjectSecurity
Private objects (objects private to the creating application)
Not supported.
CreatePrivateObjectSecurity, DestroyPrivateObjectSecurity, GetPrivateObjectSecurity, SetPrivateObjectSecurity

Related Links

Software for Delphi and C++ Builder developers
Software for Visual Studio .NET developers
Software for Visual Basic 6 developers
Delphi Tips&Tricks
MegaDetailed.NET

More Online Helps

Win32 Multimedia Programmer's Reference (mmedia.hlp)
OLE Programmer's Reference (ole.hlp)
Microsoft Windows Pen API Programmer's Reference (penapi.hlp)
Microsoft Windows Sockets 2 Reference (sock2.hlp)
Microsoft Windows Telephony API (TAPI) Programmer's Reference (tapi.hlp)
Unix Manual Pages

Free Tech Secrets ;) Copyright © 2008 Free Tect Secrets ;) greatis just4fun network just4fun