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) |