potisanのプログラミングメモ

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

2020-11-07から1日間の記事一覧

WIL GitHub Wiki マクロによるメタプログラミングの和訳・改変

MicrosoftがGitHubでMITライセンス公開しているWILのGitHub Wikiからマクロによるメタプログラミングの記事を和訳・改変したものです。素人による翻訳なので、誤訳や著作権上の問題などありましたらご連絡いただけますと幸いです。 マクロによるメタプログラ…

WIL (Windows Implementation Libraries)関係の記事

MicrosoftがGitHubでMITライセンス公開しているWIL (Windows Implementation Libraries)関連の記事です。現在はGitHub Wikiの和訳・改変と使用例が主です。 GitHub Wikiの和訳・改変 WILの使用例 リンク GitHub Wikiの和訳・改変 RAIIリソースラッパー 文字…

C++ WILとWindows Update Agent APIでWindows Updateの更新履歴(タイトル、説明)を取得する

WILとWindows Update Agent APIでUpdateSearcherを作成・管理してWindows Updateの更新履歴からタイトルと説明を取得するサンプルコードです。タイトルと説明以外には日付等の難しい型が含まれるため、いったん無視しています。 // C++20 #include <iostream> #include <vector></vector></iostream>…

C++ WILとWindows Update Agent APIでWindows Update関連のシステム情報を取得する

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>…

C++ WILとWindows Update Agent APIでWUA APIのバージョンを取得する

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>…

C++ VariantToStringの戻り値はCoTaskMem関係

<propvarutil.h>のVariantToString関数は新しく割り当てたメモリを返しますが、そのメモリを解放すべきかどうかの記載が一切ありません。CoGetMallocで取得したIMallocのGetSizeは正しい値を返すので、おそらくCoTaskMemFree関数で解放すればよいのではないかと想像します。</propvarutil.h>…

C++ InitVariantFromStringで作成されるVARIANTはVT_BSTR

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>…

PowerShell 7 Windows 10 1909でWindowsUpdateProviderは廃止済み?

Google検索でPowerShellではWindowsUpdateProviderモジュールでWindows Updateの情報を取得できるという記事を見つけたのですが、PowerShell 7で以下のコマンドを入力したら空の出力が返されました。 Get-Command -Module WindowsUpdateProvider 窓の杜の記…

WIL GitHub Wiki WinRT&COMラッパーの和訳・改変

MicrosoftがGitHubでMITライセンス公開しているWILのGitHub WikiからWinRT and COM wrappersの記事を和訳・改変したものです。素人による翻訳なので、誤訳や著作権上の問題などありましたらご連絡いただけますと幸いです。 一部のリンク切れは意図的なもので…

WIL GitHub Wiki safe_castの和訳・改変

MicrosoftがGitHubでMITライセンス公開しているWILのGitHub Wikiからsafe_castの記事を和訳・改変したものです。素人による翻訳なので、誤訳や著作権上の問題などありましたらご連絡いただけますと幸いです。 一部のリンク切れは意図的なものです。原文をご…