IMAGE_INFO 结构 (ntddk.h)

驱动程序的加载映像例程 (PLOAD_IMAGE_NOTIFY_ROUTINE ) 使用IMAGE_INFO结构来指定加载映像信息。

语法

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

表示 属性 与其联合的结构中的所有位值。

ImageAddressingMode

始终设置为 IMAGE_ADDRESSING_MODE_32BIT。

SystemModeImage

对于新加载的内核模式组件(例如驱动程序),将 设置为 1;对于映射到用户空间的映像,设置为 0。

ImageMappedToAllPids

始终设置为零。

ExtendedInfoPresent

如果已设置 ExtendedInfoPresent 标志,则IMAGE_INFO是 IMAGE_INFO_EX的一部分。 在 Windows Vista 中添加。

MachineTypeMismatch

始终设置为零。 在 Windows 8/Windows Server 2012 中添加。

ImageSignatureLevel

标记映像的代码完整性的签名级别。 此值是 ntddk.h 中的常量之一#define SE_SIGNING_LEVEL_*。 在 Windows 8.1/Windows Server 2012 R2 中添加。

ImageSignatureType

代码完整性用于标记图像的签名类型。 此值是 ntddk.h 中定义的SE_IMAGE_SIGNATURE_TYPE枚举值。 在 Windows 8.1/Windows Server 2012 R2 中添加。

ImagePartialMap

如果为 调用的图像映射视图是一个不映射整个图像的部分视图,则此值为非零;如果视图映射整个图像,则为 0。 在 Windows 10/Windows Server 2016 中添加。

Reserved

始终设置为零。

ImageBase

设置为映像的虚拟基址。

ImageSelector

始终设置为零。

ImageSize

设置为映像的虚拟大小(以字节为单位)。

ImageSectionNumber

始终设置为零。

注解

如果设置了 ExtendedInfoPresent 标志,则IMAGE_INFO结构是IMAGE_INFO_EX的一部分,这是图像信息结构的更大扩展版本。 在这种情况下,load-image 通知例程可以使用 miniport.h) 中的CONTAINING_RECORD宏 (来获取IMAGE_INFO_EX结构的基址。

要求

要求
Header ntddk.h (包括 Ntddk.h)

另请参阅

IMAGE_INFO_EX

PLOAD_IMAGE_NOTIFY_ROUTINE

PsSetLoadImageNotifyRoutine