struct ObjectInfo { ULONG OI_LinearAddress; // starting address of object ULONG OI_Size; // size of object (in bytes) ULONG OI_ObjType; // see below ULONG OI_Resident; // see below };
Contains information about a memory object in a VxD.
OI_ObjType
Object type, which can be one of the following values.
Constant | Value | Meaning |
RCODE_OBJ | -1 | Real-mode stub (ignored for dynamically loadable VxDs) |
LCODE_OBJ | 0x01 | Locked code segment |
LDATA_OBJ | 0x02 | Locked data segment |
PCODE_OBJ | 0x03 | Pageable code segment |
PDATA_OBJ | 0x04 | Pageable data segment |
SCODE_OBJ | 0x05 | Static code segment (dynamically loadable VxDs only) |
SDATA_OBJ | 0x06 | Static data segment (dynamically loadable VxDs only) |
CODE16_OBJ | 0x07 | 16-bit V86 segment |
ICODE_OBJ | 0x11 | Initialization-time only code segment |
IDATA_OBJ | 0x12 | Initialization-time only data segment |
ICODE16_OBJ | 0x13 | Initialization-time only 16-bit V86 segment |
OI_Resident
Whether or not the memory object is static. This value is zero for VxDs that are not dynamically loadable.
The DeviceInfo structure includes the address of an array of ObjectInfo structures that describe a VxDs memory objects.