Does CloseProtocol service necessary after LocateProtocol service?

159 Views Asked by At

Hi I'm a beginner in learning UEFI and trying to find out the logic of using protocols.

I've read the source code of CoreOpenProtocol, CoreCloseProtocol and CoreLocateProtocol.

What I've found that while CoreOpenProtocol will create a OPEN_PROTOCOL_DATA structure and linked into PROTOCOL_INTERFACE->OpenList, CoreLocateProtocol does not create such structure.

CoreCloseProtocol will actually delete the OPEN_PROTOCOL_DATA from PROTOCOL_INTERFACE->OpenList and free the memory that it took.

So since CoreLocateProtocol do not create OPEN_PROTOCOL_DATA, the close procedure seems meaningless.

Is that true?

Thanks a lot!

0

There are 0 best solutions below