EvtOpenSession 函数 (winevt.h)

建立与远程计算机的连接,可在调用其他 Windows 事件日志函数时使用该连接。

语法

EVT_HANDLE EvtOpenSession(
  [in] EVT_LOGIN_CLASS LoginClass,
  [in] PVOID           Login,
  [in] DWORD           Timeout,
  [in] DWORD           Flags
);

参数

[in] LoginClass

用于连接到远程计算机的连接方法。 有关可能的值,请参阅 EVT_LOGIN_CLASS 枚举。

[in] Login

一个EVT_RPC_LOGIN结构,用于标识要连接到的远程计算机、用户的凭据,以及连接时要使用的身份验证类型。

[in] Timeout

保留。 必须为零。

[in] Flags

保留。 必须为零。

返回值

如果成功,函数将返回可用于访问远程计算机上的事件日志信息的会话句柄;否则为 NULL。 如果 为 NULL,则调用 GetLastError 函数以获取错误代码。

注解

完成会话句柄后,调用 EvtClose 函数。 关闭会话句柄还会关闭会话中创建的所有打开句柄, (关闭打开的句柄会取消这些句柄) 的任何当前活动。

若要连接到远程计算机,远程计算机必须启用“远程事件日志管理”Windows 防火墙例外;否则,尝试使用会话句柄时,调用将出错,RPC_S_SERVER_UNAVAILABLE。 要连接到的计算机必须运行 Windows Vista 或更高版本。

此函数不验证凭据;首次尝试使用会话句柄时,会验证凭据。 如果凭据无效,则调用将失败并出现ERROR_ACCESS_DENIED。

示例

有关演示如何使用此函数的示例,请参阅 访问远程计算机

要求

要求
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 [仅限桌面应用]
目标平台 Windows
标头 winevt.h
Library Wevtapi.lib
DLL Wevtapi.dll

另请参阅

EVT_LOGIN_CLASS

EvtClose