From vlrzprgts at gmail.com Mon May 9 19:00:29 2016 From: vlrzprgts at gmail.com (valerij zaporogeci) Date: Tue, 10 May 2016 02:00:29 +0300 Subject: [Fw_Os_Forum] ReinstallProtocolInterface semantics Message-ID: 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? Thanks.