Создание примера NMAPI (сетевой монитор API) в Rust. Компиляция успешно и процесс выполняется без ошибок, но не появляетC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Создание примера NMAPI (сетевой монитор API) в Rust. Компиляция успешно и процесс выполняется без ошибок, но не появляет

Сообщение Anonymous »

Я пытаюсь использовать функциональность сетевого монитора 3.4 в моем исполнении Rust: для этого я добавил следующие файлы в следующих местах: < /p>

Код: Выделить всё

NmApi.lib
в Target \\ Debug \\ Deps

Код: Выделить всё

NMAPI.dll
в Target \\ Debug
Тогда я создал некоторую привязку на основе документации в приложении, например:

Код: Выделить всё

// NMAPI module
use crate::shared::types::*;

#[link(name="NmApi")]
extern "system" {

pub fn NmCreateCaptureFile(pFileName: LPCWSTR, ulSize: ULONG, ulFlags: ULONG, phCaptureFile: PHANDLE, pulReturnSize: PULONG) -> ULONG;
pub fn NmOpenCaptureEngine(pCaptureEngine: PHANDLE) -> ULONG;
pub fn NmConfigAdapter(hCaptureEngine: HANDLE, ulIndex: ULONG, CallbackFunction: NM_FRAME_CALLBACK,
pCallerContext: LPVOID, CaptureCallbackExitMode: NmCaptureCallbackExitMode) -> ULONG;

pub fn NmStopCapture(pCaptureEngine: HANDLE, adapterInedx: ULONG);

pub fn NmCloseHandle(objectHandle: HANDLE);
pub fn NmAddFrame(hCaptureFile: HANDLE, hFrame: HANDLE) -> ULONG;
pub fn NmStartCapture(hCaptureEngine: HANDLE, ulAdapterIndex: ULONG, CaptureMode: NmAdapterCaptureMode) -> ULONG;
}
< /code>
// types module
pub type DWORD = u32;
pub type CHAR = u8;
pub type LONG = i32;
pub type ULONG = u32;
pub type PULONG = *mut ULONG;
pub type VOID = c_void;
pub type LPVOID = *mut VOID;
pub type LPCWSTR = *mut u16;
pub type HANDLE = *mut c_void;
pub type PHANDLE = *mut HANDLE;

#[derive(PartialEq)]
#[repr(u32)]
pub enum BOOL {
TRUE = 1,
FALSE = 0,
}

impl BOOL {
const TRUE_LITERAL: &'static str = "true";
const FALSE_LITERAL: &'static str = "false";

}

impl Debug for BOOL {
fn fmt(&self, f: &mut Formatter

Подробнее здесь: [url]https://stackoverflow.com/questions/69147490/making-nmapi-network-monitor-api-example-in-rust-compilation-successful-and-t[/url]
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»