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.