
#ifndef __LISTDLLVM_H_
#define __LISTDLLVM_H_

/**
 * @file: listdll-vm.h
 *
 * Tento soubor obsahuje definice konstant, typu a funkci pro modul
 * zjistujici seznam modulu procesu pres funkce VirtualQueryEx a
 * NtQueryVirtualMemory.
 */


#include <windows.h>

// Cislo, ktere rika rutine NtQueryVirtualMemory, ze volajici chce
// zjistit jmeno pametove mapovaneho souboru na dane adrese
#define MEMORY_MAPPED_FILE_NAME        0x2

// Definice hlavicky rutiny NtQueryVirtualMemory
typedef NTSTATUS (NTAPI *NTQUERYVIRTUALMEMORY) (IN HANDLE hProcess, IN PVOID BaseAddress, IN DWORD MemoryInformationClass, OUT PVOID Buffer, IN SIZE_T Length, OUT PSIZE_T ReturnLength);



// Popis vyznamu jednotlivych rutin naleznete v komentarich u jejich
// implementace v souboru listdll-vm.c

BOOL ListDllVMGetModules(DWORD PID, PMODULE_INFO_ITEM *ModuleList);
BOOL ListDllVMInit(VOID);
VOID ListDllVMFinit(VOID);

#endif
