2020-11-07から1日間の記事一覧
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>…
<propvarutil.h>のVariantToString関数は新しく割り当てたメモリを返しますが、そのメモリを解放すべきかどうかの記載が一切ありません。CoGetMallocで取得したIMallocのGetSizeは正しい値を返すので、おそらくCoTaskMemFree関数で解放すればよいのではないかと想像します。</propvarutil.h>…
InitVariantFromString関数(<propvarutil.h>)はVARIANTをvt == VT_BSTR(vt == 8)で初期化します。Microsoft DocsのVariantClearの記述からVariantClearが解放するのはVT_BSTR、VT_DISPATCH、VT_ARRAYとあるため、VT_LPWSTRやVT_LPSTRは避けられたと考えられます。 #defi</propvarutil.h>…
Google検索でPowerShellではWindowsUpdateProviderモジュールでWindows Updateの情報を取得できるという記事を見つけたのですが、PowerShell 7で以下のコマンドを入力したら空の出力が返されました。 Get-Command -Module WindowsUpdateProvider 窓の杜の記…
MicrosoftがGitHubでMITライセンス公開しているWILのGitHub WikiからWinRT and COM wrappersの記事を和訳・改変したものです。素人による翻訳なので、誤訳や著作権上の問題などありましたらご連絡いただけますと幸いです。 一部のリンク切れは意図的なもので…
MicrosoftがGitHubでMITライセンス公開しているWILのGitHub Wikiからsafe_castの記事を和訳・改変したものです。素人による翻訳なので、誤訳や著作権上の問題などありましたらご連絡いただけますと幸いです。 一部のリンク切れは意図的なものです。原文をご…