public static UInt64 GetModule(String name) { IntPtr intPtr = Marshal.AllocHGlobal(64); var input = new IoctlProcessStruct(true, name); input.ProcessId = ProcessId; input.Buffer = intPtr; var output = new IoctlProcessStruct(true, name); ulong io = 0; var obj = (UInt64)Marshal.ReadInt64(intPtr); var status = DeviceIoControl(DeviceHandle, IOCTL_FIND_MODULE, input, Marshal.SizeOf <IoctlProcessStruct>(), output, Marshal.SizeOf <IoctlProcessStruct>(), ref io, 0); obj = (UInt64)Marshal.ReadInt64(intPtr); Marshal.FreeHGlobal(intPtr); return(obj); }
public static Boolean SetCallback(Boolean enable, String procName = "") { var processStruct = new IoctlProcessStruct(enable, procName); return(DeviceIoControl <Boolean>(DeviceHandle, IOCTL_CALLBACK, processStruct)); }