Skip to content

Proposal: Expand Coverage of Windows Handle Types in HandleTypeEnum

Ivan Kirillov edited this page Dec 18, 2013 · 4 revisions

Status: Closed
Comment Period Closes: 12/17/13
Affects Backwards Compatibility: No
Relevant Issue: https://github.com/CybOXProject/schemas/issues/83

Background Information

The HandleTypeEnum in the Windows Handle Object is incomplete and missing several types of handles. Thus, it should be expanded to be more complete and provide additional coverage of Handle types used in Windows.

In version 2.0.1 of the Windows Handle Object, the HandleTypeEnum included the following values:

Item Description
AccessToken Specifies an access token handle.
Event Specifies an event handle.
File Specifies a file handle.
FileMapping Specifies a file mapping handle.
Job Specifies a job handle.
IOCompletionPort Specifies an IO completion port handle.
Mailslot Specifies a mailslot handle.
Mutex Specifies a mutex handle.
NamedPipe Specifies a named pipe handle.
Pipe Specifies a pipe handle.
Process Specifies a process handle.
Semaphore Specifies a semaphore handle.
Thread Specifies a thread handle.
Transaction Specifies a transaction handle.
WaitableTimer Specifies a waitable timer handle.
RegistryKey Specifies a registry key handle.
Window Specifies a window handle.
ServiceControlManager Specifies a service control manager handle.

Proposal

Based on some resources we've looked at (including http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751%28v=vs.85%29.aspx) we propose adding the following values to the HandleTypeEnum in the Windows Handle Object to have complete coverage of Handle types:

Item Description
CommunicationsDevice Specifies a communications device handle.
ConsoleInput Specifies a console input handle.
ConsoleScreenBuffer Specifies a console screen buffer handle.
MemoryResourceNotification Specifies a memory resource notification handle.
Directory Specifies a directory handle.
SymbolicLink Specifies a symbolic link handle.
Token Specifies a symbolic token handle.
Profile Specifies a profile handle.
WindowStation Specifies a window station handle.
Port Specifies a port handle.
WaitablePort Specifies a waitable port handle.
Controller Specifies a controller handle.
Driver Specifies a driver handle.
Desktop Specifies a desktop handle.
Adapter Specifies an adapter handle.
Bitmap Specifies a bitmap handle.
Brush Specifies a brush handle.
ColorSpace Specifies a color space handle.
Cursor Specifies a cursor handle.
DeviceContext Specifies a device context handle.
EnhancedMetafile Specifies an enhanced metafile handle.
Font Specifies a font handle.
GDIObject Specifies a GDI object handle.
Hook Specifies a hook handle.
Icon Specifies an icon handle.
Module Specifies a module instance handle.
Menu Specifies a menu handle.
Metafile Specifies a metafile handle.
DisplayMonitor Specifies a display monitor handle.
Palette Specifies a palette handle.
Pen Specifies a pen handle.
Region Specifies a region handle.
Resource Specifies a resource handle.

Impact

There is no expected compatibility impact.

Requested Feedback

  1. Do all of the handle types being suggested for inclusion make sense? Are the descriptions and names accurate?
  2. Are we missing any other handles types, i.e. should we add any other useful handle types beyond the ones already suggested?
Clone this wiki locally