SRB_FUNCTION_CLAIM_DEVICE in SCSI port driver

Hi,

Do I need to complete successfuly all requests to claim the device in the
SCSI port driver? If I fail everything but very first one the disk.sys
refuses to attach to the device… Is this normal?

Regards,
Anton


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

No, you should only succeed a claim request if the target device is
unclaimed. SCSIPORT does not do anything like agree to the claim if the
caller is the current ‘claim owner’. (In fact it has no idea of a
current claim owner.) You should be careful perhaps to return
STATUS_DEVICE_BUSY to rejected claim requests, and to correctly unclaim
devices when they really aren’t claimed anymore (like on remove, right?)
But you also should build disk.sys, for which you have the source code
in the DDK, and use this to step through the operations that a scsi
class driver performs, in order to reverse engineer scsiport. Either
that or convince someone at Microsoft to either answer your questions or
give you a look under the skirts.

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of
xxxxx@hotmail.com
Sent: Sunday, July 01, 2001 11:14 AM
To: NT Developers Interest List
Subject: [ntdev] SRB_FUNCTION_CLAIM_DEVICE in SCSI port driver

Hi,

Do I need to complete successfuly all requests to claim the
device in the
SCSI port driver? If I fail everything but very first one the
disk.sys
refuses to attach to the device… Is this normal?

Regards,
Anton


You are currently subscribed to ntdev as: xxxxx@tellink.net
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

Hi,

I’ve did this… I mean building disk.sys & classpnp.sys and running them
together with my SCSI port driver. And found the multiple claim requests
are the result of improper small disk support in Windows. Windows have
problems with disks smaller then 8 megabytes (cylinder size with default
geometry I guess). They (disks) work but are shown in Disk Manager as
“Non-Readable” which is not true of course. Now I’ve fixed this (not
Windows but small disk sizes in my application) and all the stuff runs just
fine. Will implement IRP queuing as now I have all the things done at
DISPATCH_LEVEL and the system runs low in virtual memory if I grab a lot of
NonPaged pool for disk image. So machine occasionally crashes in different
places in kernel. Plus have to revisit all PnP stuff as this this first WDM
driver I’ve wrote and I’m pretty sure it is buggy. Will run this stuff for
a while and release SCSI port driver source under GPL. Hope it will help
somebody to avoid developing a couple of gray hairs -)

Thank you and Dan from Intel for help!

Regards,
Anton Kolomyeytsev

No, you should only succeed a claim request if the target device is
unclaimed. SCSIPORT does not do anything like agree to the claim if the
caller is the current ‘claim owner’. (In fact it has no idea of a
current claim owner.) You should be careful perhaps to return
STATUS_DEVICE_BUSY to rejected claim requests, and to correctly unclaim
devices when they really aren’t claimed anymore (like on remove, right?)
But you also should build disk.sys, for which you have the source code
in the DDK, and use this to step through the operations that a scsi
class driver performs, in order to reverse engineer scsiport. Either
that or convince someone at Microsoft to either answer your questions or
give you a look under the skirts.

> -----Original Message-----
> From: xxxxx@lists.osr.com
> [mailto:xxxxx@lists.osr.com] On Behalf Of
> xxxxx@hotmail.com
> Sent: Sunday, July 01, 2001 11:14 AM
> To: NT Developers Interest List
> Subject: [ntdev] SRB_FUNCTION_CLAIM_DEVICE in SCSI port driver
>
>
> Hi,
>
> Do I need to complete successfuly all requests to claim the
> device in the
> SCSI port driver? If I fail everything but very first one the
> disk.sys
> refuses to attach to the device… Is this normal?
>
> Regards,
> Anton
>
> —
> You are currently subscribed to ntdev as: xxxxx@tellink.net
> To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
>
>
>


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com