Source
pub fn locateHandleBuffer(
self: *const BootServices,
search: LocateSearch,
) LocateHandleBufferError!?[]Handle {
var handles: [*]Handle = undefined;
var len: usize = undefined;
switch (self._locateHandleBuffer(
std.meta.activeTag(search),
if (search == .by_protocol) search.by_protocol else null,
if (search == .by_register_notify) search.by_register_notify else null,
&len,
&handles,
)) {
.success => return handles[0..len],
.invalid_parameter => return error.InvalidParameter,
.not_found => return null,
.out_of_resources => return error.OutOfResources,
else => |status| return uefi.unexpectedStatus(status),
}
}