EvtOpenSession函数求大神分析?
原型:
第二个参数官方是这样说的:
Login [in]
A EVT_RPC_LOGIN structure that identifies the remote computer that you want to connect to, the user's credentials, and the type of authentication to use when connecting.
关于这个LOGIN结构体是:
很奇怪,为什么第二个参数不直接_EVT_RPC_LOGIN Login,而用了PVOID类型?小弟尝试在C#中用了多种方法想实现这个函数均得不到正确的句柄,我可以确定就是第二个结构体没彻底搞正确 ,有无高手帮我猜测下在C#中怎么解决这个问题呢?谢谢
小弟C#是这样定义的:
问题原因找到了还可以多给分,非常感谢。
EVT_HANDLE WINAPI EvtOpenSession(
_In_ EVT_LOGIN_CLASS LoginClass,
_In_ PVOID Login,
_In_ DWORD Timeout,
_In_ DWORD Flags
);
第二个参数官方是这样说的:
Login [in]
A EVT_RPC_LOGIN structure that identifies the remote computer that you want to connect to, the user's credentials, and the type of authentication to use when connecting.
关于这个LOGIN结构体是:
typedef struct _EVT_RPC_LOGIN {
LPWSTR Server;
LPWSTR User;
LPWSTR Domain;
LPWSTR Password;
DWORD Flags;
} EVT_RPC_LOGIN;
很奇怪,为什么第二个参数不直接_EVT_RPC_LOGIN Login,而用了PVOID类型?小弟尝试在C#中用了多种方法想实现这个函数均得不到正确的句柄,我可以确定就是第二个结构体没彻底搞正确 ,有无高手帮我猜测下在C#中怎么解决这个问题呢?谢谢
小弟C#是这样定义的:
[DllImport("Wevtapi.dll", CharSet = CharSet.Unicode)]
public static extern IntPtr EvtOpenSession(
int LoginClass_EvtRpcLogin_1, //EvtRpcLogin 1
IntPtr Login, //改成 _EVT_RPC_LOGIN 也不行
int Timeout, //Reserved. Must be zero.
int Flags //Reserved. Must be zero.
);
public struct _EVT_RPC_LOGIN { //改成class也不行
public string Server;
public string User;
public string Domain;
public string Password;
public int Flags; // _EVT_RPC_LOGIN_FLAGS
}
问题原因找到了还可以多给分,非常感谢。
...全文
相关推荐
windows 10 tracelogging示例,根据官方文档整理
tracelogging是windows 10新的trace API,与event logging相比更加简单
CheckOutOfDateMrpSteps.py00000
CheckOutOfDateMrpSteps.py00000
驱动精灵(驱动精灵家用标准版)
1. 硬件扫描 + 驱动匹配 识别声卡、网卡、显卡、芯片组、打印机、外设,找出缺失 / 异常 / 旧驱动,按硬件 ID 匹配驱动包;适合新装系统、设备管理器黄感叹号。 2. 驱动备份 & 一键还原 装机前备份整套驱动,重装系统后直接恢复,不用重新下载;支持导出独立备份包。 3. 驱动卸载、回滚、清理 删掉冲突旧驱动、残留驱动文件;更新翻车可以回退上一版驱动,解决蓝屏、花屏、无声音。 4. 硬件信息查看 CPU、主板、硬盘、内存、显卡基础信息,附带简单温度监控。 5. 附带小工具 网卡修复、音频修复、DirectX 修复、系统组件修复。
产业园区运营负责人如何利用数智工具提升企业创新服务能力?.docx
产业园区运营负责人如何利用数智工具提升企业创新服务能力?
年会抽奖网页程序2026
用于年会抽奖



