5个版本
0.1.5 | 2020年12月14日 |
---|---|
0.1.4 | 2020年11月20日 |
0.1.3 | 2020年10月8日 |
0.1.1 | 2020年9月5日 |
0.0.0 | 2020年9月1日 |
#16 在 #memflow
725KB
13K SLoC
memflow-win32-ffi
memflow win32 FFI crate库为C/C++提供了一个访问memflow-win32 API的接口。除了动态库外,还生成一个单独的memflow_win32.h
文件,可用于与memflow交互。
此FFI库旨在与memflow-ffi库结合使用。
初始化memflow-ffi和memflow-win32-ffi的简单示例
#include "memflow_win32.h"
#include <stdio.h>
int main(int argc, char *argv[]) {
log_init(1);
ConnectorInventory *inv = inventory_try_new();
printf("inv: %p\n", inv);
const char *conn_name = argc > 1? argv[1]: "kvm";
const char *conn_arg = argc > 2? argv[2]: "";
CloneablePhysicalMemoryObj *conn =
inventory_create_connector(inv, conn_name, conn_arg);
printf("conn: %p\n", conn);
if (conn) {
Kernel *kernel = kernel_build(conn);
printf("Kernel: %p\n", kernel);
Win32Version ver = kernel_winver(kernel);
printf("major: %d\n", ver.nt_major_version);
printf("minor: %d\n", ver.nt_minor_version);
printf("build: %d\n", ver.nt_build_number);
kernel_free(kernel);
}
inventory_free(inv);
return 0;
}
更多示例可以在examples
文件夹中以及memflow-ffi crate中找到。
依赖项
~8.5MB
~154K SLoC