WIL
MicrosoftがGitHubでMITライセンス公開しているWILのGitHub Wikiの記事を和訳・改変したものです。素人による翻訳なので、誤訳や著作権上の問題などありましたらご連絡いただけますと幸いです。 Win32ヘルパー(原題:Win32 helpers) 使い方 文字列長定数 …
MicrosoftがGitHubでMITライセンス公開しているWILのGitHub Wikiの記事を和訳・改変したものです。素人による翻訳なので、誤訳や著作権上の問題などありましたらご連絡いただけますと幸いです。 イベントハンドラ(原題:Event handles) Raymond Chen、2020…
C++20とWIL(バージョン)でプロパティシステムを使ってファイルシステムオブジェクトのプロパティ情報を列挙するサンプルコードです。 サンプルコード 出力例 サンプルコード // 動作確認環境: // C++20 // WIL 1.0.201120.3 #include <algorithm> #include <iostream> #include <ranges></ranges></iostream></algorithm>…
C++20とWILでWindowsプロパティシステムのプロパティ情報を列挙するサンプルコードです。コードの変更でプロパティの他の情報も列挙できます。 コード 出力例 コード #include <iostream> #include <string> #pragma comment(lib, "propsys.lib") #define STRICT #include <Windows.h> #in</windows.h></string></iostream>…
関数tryブロック WILでの利用 MSVCのコンストラクタにおける不思議な挙動 参考 関数tryブロック WILのGitHub Wikiを読んでいたら関数名の後ろ、constやnoexceptのある部分にtry、関数の直後にcatchのあるコードを見かけました。main関数で示せば次のような感…
MicrosoftがGitHubでMITライセンス公開しているWILのGitHub Wikiからビット操作ヘルパーの記事を和訳・改変したものです。素人による翻訳なので、誤訳や著作権上の問題などありましたらご連絡いただけますと幸いです。 ビット演算ヘルパー Duncan Horn、2020…
MicrosoftがGitHubでMITライセンス公開しているWILのGitHub Wikiからアドホック範囲ヘルパーの記事を和訳・改変したものです。素人による翻訳なので、誤訳や著作権上の問題などありましたらご連絡いただけますと幸いです。 アドホック範囲ヘルパー Raymond C…
MicrosoftがGitHubでMITライセンス公開しているWILのGitHub Wikiからマクロによるメタプログラミングの記事を和訳・改変したものです。素人による翻訳なので、誤訳や著作権上の問題などありましたらご連絡いただけますと幸いです。 マクロによるメタプログラ…
MicrosoftがGitHubでMITライセンス公開しているWIL (Windows Implementation Libraries)関連の記事です。現在はGitHub Wikiの和訳・改変と使用例が主です。 GitHub Wikiの和訳・改変 WILの使用例 リンク GitHub Wikiの和訳・改変 RAIIリソースラッパー 文字…
WILとWindows Update Agent APIでUpdateSearcherを作成・管理してWindows Updateの更新履歴からタイトルと説明を取得するサンプルコードです。タイトルと説明以外には日付等の難しい型が含まれるため、いったん無視しています。 // C++20 #include <iostream> #include <vector></vector></iostream>…
WILとWindows Update Agent APIでSystemInformationを作成・管理してWUA API関連のシステム情報(OEMハードウェアサポートリンク、リブート要求)を取得するサンプルコードです。 #include <iostream> #define STRICT #define NOMINMAX #include <Windows.h> #include <wuapi.h> #include <wil/com.h> </wil/com.h></wuapi.h></windows.h></iostream>…
WILとWindows Update Agent API(WUA API)でWindowsUpdateAgentInfoを作成・管理してWUA APIのバージョンを取得するサンプルコードです。 // C++20 #include <iostream> #pragma comment(lib, "propsys.lib") #define STRICT #define NOMINMAX #include <Windows.h> #include <propvarutil.h> #i</propvarutil.h></windows.h></iostream>…
MicrosoftがGitHubでMITライセンス公開しているWILのGitHub WikiからWinRT and COM wrappersの記事を和訳・改変したものです。素人による翻訳なので、誤訳や著作権上の問題などありましたらご連絡いただけますと幸いです。 一部のリンク切れは意図的なもので…
MicrosoftがGitHubでMITライセンス公開しているWILのGitHub Wikiからsafe_castの記事を和訳・改変したものです。素人による翻訳なので、誤訳や著作権上の問題などありましたらご連絡いただけますと幸いです。 一部のリンク切れは意図的なものです。原文をご…
MicrosoftがGitHubでMITライセンス公開しているWILのGitHub Wikiから文字列ヘルパーの記事を和訳・改変したものです。素人による翻訳なので、誤訳や著作権上の問題などありましたらご連絡いただけますと幸いです。 一部のリンク切れは意図的なものです。原文…
2022/9/19:2020/8/25版→2022/3/5版に修正しました(そしてミスをしました)。 MicrosoftがGitHubでMITライセンス公開しているWILのGitHub WikiからRAIIリソースラッパーの記事を和訳・改変したものです。素人による翻訳なので、誤訳や著作権上の問題などあ…
C++でWindows開発する場合、MicrosoftがGitHubでMITライセンス公開するWIL(Windows Implementation Libraries)を使えます。WILはSTLと類似した設計でムーブ(譲渡)や範囲forに対応しており、put()、wil::out_param、wil::out_param_ptrによりATLのような…
C++(Mirosoft Visual Studio 2015)でCOMを利用してエクスプローラーのカラムの名前一覧を取得するサンプルコードです。ラムダ式を適用する前のものとして残しておきます。エラー処理やメモリ管理は省略しています。 /* * エクスプローラーのカラムの名前一…