Crates.io | memflow-win32-ffi |
lib.rs | memflow-win32-ffi |
version | 0.1.5 |
source | src |
created_at | 2020-09-01 16:55:52.585932 |
updated_at | 2020-12-14 17:26:32.69859 |
description | C bindings to memflow-win32 |
homepage | https://memflow.github.io |
repository | https://github.com/memflow/memflow |
max_upload_size | |
id | 283465 |
size | 39,282 |
The memflow win32 FFI crate provides an interface to the memflow-win32 API for C/C++. Currently a single memflow_win32.h
file is generated aside from the dynamic library that can be used to interact with memflow.
This FFI library is intended to be used in combination with the memflow-ffi library.
A simple example that initializes the memflow-ffi and 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;
}
Additional examples can be found in the examples
folder as well as in the memflow-ffi crate.