def METHOD_NAME(self):
    kernel = self.context.modules[self.config["kernel"]]
    collection = ssdt.SSDT.build_module_collection(
        self.context, kernel.layer_name, kernel.symbol_table_name
    )
    for driver in driverscan.DriverScan.scan_drivers(
        self.context, kernel.layer_name, kernel.symbol_table_name
    ):
        try:
            driver_name = driver.get_driver_name()
        except (ValueError, exceptions.InvalidAddressException):
            driver_name = renderers.NotApplicableValue()
        for i, address in enumerate(driver.MajorFunction):
            module_symbols = collection.get_module_symbols_by_absolute_location(
                address
            )
            for module_name, symbol_generator in module_symbols:
                symbols_found = False
                for symbol in symbol_generator:
                    symbols_found = True
                    yield (
                        0,
                        (
                            format_hints.Hex(driver.vol.offset),
                            driver_name,
                            MAJOR_FUNCTIONS[i],
                            format_hints.Hex(address),
                            module_name,
                            symbol.split(constants.BANG)[1],
                        ),
                    )
                if not symbols_found:
                    yield (
                        0,
                        (
                            format_hints.Hex(driver.vol.offset),
                            driver_name,
                            MAJOR_FUNCTIONS[i],
                            format_hints.Hex(address),
                            module_name,
                            renderers.NotAvailableValue(),
                        ),
                    )