mirror of
https://github.com/reactos/reactos.git
synced 2024-11-01 04:11:30 +00:00
26 lines
604 B
C
26 lines
604 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_UnlockObject(pdo) GDIOBJ_vUnlockObject((POBJ)pdo)
|
|
|
|
FORCEINLINE
|
|
PEDRIVEROBJ
|
|
DRIVEROBJ_TryLockObject(HDRVOBJ hdo)
|
|
{
|
|
return (PEDRIVEROBJ)GDIOBJ_TryLockObject(hdo, GDIObjType_DRVOBJ_TYPE);
|
|
}
|