mirror of
https://github.com/reactos/reactos.git
synced 2024-08-28 06:08:23 +00:00
27 lines
697 B
C
27 lines
697 B
C
#pragma once
|
|
|
|
/* Object structure */
|
|
typedef struct _EDRIVEROBJ
|
|
{
|
|
BASEOBJECT baseobj;
|
|
DRIVEROBJ drvobj;
|
|
PVOID reserved;
|
|
} EDRIVEROBJ, *PEDRIVEROBJ;
|
|
|
|
typedef DRIVEROBJ *PDRIVEROBJ;
|
|
|
|
/* Cleanup function */
|
|
VOID NTAPI DRIVEROBJ_vCleanup(PVOID pObject);
|
|
|
|
|
|
#define DRIVEROBJ_AllocObjectWithHandle() ((PEDRIVEROBJ)GDIOBJ_AllocObjWithHandle(GDI_OBJECT_TYPE_DRIVEROBJ, sizeof(EDRIVEROBJ)))
|
|
#define DRIVEROBJ_FreeObjectByHandle(hdo) GDIOBJ_FreeObjByHandle((HGDIOBJ)hdo, GDI_OBJECT_TYPE_DRIVEROBJ)
|
|
#define DRIVEROBJ_UnlockObject(pdo) GDIOBJ_vUnlockObject((POBJ)pdo)
|
|
|
|
FORCEINLINE
|
|
PEDRIVEROBJ
|
|
DRIVEROBJ_TryLockObject(HDRVOBJ hdo)
|
|
{
|
|
return GDIOBJ_TryLockObject(hdo, GDIObjType_DRVOBJ_TYPE);
|
|
}
|