Difference between revisions of "Techwiki:Win32k/HANDLEENTRY"

From ReactOS Wiki
Jump to: navigation, search
Line 21: Line 21:
 
  enum HANDLE_TYPE{
 
  enum HANDLE_TYPE{
 
     TYPE_FREE = 0 ,        // 'must be zero!
 
     TYPE_FREE = 0 ,        // 'must be zero!
     TYPE_WINDOW = 1 ,      // 'in order of use for C code lookups
+
     [[Techwiki:win32k/WND|TYPE_WINDOW]] = 1 ,      // 'in order of use for C code lookups
     TYPE_MENU = 2,        //
+
     [[Techwiki:win32k/MENU|TYPE_MENU]] = 2,        //
     TYPE_CURSOR = 3,      //
+
     [[Techwiki:win32k/CURSOR|TYPE_CURSOR]] = 3,      //
     TYPE_SETWINDOWPOS = 4, // HDWP
+
     [[Techwiki:win32k/SMWP|TYPE_SETWINDOWPOS]] = 4, // HDWP
     TYPE_HOOK = 5,        //
+
     [[Techwiki:win32k/HOOK|TYPE_HOOK]] = 5,        //
 
     TYPE_CLIPDATA = 6 ,    // 'clipboard data
 
     TYPE_CLIPDATA = 6 ,    // 'clipboard data
     TYPE_CALLPROC = 7,    //
+
     [[Techwiki:win32k/CALLPROCDATA|TYPE_CALLPROC]] = 7,    //
     TYPE_ACCELTABLE = 8,  //
+
     [[Techwiki:win32k/ACCELTABLE|TYPE_ACCELTABLE]] = 8,  //
 
     TYPE_DDEACCESS = 9,    //
 
     TYPE_DDEACCESS = 9,    //
 
     TYPE_DDECONV = 10,    //
 
     TYPE_DDECONV = 10,    //
 
     TYPE_DDEXACT = 11,    // 'DDE transaction tracking info.
 
     TYPE_DDEXACT = 11,    // 'DDE transaction tracking info.
     TYPE_MONITOR = 12,    //
+
     [[Techwiki:win32k/MONITOR|TYPE_MONITOR]] = 12,    //
 
     TYPE_KBDLAYOUT = 13,  // 'Keyboard Layout handle (HKL) object.
 
     TYPE_KBDLAYOUT = 13,  // 'Keyboard Layout handle (HKL) object.
 
     TYPE_KBDFILE = 14,    // 'Keyboard Layout file object.
 
     TYPE_KBDFILE = 14,    // 'Keyboard Layout file object.
     TYPE_WINEVENTHOOK = 15,// 'WinEvent hook (EVENTHOOK)
+
     [[Techwiki:win32k/EVENT|TYPE_WINEVENTHOOK]] = 15,// 'WinEvent hook (EVENTHOOK)
     TYPE_TIMER = 16,      //
+
     [[Techwiki:win32k/TIMER|TYPE_TIMER]] = 16,      //
     TYPE_INPUTCONTEXT = 17,// 'Input Context info structure
+
     [[Techwiki:win32k/IMC|TYPE_INPUTCONTEXT]] = 17,// 'Input Context info structure
 
     TYPE_HIDDATA = 18,    //
 
     TYPE_HIDDATA = 18,    //
 
     TYPE_DEVICEINFO = 19,  //
 
     TYPE_DEVICEINFO = 19,  //

Revision as of 00:34, 16 January 2010

Windows XP version of User Handle Entrys

typedef struct _HANDLEENTRY
{
/* 000 */ PHEAD   phead;  // Pointer to the Object.
/* 004 */ PVOID   pOwner; // PTI or PPI
/* 008 */ BYTE    bType;  // Object handle type
/* 009 */ BYTE    bFlags; // Flags
/* 00a */ WORD    wUniq;  // Access count.
} HANDLEENTRY, *PHE;

// Flags:
#define HANDLEF_DESTROY        0x01
#define HANDLEF_INDESTROY      0x02
#define HANDLEF_INWAITFORDEATH 0x04
#define HANDLEF_FINALDESTROY   0x08
#define HANDLEF_MARKED_OK      0x10
#define HANDLEF_GRANTED        0x20

//
enum HANDLE_TYPE{
   TYPE_FREE = 0 ,        // 'must be zero!
   TYPE_WINDOW = 1 ,      // 'in order of use for C code lookups
   TYPE_MENU = 2,         //
   TYPE_CURSOR = 3,       //
   TYPE_SETWINDOWPOS = 4, // HDWP
   TYPE_HOOK = 5,         //
   TYPE_CLIPDATA = 6 ,    // 'clipboard data
   TYPE_CALLPROC = 7,     //
   TYPE_ACCELTABLE = 8,   //
   TYPE_DDEACCESS = 9,    //
   TYPE_DDECONV = 10,     //
   TYPE_DDEXACT = 11,     // 'DDE transaction tracking info.
   TYPE_MONITOR = 12,     //
   TYPE_KBDLAYOUT = 13,   // 'Keyboard Layout handle (HKL) object.
   TYPE_KBDFILE = 14,     // 'Keyboard Layout file object.
   TYPE_WINEVENTHOOK = 15,// 'WinEvent hook (EVENTHOOK)
   TYPE_TIMER = 16,       //
   TYPE_INPUTCONTEXT = 17,// 'Input Context info structure
   TYPE_HIDDATA = 18,     //
   TYPE_DEVICEINFO = 19,  //
   TYPE_TOUCHINPUT = 20,  // 'Ustz'
   TYPE_GESTUREINFO = 21, // 'Usgi'
   TYPE_CTYPES = 22,      // 'Count of TYPEs; Must be LAST + 1
   TYPE_GENERIC = 255     // 'used for generic handle validation
};

References