{"published":"2021-09-23 13:32:00","image_url":null,"provider_name":"Hatena Blog","provider_url":"https://hatena.blog","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fpotisan-programming-memo.hatenablog.jp%2Fentry%2F2021%2F09%2F23%2F133200\" title=\"C++20&amp;Win API \u30c7\u30d0\u30a4\u30b9\u60c5\u5831\u8981\u7d20\u306eGUID\u3001\u4e0d\u900f\u660e\u30cf\u30f3\u30c9\u30eb\u3001\u6982\u8981\u3092\u5217\u6319\u3059\u308b - potisan\u306e\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u30e1\u30e2\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","version":"1.0","width":"100%","blog_url":"https://potisan-programming-memo.hatenablog.jp/","author_name":"potisan","categories":["C++","Windows"],"type":"rich","description":"\u30c7\u30d0\u30a4\u30b9\u60c5\u5831\u8981\u7d20\u306eGUID\u3001\u4e0d\u900f\u660e\u30cf\u30f3\u30c9\u30eb\uff08Opaque Handle\uff09\u3001\u6982\u8981\u3092\u5217\u6319\u3059\u308b\u30b5\u30f3\u30d7\u30eb\u30b3\u30fc\u30c9\u3067\u3059\u3002 #include <memory> #include <string> #include <format> #include <numeric> #include <iostream> #include <list> #pragma comment(lib, \"SetupAPI.lib\") #define STRICT #define NOMINMAX #include <Windows.h> #include <SetupAPI.h> struct HDEVINFO_deleter \u2026","author_url":"https://blog.hatena.ne.jp/potisan/","url":"https://potisan-programming-memo.hatenablog.jp/entry/2021/09/23/133200","height":"190","title":"C++20&Win API \u30c7\u30d0\u30a4\u30b9\u60c5\u5831\u8981\u7d20\u306eGUID\u3001\u4e0d\u900f\u660e\u30cf\u30f3\u30c9\u30eb\u3001\u6982\u8981\u3092\u5217\u6319\u3059\u308b","blog_title":"potisan\u306e\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u30e1\u30e2"}