+ This function will enumerate all possible boot devices in the system, and\r
+ automatically create boot options for Network, Shell, Removable BlockIo, \r
+ and Non-BlockIo Simplefile devices. \r
+ \r
+ BDS separates EFI boot options into six types:\r
+ 1. Network - The boot option points to the SimpleNetworkProtocol device. \r
+ Bds will try to automatically create this type of boot option during enumeration.\r
+ 2. Shell - The boot option points to internal flash shell. \r
+ Bds will try to automatically create this type of boot option during enumeration.\r
+ 3. Removable BlockIo - The boot option points to a removable media\r
+ device, such as a USB flash drive or DVD drive.\r
+ These devices should contain a *removable* blockIo\r
+ protocol in their device handle.\r
+ Bds will try to automatically create this type boot option \r
+ when enumerate.\r
+ 4. Fixed BlockIo - The boot option points to a Fixed blockIo device, \r
+ such as a hard disk.\r
+ These devices should contain a *fixed* blockIo\r
+ protocol in their device handle.\r
+ BDS will skip fixed blockIo devices, and not\r
+ automatically create boot option for them. But BDS \r
+ will help to delete those fixed blockIo boot options, \r
+ whose description rules conflict with other auto-created\r
+ boot options.\r
+ 5. Non-BlockIo Simplefile - The boot option points to a device whose handle \r
+ has SimpleFileSystem Protocol, but has no blockio\r
+ protocol. These devices do not offer blockIo\r
+ protocol, but BDS still can get the \r
+ \EFI\BOOT\boot{machinename}.EFI by SimpleFileSystem\r
+ Protocol.\r
+ 6. File - The boot option points to a file. These boot options are usually \r
+ created by the user, either manually or with an OS loader. BDS will not delete or modify\r
+ these boot options. \r
+ \r
+ This function will enumerate all possible boot devices in the system, and\r
+ automatically create boot options for Network, Shell, Removable BlockIo, \r
+ and Non-BlockIo Simplefile devices.\r
+ It will excute once every boot.\r
+ \r
+ @param BdsBootOptionList The header of the linked list that indexed all\r