2014-05-01から1ヶ月間の記事一覧
C#でWin APIのShell Lightweight Utility Functionsを用いてバイトの単位を変換する補助関数のコードです。拡張メソッドとして定義していますが、thisを外せば関数として利用することもできます。this UInt64 value等のUInt64部分を変更することで対応する型…
ベタ書きですが、C++で64ビットPEファイルの各種ヘッダーとデータディレクトリの物理アドレスを取得するサンプルです。 IMAGE_OPTIONAL_HEADERのDataDirectory[]に含まれるIMAGE_DATA_DIRECTORYの実体はIMAGE_SECTION_HEADERの指す各セクションに含まれてお…
追記20241011:現在のC#ではstackalloc、Span、MemoryMarshalを使ってアンマネージな型(該当する構造体含む)はスタック上で読み込めます。クラスの場合はMarshal.PtrToStructureが必要ですが、高速化する場合は使い分けた方が良いかもしれません。 メモリマ…