gpt4 book ai didi

Golang 中的 Windows 回调函数

转载 作者:IT王子 更新时间:2023-10-29 01:20:50 27 4
gpt4 key购买 nike

我想制作push subscription到 Golang 中的 Windows 事件日志
我究竟应该如何传递回调函数?

EVT_SUBSCRIBE_CALLBACK是函数的指针,比如

typedef DWORD ( WINAPI *EVT_SUBSCRIBE_CALLBACK)(
EVT_SUBSCRIBE_NOTIFY_ACTION Action,
PVOID UserContext,
EVT_HANDLE Event
);

所以,我的变体看起来像这样:

func logCallback() syscall.Handle {

cb := func(_ uintptr, _ uintptr, _ uintptr) uint64 {
fmt.Printf("callback called %v", data)
return 0
}
ptr := syscall.NewCallback(cb)
return syscall.Handle(ptr) // type syscall.Handle uintptr
}

我成功订阅了处理程序,没有任何错误,但它仍然无法正常工作。任何想法为什么?我应该先看哪里?

最佳答案

使用系统调用时,确保在文件顶部包含 import "C"。很高兴它帮助了你。

关于Golang 中的 Windows 回调函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44968397/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com