ChangerGetParameters function (mcd.h)
ChangerGetParameters handles the device-specific aspects of a device-control IRP with the IOCTL code IOCTL_CHANGER_GET_PARAMETERS.
Syntax
NTSTATUS ChangerGetParameters(
[in] PDEVICE_OBJECT DeviceObject,
[in] PIRP Irp
);
Parameters
[in] DeviceObject
Pointer to the device object that represents the changer.
[in] Irp
Pointer to the IRP.
Return value
ChangerGetParameters returns the STATUS_XXX value returned by the system port driver or one of the following values:
STATUS_SUCCESS
STATUS_INFO_LENGTH_MISMATCH
STATUS_INSUFFICIENT_RESOURCES
Remarks
This routine is required.
ChangerGetParameters returns the parameters of a changer, including the number and type of its elements and the functionality it supports.
The changer class driver checks the output buffer length in the I/O stack location before calling ChangerGetParameters. If the output buffer length is smaller than sizeof(GET_CHANGER_PARAMETERS) the changer class driver returns with a value of STATUS_INFO_LENGTH_MISMATCH.
ChangerGetParameters retrieves parameter data from the device by building SRBs with CDBs to get the SCSI parameter header page, the element address page, the transport geometry page, and the device capabilities page, or the non-SCSI equivalent of this data.
ChangerGetParameters then fills in a GET_CHANGER_PARAMETERS structure at Irp->AssociatedIrp.SystemBuffer before returning to the changer class driver.
Requirements
Requirement | Value |
---|---|
Target Platform | Desktop |
Header | mcd.h (include Mcd.h, Ntddchgr.h) |
IRQL | PASSIVE_LEVEL |