Thank you Tim for your answer. Here is a simple application which I have run in EDK2 NT32Pkg.
EFI_STATUS EFIAPI SimpleAppEntry( IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable ) { EFI_STATUS Status; EFI_HANDLE Handle; EFI_GUID **ProtocolBuffer; UINTN Size; Size = sizeof(EFI_HANDLE); Status = gBS->LocateHandle ( AllHandles, NULL, NULL, &Size, &Handle ); Print (L"\nLocate Handle Status = %r\n", Status); Status = gBS->ProtocolsPerHandle ( Handle, &ProtocolBuffer, &Size ); Print (L"\nProtocols per Handle Status = %r\n", Status); Print (L"\nProtocols Buffer Count = %d\n", Size); return EFI_SUCCESS; } It's output is: Locate Handle Status = Buffer Too Small Protocols Per Handle Status = Success Protocols Buffer Count = 2 Hence it is clear that in EDK2 source the returned data is truncated to the size of the buffer. Although I agree with you that only BufferSize is guranteed to be updated but clearly EDK2 does return truncated data. Thanks, Jagannath On 2/4/13, Tim Lewis <tim.le...@insyde.com> wrote: > The contents of Buffer are undefined with EFI_BUFFER_TOO_SMALL. Some > implementations may return data in this case, although this is a bit sloppy. > Only BufferSize is guaranteed to be updated. The guaranteed behavior is as > described in the UEFI specification. > > Tim > > -----Original Message----- > From: jagannath rath [mailto:jagannath.p.r...@gmail.com] > Sent: Sunday, February 03, 2013 12:16 PM > To: edk2-devel > Subject: [edk2] Should LocateHandle return EFI_BUFFER_TOO_SMALL or > EFI_WARN_BUFFER_TOO_SMALL > > Hello, > > The gBS->LocateHandle returns EFI_BUFFER_TOO_SMALL if the size of the buffer > is small for the result. > It actually does return the truncated data in the buffer. > Hence should the return type not be EFI_WARN_BUFFER_TOO_SMALL as the buffer > data is being truncated. > > Please point out if I am missing out on something. > > Thanks and Regards, > Jagannath Prasad Rath > > ------------------------------------------------------------------------------ > Everyone hates slow websites. So do we. > Make your web apps faster with AppDynamics Download AppDynamics Lite for > free today: > http://p.sf.net/sfu/appdyn_d2d_jan > _______________________________________________ > edk2-devel mailing list > edk2-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/edk2-devel > > ------------------------------------------------------------------------------ > Everyone hates slow websites. So do we. > Make your web apps faster with AppDynamics > Download AppDynamics Lite for free today: > http://p.sf.net/sfu/appdyn_d2d_jan > _______________________________________________ > edk2-devel mailing list > edk2-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/edk2-devel > ------------------------------------------------------------------------------ Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_d2d_jan _______________________________________________ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel