mirror of
https://github.com/reactos/reactos.git
synced 2025-03-10 18:24:02 +00:00
152 lines
2.1 KiB
C++
152 lines
2.1 KiB
C++
/*++
|
|
|
|
Copyright (c) Microsoft Corporation
|
|
|
|
ModuleName:
|
|
|
|
MxDeviceObject.h
|
|
|
|
Abstract:
|
|
|
|
Mode agnostic definition of Device Object
|
|
|
|
See MxDeviceObjectKm.h and MxDeviceObjectUm.h/cpp for mode
|
|
specific implementations
|
|
|
|
--*/
|
|
|
|
#pragma once
|
|
|
|
class MxDeviceObject
|
|
{
|
|
private:
|
|
//
|
|
// MdDeviceObject is typedef'ed to appropriate type for the mode
|
|
// in the mode specific file
|
|
//
|
|
MdDeviceObject m_DeviceObject;
|
|
|
|
public:
|
|
__inline
|
|
MxDeviceObject(
|
|
__in MdDeviceObject DeviceObject
|
|
) :
|
|
m_DeviceObject(DeviceObject)
|
|
{
|
|
}
|
|
|
|
__inline
|
|
MxDeviceObject(
|
|
VOID
|
|
) :
|
|
m_DeviceObject(NULL)
|
|
{
|
|
}
|
|
|
|
__inline
|
|
MdDeviceObject
|
|
GetObject(
|
|
VOID
|
|
)
|
|
{
|
|
return m_DeviceObject;
|
|
}
|
|
|
|
__inline
|
|
VOID
|
|
SetObject(
|
|
__in_opt MdDeviceObject DeviceObject
|
|
)
|
|
{
|
|
m_DeviceObject = DeviceObject;
|
|
}
|
|
|
|
CCHAR
|
|
GetStackSize(
|
|
VOID
|
|
);
|
|
|
|
VOID
|
|
SetStackSize(
|
|
_In_ CCHAR Size
|
|
);
|
|
|
|
VOID
|
|
ReferenceObject(
|
|
);
|
|
|
|
MdDeviceObject
|
|
GetAttachedDeviceReference(
|
|
VOID
|
|
);
|
|
|
|
VOID
|
|
DereferenceObject(
|
|
);
|
|
|
|
ULONG
|
|
GetFlags(
|
|
VOID
|
|
);
|
|
|
|
VOID
|
|
SetFlags(
|
|
ULONG Flags
|
|
);
|
|
|
|
POWER_STATE
|
|
SetPowerState(
|
|
__in POWER_STATE_TYPE Type,
|
|
__in POWER_STATE State
|
|
);
|
|
|
|
VOID
|
|
InvalidateDeviceRelations(
|
|
__in DEVICE_RELATION_TYPE Type
|
|
);
|
|
|
|
VOID
|
|
InvalidateDeviceState(
|
|
__in MdDeviceObject Fdo //used in UMDF
|
|
);
|
|
|
|
PVOID
|
|
GetDeviceExtension(
|
|
VOID
|
|
);
|
|
|
|
VOID
|
|
SetDeviceExtension(
|
|
PVOID Value
|
|
);
|
|
|
|
DEVICE_TYPE
|
|
GetDeviceType(
|
|
VOID
|
|
);
|
|
|
|
ULONG
|
|
GetCharacteristics(
|
|
VOID
|
|
);
|
|
|
|
VOID
|
|
SetDeviceType(
|
|
DEVICE_TYPE Value
|
|
);
|
|
|
|
VOID
|
|
SetCharacteristics(
|
|
ULONG Characteristics
|
|
);
|
|
|
|
VOID
|
|
SetAlignmentRequirement(
|
|
_In_ ULONG Value
|
|
);
|
|
|
|
ULONG
|
|
GetAlignmentRequirement(
|
|
VOID
|
|
);
|
|
};
|