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