4
我想使push subscription升级到Windows事件日志Golang
究竟应该如何传递回调函数?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
}
我获得成功认购的处理程序没有错误,但它仍然无法正常工作。 任何想法为什么?我应该在哪里看?
寻找任何答案。 – ubombi
如果你没有得到任何的错误..那你怎么测量它不起作用?什么是预期的功能和发生了什么?如何测试和调试?这是所有的代码...如果不是,你可以提供可以由社区本地运行的代码。你正在导入c? '导入“C”'作为第一行https://github.com/golang/go/issues/10973 – reticentroot
是的,就是这样!你可以写它作为答案。 (Bounty) – ubombi