mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-08-31 12:23:31 +00:00
- 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
63 lines
1.1 KiB
C++
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(
|
|
);
|
|
};
|
|
|