第4回。
NT ヘッダーの順番通りなら今回は IMAGE_DATA_DIRECTORY なんですが、これは手を付けると長いので、ちょっと飛ばして先に IMAGE_SECTION_HEADER を説明しちゃいます。
PE ファイルについて (3) - IMAGE_OPTIONAL_HEADER
第 3 回。
今回は IMAGE_OPTIONAL_HEADER をやっつけます。
PE ファイルについて (2) - IMAGE_FILE_HEADER
この記事は Windows & Microsoft技術 基礎 Advent Calendar 2015 の 23 日目です。
今度は期日前に書き上げましたよ!
前回は肝心なところで終わってしまいました。
今回は続きの NT ヘッダー編から。
と言ってもですね、NT ヘッダーを全部解説し終わったら、PE ファイルの解説なんて 9 割方終わったようなもんです。
なので、しばらくは NT ヘッダーの解説が続きます。
PE ファイルについて (1) - IMAGE_DOS_HEADER
この記事は Windows & Microsoft技術 基礎 Advent Calendar 2015 の 20 日目です。*1
他の人が書かなそうなネタということで、Windows 実行ファイルで攻めてみることにします。
*1:今まで 21 日目だと思ってましたごめんー!
【保存版】構造体のマーシャリングのまとめ
P/Invoke で Windows API を呼び出す際、引数に構造体を渡すには、割と色々な方法があります。
最近ちょっと混乱したので、改めてまとめてみました。
これまで知らなかった便利な方法も紹介しています。
新機能でも何でもありませんが、よく P/Invoke を使われる方にはご一読頂いて損はない内容だと思います。
ちなみに、本記事では、C# で言う struct と class を総称して「構造体」と呼ぶこととします。
struct と class の区別が必要な場合は「struct」と「class」または「値型」と「参照型」と呼び分けます。
本文中では「struct ≠ 構造体」ということにご留意ください。
なお、本記事の内容は、Windows API の呼び出しに限定した内容になっています。
COM の場合はまた事情が違うのですが、そちらは割愛させて頂きます。