reactos/sdk/lib/drivers/wdf/shared/inc/primitives/km/mxdeviceobjectkm.h

194 lines
2.7 KiB
C
Raw Normal View History

/*++
Copyright (c) Microsoft Corporation
ModuleName:
MxDeviceObjectKm.h
Abstract:
Kernel Mode implementation of Device Object defined in MxDeviceObject.h
--*/
#pragma once
#include "mxdeviceobject.h"
__inline
CCHAR
MxDeviceObject::GetStackSize(
VOID
)
{
return m_DeviceObject->StackSize;
}
__inline
VOID
MxDeviceObject::SetStackSize(
_In_ CCHAR Size
)
{
m_DeviceObject->StackSize = Size;
}
__inline
VOID
MxDeviceObject::ReferenceObject(
)
{
ObReferenceObject(m_DeviceObject);
}
__inline
MdDeviceObject
MxDeviceObject::GetAttachedDeviceReference(
VOID
)
{
return IoGetAttachedDeviceReference(m_DeviceObject);
}
__inline
VOID
MxDeviceObject::DereferenceObject(
)
{
ObDereferenceObject(m_DeviceObject);
}
__inline
ULONG
MxDeviceObject::GetFlags(
VOID
)
{
#ifdef _MSC_VER
#pragma warning(disable:28129)
#endif
return m_DeviceObject->Flags;
}
__inline
VOID
MxDeviceObject::SetFlags(
ULONG Flags
)
{
#ifdef _MSC_VER
#pragma warning(disable:28129)
#endif
m_DeviceObject->Flags = Flags;
}
__inline
POWER_STATE
MxDeviceObject::SetPowerState(
__in POWER_STATE_TYPE Type,
__in POWER_STATE State
)
{
return PoSetPowerState(m_DeviceObject, Type, State);
}
__inline
VOID
MxDeviceObject::InvalidateDeviceRelations(
__in DEVICE_RELATION_TYPE Type
)
{
IoInvalidateDeviceRelations(m_DeviceObject, Type);
}
__inline
VOID
MxDeviceObject::InvalidateDeviceState(
__in MdDeviceObject Fdo
)
{
//
// UMDF currently needs Fdo for InvalidateDeviceState
// FDO is not used in km.
//
// m_DeviceObject holds PDO that is what is used below.
//
UNREFERENCED_PARAMETER(Fdo);
IoInvalidateDeviceState(m_DeviceObject);
}
__inline
PVOID
MxDeviceObject::GetDeviceExtension(
VOID
)
{
return m_DeviceObject->DeviceExtension;
}
__inline
VOID
MxDeviceObject::SetDeviceExtension(
PVOID Value
)
{
m_DeviceObject->DeviceExtension = Value;
}
__inline
DEVICE_TYPE
MxDeviceObject::GetDeviceType(
VOID
)
{
return m_DeviceObject->DeviceType;
}
__inline
ULONG
MxDeviceObject::GetCharacteristics(
VOID
)
{
return m_DeviceObject->Characteristics;
}
__inline
VOID
MxDeviceObject::SetDeviceType(
DEVICE_TYPE Value
)
{
m_DeviceObject->DeviceType = Value;
}
__inline
VOID
MxDeviceObject::SetCharacteristics(
ULONG Characteristics
)
{
m_DeviceObject->Characteristics = Characteristics;
}
__inline
VOID
MxDeviceObject::SetAlignmentRequirement(
_In_ ULONG Value
)
{
m_DeviceObject->AlignmentRequirement = Value;
}
__inline
ULONG
MxDeviceObject::GetAlignmentRequirement(
VOID
)
{
return m_DeviceObject->AlignmentRequirement;
}