エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
[C#7.2] unsafeステートメントにもマーシャラーにも頼らないで、固定サイズ配列を含む構造体をP/Invoke... [C#7.2] unsafeステートメントにもマーシャラーにも頼らないで、固定サイズ配列を含む構造体をP/Invokeで受け渡しする方法C#.NET TL;DR StructLayout属性でSizeを指定した構造体を用意する。 それをrefとSpan構造体で読み出す。 従来の方法:unsafeステートメントとマーシャラーを使用する場合 P/Invokeで、固定長サイズ配列を含む構造体を受け渡す場合、主に下記の2つの方法を用いると思います。 GetMonitorInfoとMONITORINFOを例にすると、下記のような定義です。 ネイティブの定義(UNICODEビルド前提で簡略可) #define CCHDEVICENAME 32 struct MONITORINFOEX { DWORD cbSize; RECT rcMonitor; RECT rcWork; DWORD dwFlags;