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,对于映射到用户空间的映像,设置为零。

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的一部分,这是映像信息结构的更大扩展版本。 在这种情况下,加载映像通知例程可以使用 CONTAINING_RECORD 宏(在 miniport.h中)获取IMAGE_INFO_EX结构的基址。

要求

要求 价值
标头 ntddk.h (包括 Ntddk.h)

另请参阅

IMAGE_INFO_EX

PLOAD_IMAGE_NOTIFY_ROUTINE

PsSetLoadImageNotifyRoutine