[Kernel] Update ExLoadedCommandLine based on executable name

This commit is contained in:
Gliniak
2024-09-05 22:41:35 +02:00
parent 2c087406d6
commit 0ee6c77d91
3 changed files with 25 additions and 1 deletions

View File

@@ -193,7 +193,8 @@ XboxkrnlModule::XboxkrnlModule(Emulator* emulator, KernelState* kernel_state)
command_line += " " + cvars::cl;
}
uint32_t command_line_length =
xe::align(static_cast<uint32_t>(command_line.length()) + 1, 1024u);
xe::align(static_cast<uint32_t>(command_line.length()) + 1,
static_cast<uint32_t>(kExLoadedCommandLineSize));
uint32_t pExLoadedCommandLine = memory_->SystemHeapAlloc(command_line_length);
auto lpExLoadedCommandLine = memory_->TranslateVirtual(pExLoadedCommandLine);
export_resolver_->SetVariableMapping(

View File

@@ -28,6 +28,8 @@ namespace xboxkrnl {
class XboxkrnlModule : public KernelModule {
public:
static constexpr size_t kExLoadedImageNameSize = 255 + 1;
static constexpr size_t kExLoadedCommandLineSize =
1024; // Based on max size provided for XamLoaderGetLaunchData
XboxkrnlModule(Emulator* emulator, KernelState* kernel_state);
virtual ~XboxkrnlModule();