mirror of
https://github.com/fastfetch-cli/fastfetch.git
synced 2026-09-13 02:42:09 +02:00
29 lines
839 B
C
29 lines
839 B
C
#include "common/kmod.h"
|
|
#include "common/windows/nt.h"
|
|
#include "common/mallocHelper.h"
|
|
#include "common/strutil.h"
|
|
|
|
bool ffKmodLoaded(const char* modName) {
|
|
ULONG bufferSize = 0;
|
|
NtQuerySystemInformation(SystemModuleInformation, nullptr, 0, &bufferSize);
|
|
if (bufferSize == 0) {
|
|
return true; // ignore errors
|
|
}
|
|
|
|
FF_AUTO_FREE RTL_PROCESS_MODULES* buffer = malloc(bufferSize);
|
|
|
|
if (!NT_SUCCESS(NtQuerySystemInformation(SystemModuleInformation, buffer, bufferSize, &bufferSize))) {
|
|
return true; // ignore errors
|
|
}
|
|
|
|
for (ULONG i = 0; i < buffer->NumberOfModules; i++) {
|
|
const char* name = (const char*) buffer->Modules[i].FullPathName + buffer->Modules[i].OffsetToFileName;
|
|
|
|
if (ffStrEqualsIgnCase(name, modName)) {
|
|
return true;
|
|
}
|
|
}
|
|
|
|
return false;
|
|
}
|