Files
reactos/reactos/dll/win32/devmgr/devmgmt/DeviceNode.h
T
Ged Murphy 7fb73dcf30 [DEVMGR]
- Kill off the old devmgr and replace it with the new one
- The new one now contains the (rewritten) device manager code, is now a C++ library and makes use of the recently improved ATL

svn path=/trunk/; revision=69545
2015-10-15 17:21:37 +00:00

63 lines
1.1 KiB
C++

#pragma once
#include "Node.h"
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();
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(
);
};