1 #ifndef __WIN32K_OBJECT_H
2 #define __WIN32K_OBJECT_H
12 typedef struct _USER_OBJECT_HEADER
14 * Header for user object
17 USER_OBJECT_TYPE Type
;
21 } USER_OBJECT_HEADER
, *PUSER_OBJECT_HEADER
;
24 typedef struct _USER_HANDLE
27 } USER_HANDLE
, *PUSER_HANDLE
;
29 #define HANDLE_BLOCK_ENTRIES ((PAGESIZE-sizeof(LIST_ENTRY))/sizeof(USER_HANDLE))
31 typedef struct _USER_HANDLE_BLOCK
34 USER_HANDLE Handles
[HANDLE_BLOCK_ENTRIES
];
35 } USER_HANDLE_BLOCK
, *PUSER_HANDLE_BLOCK
;
37 typedef struct _USER_HANDLE_TABLE
41 } USER_HANDLE_TABLE
, *PUSER_HANDLE_TABLE
;
61 ObmReferenceObjectByPointer(
63 USER_OBJECT_TYPE ObjectType
);
67 PUSER_HANDLE_TABLE HandleTable
,
69 USER_OBJECT_TYPE ObjectType
,
74 PUSER_HANDLE_TABLE HandleTable
,
76 PHANDLE HandleReturn
);
79 ObmReferenceObjectByHandle(
80 PUSER_HANDLE_TABLE HandleTable
,
82 USER_OBJECT_TYPE ObjectType
,
87 PUSER_HANDLE_TABLE HandleTable
,
91 ObmInitializeHandleTable(
92 PUSER_HANDLE_TABLE HandleTable
);
96 PUSER_HANDLE_TABLE HandleTable
);
99 ObmCreateHandleTable(VOID
);
102 ObmDestroyHandleTable(
103 PUSER_HANDLE_TABLE HandleTable
);
105 #endif /* __WIN32K_OBJECT_H */