Publish LumaOps source
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
/*---------------------------------------------------------*\
|
||||
| wmi.h |
|
||||
| |
|
||||
| WMI interface functionality |
|
||||
| |
|
||||
| This file is part of the OpenRGB project |
|
||||
| SPDX-License-Identifier: GPL-2.0-or-later |
|
||||
\*---------------------------------------------------------*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <string>
|
||||
#include <vector>
|
||||
#include <map>
|
||||
#include <regex>
|
||||
|
||||
#include <comdef.h>
|
||||
#include <Wbemidl.h>
|
||||
#include <Windows.h>
|
||||
|
||||
#define WMI_WAIT_TIME 2000 /// Max time to wait for next object in when enumerating next object in wmi query in milliseconds
|
||||
|
||||
#pragma comment(lib, "wbemuuid.lib")
|
||||
|
||||
|
||||
typedef std::map<std::string, std::string> QueryObj;
|
||||
typedef std::map<std::string, std::regex> AdditionalFilters;
|
||||
typedef std::pair<std::string, std::regex> AdditionalFilter;
|
||||
|
||||
// Wmi Base class
|
||||
class Wmi
|
||||
{
|
||||
public:
|
||||
Wmi();
|
||||
~Wmi();
|
||||
|
||||
// Initialises connection to WMI host
|
||||
static HRESULT init();
|
||||
|
||||
HRESULT query(std::string queryStr,
|
||||
std::vector<QueryObj>& queryVectorOut,
|
||||
const AdditionalFilters* filters = nullptr);
|
||||
|
||||
private:
|
||||
static IWbemLocator *pLoc;
|
||||
static IWbemServices *pSvc;
|
||||
};
|
||||
Reference in New Issue
Block a user