potisanのプログラミングメモ

趣味のプログラマーがプログラミング関係で気になったことや調べたことをいつでも忘れられるようにメモするブログです。はてなブログ無料版なので記事の上の方はたぶん広告です。記事中にも広告挿入されるみたいです。

2022-11-01から1ヶ月間の記事一覧

C++20&Win API 無線ネットワークのシグナル品質を列挙する

ネイティブWiFi APIを使って無線ネットワークのシグナル強度を列挙するコードです。いくつかのネイティブWiFi APIは独自メモリに確保した構造体に可変長配列を持ちますが、std::unique_ptrとstd::spanを使えば可読性と安全性をまとめて担保できます。 シグナ…

C++20&Win API ファイルセキュリティのグループ名またはユーザー名をまとめて取得する

ファイルのセキュリティ記述子に含まれるグループ名またはユーザー名をまとめて取得するコードです。実際には個々のACEから名前を取得して、それをstd::setでまとめています。 #include <array> #include <string> #include <set> #include <vector> #define STRICT #define NOMINMAX #in</vector></set></string></array>…

C++20&Win API ファイルセキュリティのグループ名またはユーザー名をACE毎に取得する

ファイルのプロパティ、セキュリティタブのグループ名またはユーザー名に表示される名前をACE毎に取得するコードです。セキュリティ記述子とDACLの学習用でもあります。 コード メモ コード #include <array> #include <string> #include <vector> #define STRICT #define NOMINMAX </vector></string></array>…

C++23Preview&Win API ローカルコンピューターのデバイス列挙子とデバイスIDリストの取得

CM系のAPIを使用してローカルコンピューターのデバイス列挙子とデバイスIDリストを取得するコードです。C++23で導入予定のstd::ranges::toを使用しています(MSVCのPreview版)。 #include <ranges> #include <algorithm> #include <iostream> #include <string> #include <vector> #define STRICT #define</vector></string></iostream></algorithm></ranges>…