Load Group, Initialization Layer, and Registration Type

The DRP_LGN member for a driver specifies the driver's initialization layer and registration type. Each bit in the mask represents an initialization layer. The highest bits represent the lowest layers (those closest to the device); the lowest bits represent the highest layers.

The IOS initializes all drivers that belong to the lowest initialization layer first, and initializes drivers that belong to the highest initialization layer last. In general, the IOS initializes a driver only after it has initialized all other drivers belonging to lower layers. For a driver that belongs to multiple initialization layers, the IOS initializes the driver once for each layer it belongs to.

The IOS also uses the DRP_LGN member to determine the driver's registration type. The registration type determines which AEP functions to pass to the driver's asynchronous event routine during registration. There are the following registration types:

Registration Type Load Group
Generic DRP_CLASS_DRV, DRP_SCSI_LAYER, DRP_TSD, DRP_VOLTRK, DRP_VSD_1, DRP_VSD_2, DRP_VSD_3, DRP_VSD_4, DRP_VSD_5, DRP_VSD_6, DRP_VSD_7, DRP_VSD_8, DRP_VSD_9
Noncompliant DRP_FSD, DRP_IFS, DRP_NT_PD
Port DRP_ABIOS_PD, DRP_ABIOS_PREMPT_PD, DRP_ESDI_PD, DRP_ESDIEMUL_PD, DRP_MISC_PD, DRP_NEC_FLOPPY, DRP_NT_MPD, DRP_SOC_DRV, DRP_SOC_SER_DRV

The following sections describe the registration types.

See Also

DRP