[Fw_Os_Forum] ReinstallProtocolInterface semantics

valerij zaporogeci vlrzprgts at gmail.com
Mon May 9 19:00:29 EDT 2016

Hi, sorry for my english and if my question is not in the appropriate place.

ReinstallProtocolInterface() boot service "reinstalls a protocol
interface on a _device handle_. The OldInterface for Protocol is
replaced by the NewInterface."

A protocol interface Pxx is a pair of GUID (Gx) and Interface (Ix).
We have 2 handles on the system, H1, H2 on which Pxx is installed.
ReinstallProtocolInterface() is called to make change on handle H1:
H1.Pxx{Gx,Ix} -> H1.Pxy{Gx,Iy}
There is no mention how such a change impacts all other handles with
Pxx installed. So, have I properly understood that after the call,
system having now H1:Gx,Iy and H2:Gx,Ix pairs would be consistent?
Both pairs (Gx,Iy and Gx,Ix) would represent the same protocol and for
example LocateProtocol() service may return any of them, namely the
first found. In other words, this semantics draws the Interface
pointer not representative for the Protocol identification.
Have I understood right?

More information about the Fw_os_forum mailing list