WlxNegotiate

王朝百科·作者佚名  2010-10-08
窄屏简体版  字體: |||超大  

函数介绍自建的替换GINA必须实现WlxNegotiate函数,它是Winlogon调用的第一个GINA函数。WlxNegotiate允许GINA确认是否支持目前安装的Winlogon版本。

注:Windows Vista忽略GINA动态链接库(Vista及以后版本参考ICredentialProvider)

语法

BOOL WlxNegotiate(

__in DWORD dwWinLogonVersion,

__out PDWORD pdwDllVersion

);

参数

dwWinLogonVersion [in]

指定了将与GINA交互的Winlogon版本

pdwDllVersion [out]

指明GINA支持的Winlogon版本。这个值也被Winlogon用来决定传递哪个分发表(dispatch table)给接下来的WlxInitialize函数。这个值不能比dwWinLogonVersion的值大。

返回值

如果dwWinLogonVersion表示的Winlogon版本大于或等于返回的pdwDllVersion值,函数返回TRUE,Winlogon将继续初始化。

如果dwWinLogonVersion 小于pdwDllVersion,函数返回FALSE,Winlogon终止,系统不会启动。

附注

调用WlxNegotiate之前,Winlogon设置桌面状态,于是当前桌面为Winlogon桌面;Winlogon设置工作站状态,于是桌面是锁定的。

参数中的版本数宏定义所代表的Windows版本:[1]

GINA版本

对应的Windows版本

WLX_VERSION_1_0

Windows NT 3.5.0

WLX_VERSION_1_1

Windows NT 3.5.1

WLX_VERSION_1_2

Windows NT 4.0

WLX_VERSION_1_3

Windows 2000

WLX_VERSION_1_4

Windows 2003/XP

需求

支持的最低客户机

Windows 2000 Professional

支持的最低服务器

Windows 2000 Server

最终支持客户机

Windows XP

最终支持服务器

Windows Server 2003

头文件

Winwlx.h

代码示例代码来自于API sample -GINASTUB

BOOL

WINAPI

WlxNegotiate (DWORD dwWinlogonVersion,

DWORD * pdwDllVersion)

{

HINSTANCE hDll;

DWORD dwWlxVersion = GINASTUB_VERSION;

// Load MSGINA.DLL.

if (!(hDll = LoadLibrary(REALGINA_PATH)))

{

return FALSE;

}

// Get pointers to WlxNegotiate function in the real MSGINA.

pfWlxNegotiate = (PFWLXNEGOTIATE) GetProcAddress(hDll, "WlxNegotiate");

if (!pfWlxNegotiate)

{

return FALSE;

}

// Handle older version of Winlogon.

if (dwWinlogonVersion < dwWlxVersion)

{

dwWlxVersion = dwWinlogonVersion;

}

// Negotiate with MSGINA for version that we can support.

if (!pfWlxNegotiate(dwWlxVersion, &dwWlxVersion))

{

return FALSE;

}

// Load the rest of the WLX functions from the real MSGINA.

if (!MyInitialize(hDll, dwWlxVersion))

{

return FALSE;

}

// Inform Winlogon which version to use.

*pdwDllVersion = g_dwVersion = dwWlxVersion;

return TRUE;

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航