Merge HAL changes 34743, 34812, 34839, 34917, 35515, 35771, 35902, 35904,
[reactos.git] / reactos / subsystems / win32 / win32k / include / driverobj.h
1 #ifndef _WIN32K_DRIVEROBJ_H
2 #define _WIN32K_DRIVEROBJ_H
3
4 #include "gdiobj.h"
5
6 /* Object structure */
7 typedef struct _EDRIVEROBJ
8 {
9 BASEOBJECT baseobj;
10 DRIVEROBJ drvobj;
11 PVOID reserved;
12 } EDRIVEROBJ, *PEDRIVEROBJ;
13
14 /* Cleanup function */
15 BOOL INTERNAL_CALL DRIVEROBJ_Cleanup(PVOID pObject);
16
17
18 #define DRIVEROBJ_AllocObjectWithHandle() ((PEDRIVEROBJ)GDIOBJ_AllocObjWithHandle(GDI_OBJECT_TYPE_DRIVEROBJ))
19 #define DRIVEROBJ_FreeObjectByHandle(hdo) GDIOBJ_FreeObjByHandle((HGDIOBJ)hdo, GDI_OBJECT_TYPE_DRIVEROBJ)
20 #define DRIVEROBJ_LockObject(hdo) ((PEDRIVEROBJ)GDIOBJ_LockObj((HGDIOBJ)hdo, GDI_OBJECT_TYPE_DRIVEROBJ))
21 #define DRIVEROBJ_UnlockObject(pdo) GDIOBJ_UnlockObjByPtr((POBJ)pdo)
22
23 #endif /* !_WIN32K_DRIVEROBJ_H */