WinStd
Additional templates and function helpers for Microsoft Windows using Standard C++ classes
Public Member Functions | Public Attributes | Protected Member Functions | List of all members
winstd::setup_device_info_list Class Reference

HDEVINFO wrapper class. More...

#include <WinStd/SetupAPI.h>

Inheritance diagram for winstd::setup_device_info_list:
winstd::handle< HDEVINFO, INVALID_HANDLE_VALUE >

Public Member Functions

virtual ~setup_device_info_list ()
 Frees the device information set. More...
 
 __declspec (deprecated("Use SetupDiCreateDeviceInfoList")) bool create(const GUID *ClassGuid
 Creates an empty device information set and optionally associates the set with a device setup class and a top-level window. More...
 
 if (h !=invalid)
 
 __declspec (deprecated("Use SetupDiGetClassDevsEx")) bool create(const GUID *ClassGuid
 Creates a device information set that contains requested device information elements for a local or a remote computer. More...
 
 if (h !=invalid)
 
- Public Member Functions inherited from winstd::handle< HDEVINFO, INVALID_HANDLE_VALUE >
 handle () noexcept
 Initializes a new class instance with the object handle set to INVAL.
 
 handle (handle_type h) noexcept
 Initializes a new class instance with an already available object handle. More...
 
 handle (handle< handle_type, INVAL > &&h) noexcept
 Move constructor. More...
 
handle< handle_type, INVAL > & operator= (handle_type h) noexcept
 Attaches already available object handle. More...
 
handle< handle_type, INVAL > & operator= (handle< handle_type, INVAL > &&h) noexcept
 Move assignment. More...
 
 operator handle_type () const
 Auto-typecasting operator. More...
 
handle_type *& operator* () const
 Returns the object handle value when the object handle is a pointer to a value (class, struct, etc.). More...
 
handle_typeoperator& ()
 Returns the object handle reference. More...
 
handle_type operator-> () const
 Provides object handle member access when the object handle is a pointer to a class or struct. More...
 
bool operator! () const
 Tests if the object handle is INVAL. More...
 
bool operator< (handle_type h) const
 Is handle less than? More...
 
bool operator<= (handle_type h) const
 Is handle less than or equal to? More...
 
bool operator>= (handle_type h) const
 Is handle greater than or equal to? More...
 
bool operator> (handle_type h) const
 Is handle greater than? More...
 
bool operator!= (handle_type h) const
 Is handle not equal to? More...
 
bool operator== (handle_type h) const
 Is handle equal to? More...
 
void attach (handle_type h) noexcept
 Sets a new object handle for the class. More...
 
handle_type detach ()
 Dismisses the object handle from this class. More...
 
void free ()
 Destroys the object.
 

Public Attributes

HWND hwndParent noexcept
 
else return false
 
PCTSTR Enumerator
 
PCTSTR HWND hwndParent
 
PCTSTR HWND DWORD Flags
 
PCTSTR HWND DWORD HDEVINFO DeviceInfoSet
 
PCTSTR HWND DWORD HDEVINFO PCTSTR MachineName
 
PCTSTR HWND DWORD HDEVINFO PCTSTR PVOID Reserved noexcept
 

Protected Member Functions

void free_internal () noexcept override
 Frees the device information set. More...
 
virtual void free_internal () noexcept=0
 Abstract member function that must be implemented by child classes to do the actual object destruction. More...
 

Additional Inherited Members

- Public Types inherited from winstd::handle< HDEVINFO, INVALID_HANDLE_VALUE >
typedef HDEVINFO handle_type
 Datatype of the object handle this template class handles.
 
- Static Public Attributes inherited from winstd::handle< HDEVINFO, INVALID_HANDLE_VALUE >
static const HDEVINFO invalid
 Invalid handle value.
 
- Protected Attributes inherited from winstd::handle< HDEVINFO, INVALID_HANDLE_VALUE >
handle_type m_h
 Object handle.
 

Detailed Description

HDEVINFO wrapper class.

Constructor & Destructor Documentation

◆ ~setup_device_info_list()

virtual winstd::setup_device_info_list::~setup_device_info_list ( )
inlinevirtual

Frees the device information set.

See also
SetupDiDestroyDeviceInfoList function

Member Function Documentation

◆ __declspec() [1/2]

winstd::setup_device_info_list::__declspec ( deprecated("Use SetupDiCreateDeviceInfoList")  ) const

Creates an empty device information set and optionally associates the set with a device setup class and a top-level window.

Returns
  • true when creation succeeds;
  • false when creation fails. For extended error information, call GetLastError().
See also
SetupDiCreateDeviceInfoList function

◆ __declspec() [2/2]

winstd::setup_device_info_list::__declspec ( deprecated("Use SetupDiGetClassDevsEx")  ) const

Creates a device information set that contains requested device information elements for a local or a remote computer.

Returns
  • true when creation succeeds;
  • false when creation fails. For extended error information, call GetLastError().
See also
SetupDiGetClassDevsExW function

◆ free_internal()

void winstd::setup_device_info_list::free_internal ( )
inlineoverrideprotectedvirtualnoexcept

Frees the device information set.

See also
SetupDiDestroyDeviceInfoList function

Implements winstd::handle< HDEVINFO, INVALID_HANDLE_VALUE >.

Member Data Documentation

◆ noexcept [1/2]

HWND hwndParent winstd::setup_device_info_list::noexcept
Initial value:
{
handle_type h = SetupDiCreateDeviceInfoList(ClassGuid, hwndParent)
HDEVINFO handle_type
Datatype of the object handle this template class handles.
Definition: Common.h:608

◆ noexcept [2/2]

PCTSTR HWND DWORD HDEVINFO PCTSTR PVOID Reserved winstd::setup_device_info_list::noexcept
Initial value:
{
handle_type h = SetupDiGetClassDevsEx(ClassGuid, Enumerator, hwndParent, Flags, DeviceInfoSet, MachineName, Reserved)

The documentation for this class was generated from the following file: