David -

Yes, you work your way back from the device path node that has the Block I/O 
installed on it.

Tim

From: David F. [mailto:df7...@gmail.com]
Sent: Wednesday, September 04, 2013 4:47 PM
To: edk2-devel@lists.sourceforge.net
Subject: Re: [edk2] Multiple Protocols on same driver...

Using ATA passthru, say you get a device using protocol block_io ... now you 
use LocalDevicePath to look for the ATA PassThru,  it gives you the device 
handle with one of the ATA PassThru protocols available on that handle.  But 
where is the other one / how would I find it?  Or is it simply if you're going 
to use protocol_block_io as your starting point, it will always work back to 
the "logical" form of the ATA pass thru (I'm sure that's the one it would use 
for raid support) .. if you wanted the other one, you'd have had to work 
forward, starting by looking or all the ATA PassThru protocols available?

On Wed, Sep 4, 2013 at 4:12 PM, Andrew Fish 
<af...@apple.com<mailto:af...@apple.com>> wrote:

On Sep 4, 2013, at 3:11 PM, "David F." 
<df7...@gmail.com<mailto:df7...@gmail.com>> wrote:

> Hi,
>
> So when a driver produces two protocol interfaces to access the device using 
> the same protocol GUID.  How do you open each instance?
>
They are produced on different handles, as only a single protocol GUID can 
exist per handle.

> Say you look for all BlkIo protocol devices via HandleBuffer, then want to 
> look if an ATA or SCSI passthru is attached as well, so use same handle, but 
> ATA pass-through could have multiple interfaces logical/physical ...  how do 
> you parse through those?
You can read about SCSI Pass Thru in UEFI 2.4 sections 14.1 and 14.2. The Pass 
Through driver sits on the handle the represents the device, and it is a bus 
driver that produces child handles with EFI_SCSI_IO_PROTOCOL on them that 
represent SCSI targets. So the child handles will have the device path of the 
parent, with a SCSI device path appended to identify the targets.

Thanks,

Andrew Fish

>
> TIA!!
>
>
> ------------------------------------------------------------------------------
> Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
> Discover the easy way to master current and previous Microsoft technologies
> and advance your career. Get an incredible 1,500+ hours of step-by-step
> tutorial videos with LearnDevNow. Subscribe today and save!
> http://pubads.g.doubleclick.net/gampad/clk?id=58041391&iu=/4140/ostg.clktrk_______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.sourceforge.net<mailto:edk2-devel@lists.sourceforge.net>
> https://lists.sourceforge.net/lists/listinfo/edk2-devel


------------------------------------------------------------------------------
Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
Discover the easy way to master current and previous Microsoft technologies
and advance your career. Get an incredible 1,500+ hours of step-by-step
tutorial videos with LearnDevNow. Subscribe today and save!
http://pubads.g.doubleclick.net/gampad/clk?id=58041391&iu=/4140/ostg.clktrk
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net<mailto:edk2-devel@lists.sourceforge.net>
https://lists.sourceforge.net/lists/listinfo/edk2-devel

------------------------------------------------------------------------------
Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
Discover the easy way to master current and previous Microsoft technologies
and advance your career. Get an incredible 1,500+ hours of step-by-step
tutorial videos with LearnDevNow. Subscribe today and save!
http://pubads.g.doubleclick.net/gampad/clk?id=58041391&iu=/4140/ostg.clktrk
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to