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