2025-07-19 14:02:43 +02:00
|
|
|
// Copyright 2025 Dolphin Emulator Project
|
|
|
|
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#ifdef _WIN32
|
|
|
|
|
|
2025-10-02 04:11:27 -05:00
|
|
|
#include <optional>
|
2025-07-19 14:02:43 +02:00
|
|
|
#include <string>
|
|
|
|
|
|
|
|
|
|
#ifndef WIN32_LEAN_AND_MEAN
|
|
|
|
|
#define WIN32_LEAN_AND_MEAN
|
|
|
|
|
#endif
|
|
|
|
|
#ifndef NOMINMAX
|
|
|
|
|
#define NOMINMAX
|
|
|
|
|
#endif
|
|
|
|
|
#include <Windows.h>
|
|
|
|
|
|
|
|
|
|
#include <SetupAPI.h>
|
|
|
|
|
#include <cfgmgr32.h>
|
|
|
|
|
#include <devpropdef.h>
|
|
|
|
|
|
|
|
|
|
namespace Common
|
|
|
|
|
{
|
|
|
|
|
// Obtains a device property and returns it as a wide string.
|
|
|
|
|
std::wstring GetDeviceProperty(const HANDLE& device_info, const PSP_DEVINFO_DATA device_data,
|
|
|
|
|
const DEVPROPKEY* requested_property);
|
2025-10-02 04:11:27 -05:00
|
|
|
|
|
|
|
|
std::optional<std::wstring> GetDevNodeStringProperty(DEVINST device,
|
|
|
|
|
const DEVPROPKEY* requested_property);
|
|
|
|
|
|
|
|
|
|
std::optional<std::wstring> GetDeviceInterfaceStringProperty(LPCWSTR iface,
|
|
|
|
|
const DEVPROPKEY* requested_property);
|
|
|
|
|
|
2025-07-19 14:02:43 +02:00
|
|
|
} // namespace Common
|
|
|
|
|
|
|
|
|
|
#endif
|