How to assign a drive letter to a newly created SCSI device?

Hi,

I want assign a drive letter to a newly created virtual SCSI device. To
make the device visible I do IOCTL_SCSI_RESCAN_BUS. After the re-scan,
SCSIPORT creates a new SCSI device. I am able to see this in Device
Manger. However, I found that CDROM.SYS is not detecting the new device
so no CDROM device object (ex. Device\cdrom0) created for the new SCSI
device. I have examined the devices using DeviceTree and found that
CDRALW2K driver creates a device object for this and it is filtering.

Can any one help me, how to notify CDROM class driver for new created
device so that it will create a device object and assign a drive letter?

Thanks
Bala

You need to rescan the bus. Also, be careful, using a normal SCSI
miniport for a virtual device will incur a major performance penalty and
it can hng the system

Jamey

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Bala
Sent: Friday, October 04, 2002 5:26 AM
To: NT Developers Interest List
Subject: [ntdev] How to assign a drive letter to a newly created SCSI
device?

Hi,

I want assign a drive letter to a newly created virtual SCSI device. To
make the device visible I do IOCTL_SCSI_RESCAN_BUS. After the re-scan,
SCSIPORT creates a new SCSI device. I am able to see this in Device
Manger. However, I found that CDROM.SYS is not detecting the new device
so no CDROM device object (ex. Device\cdrom0) created for the new SCSI
device. I have examined the devices using DeviceTree and found that
CDRALW2K driver creates a device object for this and it is filtering.

Can any one help me, how to notify CDROM class driver for new created
device so that it will create a device object and assign a drive letter?

Thanks
Bala


You are currently subscribed to ntdev as: xxxxx@storagecraft.com
To unsubscribe send a blank email to %%email.unsub%%

Thanks Jamey. I do rescan and see the devices in Device Manager. My problem
is, why the CDROM class driver not detecting new devices. Am I missing any
thing else??

Bala

----- Original Message -----
From: “Jamey Kirby”
To: “NT Developers Interest List”
Sent: Friday, October 04, 2002 4:11 AM
Subject: [ntdev] RE: How to assign a drive letter to a newly created SCSI
device?

> You need to rescan the bus. Also, be careful, using a normal SCSI
> miniport for a virtual device will incur a major performance penalty and
> it can hng the system
>
> Jamey
>
>
> -----Original Message-----
> From: xxxxx@lists.osr.com
> [mailto:xxxxx@lists.osr.com] On Behalf Of Bala
> Sent: Friday, October 04, 2002 5:26 AM
> To: NT Developers Interest List
> Subject: [ntdev] How to assign a drive letter to a newly created SCSI
> device?
>
> Hi,
>
> I want assign a drive letter to a newly created virtual SCSI device. To
> make the device visible I do IOCTL_SCSI_RESCAN_BUS. After the re-scan,
> SCSIPORT creates a new SCSI device. I am able to see this in Device
> Manger. However, I found that CDROM.SYS is not detecting the new device
> so no CDROM device object (ex. Device\cdrom0) created for the new SCSI
> device. I have examined the devices using DeviceTree and found that
> CDRALW2K driver creates a device object for this and it is filtering.
>
> Can any one help me, how to notify CDROM class driver for new created
> device so that it will create a device object and assign a drive letter?
>
> Thanks
> Bala
>
>
> —
> You are currently subscribed to ntdev as: xxxxx@storagecraft.com
> To unsubscribe send a blank email to %%email.unsub%%
>
>
>
> —
> You are currently subscribed to ntdev as: xxxxx@iscsi.fsnet.co.uk
> To unsubscribe send a blank email to %%email.unsub%%
>
>

Do you support PNP?

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Bala
Sent: Saturday, October 05, 2002 2:45 PM
To: NT Developers Interest List
Subject: [ntdev] RE: How to assign a drive letter to a newly created
SCSI device?

Thanks Jamey. I do rescan and see the devices in Device Manager. My
problem
is, why the CDROM class driver not detecting new devices. Am I missing
any
thing else??

Bala

----- Original Message -----
From: “Jamey Kirby”
To: “NT Developers Interest List”
Sent: Friday, October 04, 2002 4:11 AM
Subject: [ntdev] RE: How to assign a drive letter to a newly created
SCSI
device?

> You need to rescan the bus. Also, be careful, using a normal SCSI
> miniport for a virtual device will incur a major performance penalty
and
> it can hng the system
>
> Jamey
>
>
> -----Original Message-----
> From: xxxxx@lists.osr.com
> [mailto:xxxxx@lists.osr.com] On Behalf Of Bala
> Sent: Friday, October 04, 2002 5:26 AM
> To: NT Developers Interest List
> Subject: [ntdev] How to assign a drive letter to a newly created SCSI
> device?
>
> Hi,
>
> I want assign a drive letter to a newly created virtual SCSI device.
To
> make the device visible I do IOCTL_SCSI_RESCAN_BUS. After the re-scan,
> SCSIPORT creates a new SCSI device. I am able to see this in Device
> Manger. However, I found that CDROM.SYS is not detecting the new
device
> so no CDROM device object (ex. Device\cdrom0) created for the new SCSI
> device. I have examined the devices using DeviceTree and found that
> CDRALW2K driver creates a device object for this and it is filtering.
>
> Can any one help me, how to notify CDROM class driver for new created
> device so that it will create a device object and assign a drive
letter?
>
> Thanks
> Bala
>
>
> —
> You are currently subscribed to ntdev as: xxxxx@storagecraft.com
> To unsubscribe send a blank email to %%email.unsub%%
>
>
>
> —
> You are currently subscribed to ntdev as: xxxxx@iscsi.fsnet.co.uk
> To unsubscribe send a blank email to %%email.unsub%%
>
>


You are currently subscribed to ntdev as: xxxxx@storagecraft.com
To unsubscribe send a blank email to %%email.unsub%%

Jamey,

It is a Windows NT style SCSI miniport driver running in Windows 2000. Since
it is a virtual SCSI driver and violates SCSI miniport model, to avoid
driver signing dialog box, I am keeping this as a legacy driver. It works
fine. But I am finding difficulties to add (create)/remove a device
dynamically. Any help would be appreciated.

Thanks
Bala

----- Original Message -----
From: “Jamey Kirby”
To: “NT Developers Interest List”
Sent: Saturday, October 05, 2002 3:43 AM
Subject: [ntdev] RE: How to assign a drive letter to a newly created SCSI
device?

> Do you support PNP?
>
>
> -----Original Message-----
> From: xxxxx@lists.osr.com
> [mailto:xxxxx@lists.osr.com] On Behalf Of Bala
> Sent: Saturday, October 05, 2002 2:45 PM
> To: NT Developers Interest List
> Subject: [ntdev] RE: How to assign a drive letter to a newly created
> SCSI device?
>
> Thanks Jamey. I do rescan and see the devices in Device Manager. My
> problem
> is, why the CDROM class driver not detecting new devices. Am I missing
> any
> thing else??
>
> Bala
>
> ----- Original Message -----
> From: “Jamey Kirby”
> To: “NT Developers Interest List”
> Sent: Friday, October 04, 2002 4:11 AM
> Subject: [ntdev] RE: How to assign a drive letter to a newly created
> SCSI
> device?
>
>
> > You need to rescan the bus. Also, be careful, using a normal SCSI
> > miniport for a virtual device will incur a major performance penalty
> and
> > it can hng the system
> >
> > Jamey
> >
> >
> > -----Original Message-----
> > From: xxxxx@lists.osr.com
> > [mailto:xxxxx@lists.osr.com] On Behalf Of Bala
> > Sent: Friday, October 04, 2002 5:26 AM
> > To: NT Developers Interest List
> > Subject: [ntdev] How to assign a drive letter to a newly created SCSI
> > device?
> >
> > Hi,
> >
> > I want assign a drive letter to a newly created virtual SCSI device.
> To
> > make the device visible I do IOCTL_SCSI_RESCAN_BUS. After the re-scan,
> > SCSIPORT creates a new SCSI device. I am able to see this in Device
> > Manger. However, I found that CDROM.SYS is not detecting the new
> device
> > so no CDROM device object (ex. Device\cdrom0) created for the new SCSI
> > device. I have examined the devices using DeviceTree and found that
> > CDRALW2K driver creates a device object for this and it is filtering.
> >
> > Can any one help me, how to notify CDROM class driver for new created
> > device so that it will create a device object and assign a drive
> letter?
> >
> > Thanks
> > Bala
> >
> >
> > —
> > You are currently subscribed to ntdev as: xxxxx@storagecraft.com
> > To unsubscribe send a blank email to %%email.unsub%%
> >
> >
> >
> > —
> > You are currently subscribed to ntdev as: xxxxx@iscsi.fsnet.co.uk
> > To unsubscribe send a blank email to %%email.unsub%%
> >
> >
>
>
>
> —
> You are currently subscribed to ntdev as: xxxxx@storagecraft.com
> To unsubscribe send a blank email to %%email.unsub%%
>
>
>
> —
> You are currently subscribed to ntdev as: xxxxx@iscsi.fsnet.co.uk
> To unsubscribe send a blank email to %%email.unsub%%
>
>

There is a project at http://vaporcd.sourceforge.net that acts in a way
you want. Click on the “SourceForge.NET” logo to be directed to the
download page for the source code.

How did you fill the INQUIRY data for a device?

----- Original Message -----
From: “Bala”
To: “NT Developers Interest List”
Sent: Sunday, October 06, 2002 1:45 AM
Subject: [ntdev] RE: How to assign a drive letter to a newly created
SCSI device?

> Thanks Jamey. I do rescan and see the devices in Device Manager. My
problem
> is, why the CDROM class driver not detecting new devices. Am I
missing any
> thing else??
>
> Bala
>
> ----- Original Message -----
> From: “Jamey Kirby”
> To: “NT Developers Interest List”
> Sent: Friday, October 04, 2002 4:11 AM
> Subject: [ntdev] RE: How to assign a drive letter to a newly created
SCSI
> device?
>
>
> > You need to rescan the bus. Also, be careful, using a normal SCSI
> > miniport for a virtual device will incur a major performance
penalty and
> > it can hng the system
> >
> > Jamey
> >
> >
> > -----Original Message-----
> > From: xxxxx@lists.osr.com
> > [mailto:xxxxx@lists.osr.com] On Behalf Of Bala
> > Sent: Friday, October 04, 2002 5:26 AM
> > To: NT Developers Interest List
> > Subject: [ntdev] How to assign a drive letter to a newly created
SCSI
> > device?
> >
> > Hi,
> >
> > I want assign a drive letter to a newly created virtual SCSI
device. To
> > make the device visible I do IOCTL_SCSI_RESCAN_BUS. After the
re-scan,
> > SCSIPORT creates a new SCSI device. I am able to see this in
Device
> > Manger. However, I found that CDROM.SYS is not detecting the new
device
> > so no CDROM device object (ex. Device\cdrom0) created for the new
SCSI
> > device. I have examined the devices using DeviceTree and found
that
> > CDRALW2K driver creates a device object for this and it is
filtering.
> >
> > Can any one help me, how to notify CDROM class driver for new
created
> > device so that it will create a device object and assign a drive
letter?
> >
> > Thanks
> > Bala
> >
> >
> > —
> > You are currently subscribed to ntdev as: xxxxx@storagecraft.com
> > To unsubscribe send a blank email to %%email.unsub%%
> >
> >
> >
> > —
> > You are currently subscribed to ntdev as: xxxxx@iscsi.fsnet.co.uk
> > To unsubscribe send a blank email to %%email.unsub%%
> >
> >
>
>
>
> —
> You are currently subscribed to ntdev as: xxxxx@storagecraft.com
> To unsubscribe send a blank email to %%email.unsub%%
>

For example, I fill PortConfigInfo->NumberOfBuses = 1 and
PortConfigInfo->MaximumNumberOfTargets = 8. But I only fill and return
INQUIRY data for first Target and first Lun (i.e.Target == 0 && Lun == 0).
After the some time I send a private IOCTL to driver asking it to support
upto two target device. Then I issue IOCTL_SCSI_RESCAN_BUS. Now I receive
INQUIRY request for maximum of 8 target but I only fill and return INQUIRY
data for maximum of two target( i.e. (Target == 0 OR Target == 1) && Lun ==
0).

Here is my INQUIRY data filling function.

UCHAR
Inquiry(
IN PHW_LU_EXTENSION LuExtension,
IN PCDB Cdb,
OUT PSENSE_DATA SenseInfo,
IN OUT PVOID DataBuffer,
IN OUT PULONG DataBufferLength
)

{
PINQUIRYDATA InquiryData = ( PINQUIRYDATA )DataBuffer;
INQUIRYDATA InquiryLocalData;

ScsiPortZeroMemory( &InquiryLocalData, sizeof( INQUIRYDATA ) );

InquiryLocalData.DeviceType = 5;
InquiryLocalData.DeviceTypeQualifier= 0;
InquiryLocalData.DeviceTypeModifier = 0;
InquiryLocalData.RemovableMedia = 1;
InquiryLocalData.ResponseDataFormat = 2;

ScsiPortCopyMemory( InquiryLocalData.VendorId, VENDOR_ID, 8 );
ScsiPortCopyMemory( InquiryLocalData.ProductId, PRODUCT_ID, 16 );
ScsiPortCopyMemory( InquiryLocalData.ProductRevisionLevel,
REVISION_LEVEL, 4 );

*DataBufferLength = min( *DataBufferLength, sizeof( INQUIRYDATA ) );

*DataBufferLength = min( *DataBufferLength,
Cdb->CDB6INQUIRY.AllocationLength );

ScsiPortCopyMemory( InquiryData, &InquiryLocalData, *DataBufferLength );

return SCSISTAT_GOOD;
}

Could you please tell me where I am doing wrong?

Regards
Bala

----- Original Message -----
From: “Maxim S. Shatskih”
To: “NT Developers Interest List”
Sent: Sunday, October 06, 2002 3:33 AM
Subject: [ntdev] RE: How to assign a drive letter to a newly created SCSI
device?

> How did you fill the INQUIRY data for a device?
>
> ----- Original Message -----
> From: “Bala”
> To: “NT Developers Interest List”
> Sent: Sunday, October 06, 2002 1:45 AM
> Subject: [ntdev] RE: How to assign a drive letter to a newly created
> SCSI device?
>
>
> > Thanks Jamey. I do rescan and see the devices in Device Manager. My
> problem
> > is, why the CDROM class driver not detecting new devices. Am I
> missing any
> > thing else??
> >
> > Bala
> >
> > ----- Original Message -----
> > From: “Jamey Kirby”
> > To: “NT Developers Interest List”
> > Sent: Friday, October 04, 2002 4:11 AM
> > Subject: [ntdev] RE: How to assign a drive letter to a newly created
> SCSI
> > device?
> >
> >
> > > You need to rescan the bus. Also, be careful, using a normal SCSI
> > > miniport for a virtual device will incur a major performance
> penalty and
> > > it can hng the system
> > >
> > > Jamey
> > >
> > >
> > > -----Original Message-----
> > > From: xxxxx@lists.osr.com
> > > [mailto:xxxxx@lists.osr.com] On Behalf Of Bala
> > > Sent: Friday, October 04, 2002 5:26 AM
> > > To: NT Developers Interest List
> > > Subject: [ntdev] How to assign a drive letter to a newly created
> SCSI
> > > device?
> > >
> > > Hi,
> > >
> > > I want assign a drive letter to a newly created virtual SCSI
> device. To
> > > make the device visible I do IOCTL_SCSI_RESCAN_BUS. After the
> re-scan,
> > > SCSIPORT creates a new SCSI device. I am able to see this in
> Device
> > > Manger. However, I found that CDROM.SYS is not detecting the new
> device
> > > so no CDROM device object (ex. Device\cdrom0) created for the new
> SCSI
> > > device. I have examined the devices using DeviceTree and found
> that
> > > CDRALW2K driver creates a device object for this and it is
> filtering.
> > >
> > > Can any one help me, how to notify CDROM class driver for new
> created
> > > device so that it will create a device object and assign a drive
> letter?
> > >
> > > Thanks
> > > Bala
> > >
> > >
> > > —
> > > You are currently subscribed to ntdev as: xxxxx@storagecraft.com
> > > To unsubscribe send a blank email to %%email.unsub%%
> > >
> > >
> > >
> > > —
> > > You are currently subscribed to ntdev as: xxxxx@iscsi.fsnet.co.uk
> > > To unsubscribe send a blank email to %%email.unsub%%
> > >
> > >
> >
> >
> >
> > —
> > You are currently subscribed to ntdev as: xxxxx@storagecraft.com
> > To unsubscribe send a blank email to %%email.unsub%%
> >
>
>
>
> —
> You are currently subscribed to ntdev as: xxxxx@iscsi.fsnet.co.uk
> To unsubscribe send a blank email to %%email.unsub%%
>
>

Thank you for the pointer. But he used different logic there.

Regards,
Bala

----- Original Message -----
From: “Christiaan Ghijselinck”
To: “NT Developers Interest List”
Sent: Saturday, October 05, 2002 5:11 AM
Subject: [ntdev] Re: How to assign a drive letter to a newly created SCSI
device?

>
>
> There is a project at http://vaporcd.sourceforge.net that acts in a way
> you want. Click on the “SourceForge.NET” logo to be directed to the
> download page for the source code.
>
> —
> You are currently subscribed to ntdev as: xxxxx@iscsi.fsnet.co.uk
> To unsubscribe send a blank email to %%email.unsub%%
>
>