Set_Conversation_Security_User_ID(CPI-C)

调用程序发出 Set_Conversation_Security_User_ID 调用(函数名称 cmscsu),以指定获取对已调用程序的访问权限所需的用户标识符。

语法

  
CM_ENTRY Set_Conversation_Security_User_ID(   
  unsigned char FAR *conversation_ID,    
  unsigned char FAR *security_user_ID,    
  CM_INT32 FAR *security_user_ID_length,    
  CM_INT32 FAR *return_code              
);  

参数

conversation_ID
提供的参数。 指定会话的标识符。 此参数的值由 Initialize_Conversation返回。

security_user_ID
提供的参数。 指定获取合作伙伴计划访问权限所需的用户标识符。 此参数是最多八个 ASCII 字符的字符串,区分大小写。

允许的字符为:

  • 大写字母和小写字母。

  • 数字从 0 到 9。

  • 特殊字符(空格除外)。

    如果要使用 CPI-C 自动登录功能,则必须将此参数设置为 MS$SAME 字符串。 有关详细信息,请参阅本主题后面的“备注”部分。

    security_user_ID_length
    提供的参数。 指定 security_user_ID的长度。 范围从 0 到 8。

    如果要使用 CPI-C 自动登录功能,则必须将此参数设置为 7。 有关详细信息,请参阅本主题后面的“备注”部分。

    return_code
    从此调用返回的代码。 本主题后面列出了有效的返回代码。

返回代码

CM_OK
主要返回代码;调用已成功执行。

CM_PROGRAM_PARAMETER_CHECK
主要返回代码;发生以下事件之一:

  • 由conversation_ID指定的值无效。

  • 由security_user_ID_length指定的值范围不足。

    CM_PROGRAM_STATE_CHECK
    主要返回代码;发生以下事件之一:

  • 会话未处于 INITIALIZE 状态。

  • 会话安全类型未设置为CM_SECURITY_PROGRAM。

    CM_PRODUCT_SPECIFIC_ERROR
    主要返回代码;发生了特定于产品的错误,并且已记录在产品错误日志中。

状态更改

会话必须处于 INITIALIZE 状态。

没有状态更改。

注解

仅当会话安全类型CM_SECURITY_PROGRAM或CM_SECURITY_SAME时,此调用才会对会话产生影响。 它从 Initialize_Conversation指定的侧信息中替代初始用户标识符。 发出 “分配 ”后,无法发出此调用。

分配生成的分配请求发送到合作伙伴逻辑单元(LU)之前,不会检测到无效的用户标识符。 在后续调用中,错误将返回到调用程序。

Host Integration Server 支持 CPI-C 应用程序的自动登录。 此功能需要网络管理员的特定配置。 必须从 SNA 服务器的客户端在 LAN 端调用 CPI-C 应用程序。 客户端必须登录到 Microsoft Windows Server 域,但可以是支持 SNA Server CPI-C API 的任何平台。

客户端应用程序编码为使用程序级别安全性,具有特殊的硬编码 CPI-C 用户名 MS$SAME 和密码 MS$SAME。 当此会话分配从客户端流向 SNA 服务器时,SNA 服务器将查找与登录客户端所依据的 Windows Server 帐户对应的主机帐户和密码,并将主机帐户信息替换为它发送到主机的 APPC 附加消息。