reactos/dll/win32/devmgr/devmgmt/DeviceNode.h
Hermès Bélusca-Maïto 9393fc320e
[FORMATTING] Remove trailing whitespace. Addendum to 34593d93.
Excluded: 3rd-party code (incl. wine) and most of the win32ss.
2021-09-13 03:52:22 +02:00

74 lines
1.2 KiB
C++

#pragma once
#include "Node.h"
enum IconOverlays
{
OverlayProblem = 1,
OverlayDisabled,
OverlayInfo
};
class CDeviceNode : public CNode
{
private:
SP_DEVINFO_DATA m_DevinfoData;
DEVINST m_DevInst;
HDEVINFO m_hDevInfo;
ULONG m_Status;
ULONG m_ProblemNumber;
int m_OverlayImage;
public:
CDeviceNode(
_In_opt_ DEVINST Device,
_In_ PSP_CLASSIMAGELIST_DATA ImageListData
);
~CDeviceNode();
CDeviceNode(
_In_ const CDeviceNode &Node
);
virtual bool SetupNode();
DEVINST GetDeviceInst() { return m_DevInst; }
int GetOverlayImage() { return m_OverlayImage; }
bool HasProblem();
bool IsHidden();
bool CanDisable();
virtual bool IsDisabled();
bool IsStarted();
bool IsInstalled();
bool CanUninstall();
virtual bool CanUpdate() { return true; } // unimplemented
bool EnableDevice(
_In_ bool Enable,
_Out_ bool &NeedsReboot
);
bool UninstallDevice(
);
private:
void Cleanup(
);
bool SetFlags(
_In_ DWORD Flags,
_In_ DWORD FlagsEx
);
bool RemoveFlags(
_In_ DWORD Flags,
_In_ DWORD FlagsEx
);
DWORD GetFlags(
);
};