• Main Page
  • Related Pages
  • Namespaces
  • Classes
  • Files
  • File List
  • File Members

E:/PROJECTS/cvsed/mixed/VIRTUA~1/kdclient/patchapi.h

Go to the documentation of this file.
00001 
00007 #pragma once
00008 
00009 enum VMType
00010 {
00011         kVMUnknown = 0,
00012         kVMWare32,
00013         kVMWare64,
00014         kVBox32,
00015         kVBox64,
00016 };
00017 
00018 extern "C"
00019 {
00021 
00026         __declspec(dllexport) HANDLE CreateVMSessionList();
00027         
00029         __declspec(dllexport) void CloseVMSessionList(HANDLE hList);
00030 
00032 
00037         __declspec(dllexport) unsigned GetNextVMSessionPID(HANDLE hList);
00038 
00039         __declspec(dllexport) unsigned GetNextVMSessionPIDEx(HANDLE hList, VMType *pVMType);
00040 
00042         __declspec(dllexport) unsigned GetVMSessionNameW(unsigned PID, wchar_t *pName, size_t MaxNameLength);
00043 
00045         __declspec(dllexport) bool IsVMSessionPatched(unsigned PID);
00046 
00048         __declspec(dllexport) bool PatchVMSessionIfNeeded(unsigned PID);
00049 
00051         __declspec(dllexport) bool UnpatchVMSessionIfNeeded(unsigned PID);
00052 
00053         typedef HANDLE HTHREAD;
00054 
00056         __declspec(dllexport) HTHREAD StartVMSessionPatching(unsigned PID);
00057 
00059         __declspec(dllexport) HTHREAD StartVMSessionUnpatching(unsigned PID);
00060 
00062         __declspec(dllexport) int FindVMSessionByNameW(const wchar_t *pName);
00063 
00065         __declspec(dllexport) unsigned GetVMPipeNameW(unsigned PID, wchar_t *pName, size_t MaxNameLength, bool TryReconstructingIfNotAvailable);
00066 };