IMAGE_INFO構造体 (ntddk.h)
IMAGE_INFO構造体は、ドライバーの読み込みイメージ ルーチン (PLOAD_IMAGE_NOTIFY_ROUTINE) によって読み込みイメージ情報を指定するために使用されます。
構文
typedef struct _IMAGE_INFO {
union {
ULONG Properties;
struct {
ULONG ImageAddressingMode : 8;
ULONG SystemModeImage : 1;
ULONG ImageMappedToAllPids : 1;
ULONG ExtendedInfoPresent : 1;
ULONG MachineTypeMismatch : 1;
ULONG ImageSignatureLevel : 4;
ULONG ImageSignatureType : 3;
ULONG ImagePartialMap : 1;
ULONG Reserved : 12;
};
};
PVOID ImageBase;
ULONG ImageSelector;
SIZE_T ImageSize;
ULONG ImageSectionNumber;
} IMAGE_INFO, *PIMAGE_INFO;
メンバーズ
Properties
Properties が共用体になっている構造体内のすべてのビット値 表します。
ImageAddressingMode
常にIMAGE_ADDRESSING_MODE_32BITに設定します。
SystemModeImage
ドライバーなどの新しく読み込まれたカーネル モード コンポーネントの場合は 1 に、ユーザー空間にマップされるイメージの場合は 0 に設定します。
ImageMappedToAllPids
常に 0 に設定します。
ExtendedInfoPresent
ExtendedInfoPresent フラグが設定されている場合、IMAGE_INFOは IMAGE_INFO_EXの一部です。 Windows Vista に追加されました。
MachineTypeMismatch
常に 0 に設定します。 Windows 8/Windows Server 2012 で追加されました。
ImageSignatureLevel
コード整合性によってイメージにラベルが付いている署名のレベル。 この値は、ntddk.hの #define SE_SIGNING_LEVEL_*
定数の 1 つです。 Windows 8.1/Windows Server 2012 R2 で追加されました。
ImageSignatureType
コード整合性によってイメージにラベルが付いている署名の種類。 この値は、ntddk.hで定義されている SE_IMAGE_SIGNATURE_TYPE 列挙値です。 Windows 8.1/Windows Server 2012 R2 で追加されました。
ImagePartialMap
呼び出されたイメージ マッピング ビューが、イメージ全体をマップしない部分ビューである場合、この値は 0 以外です。ビューがイメージ全体をマップする場合は 0。 Windows 10/Windows Server 2016 で追加されました。
Reserved
常に 0 に設定します。
ImageBase
イメージの仮想ベース アドレスに設定します。
ImageSelector
常に 0 に設定します。
ImageSize
イメージの仮想サイズ (バイト単位) に設定します。
ImageSectionNumber
常に 0 に設定します。
備考
ExtendedInfoPresent フラグが設定されている場合、IMAGE_INFO構造体はIMAGE_INFO_EXの一部であり、イメージ情報構造の拡張バージョンです。 この場合、読み込みイメージ通知ルーチンは、CONTAINING_RECORD マクロ (ミニポート h) を使用して、IMAGE_INFO_EX構造体のベース アドレスを取得できます。
必要条件
要件 | 価値 |
---|---|
ヘッダー | ntddk.h (Ntddk.h を含む) |
関連項目
PsSetLoadImageNotifyRoutine の