ObjectInfo

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.