51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

楼主: msnshow
打印 上一主题 下一主题

[资料] LoadRunner函数大全之中文解释

[复制链接]
  • TA的每日心情
    奋斗
    2022-5-8 19:23
  • 签到天数: 137 天

    连续签到: 1 天

    [LV.7]测试师长

    101#
     楼主| 发表于 2014-8-31 11:45:44 | 只看该作者
    int sapgui_text_edit_get_number_of_unprotected_text_parts( const char *description, const char  
    *textEditID, const char *outParamName, [args,]    LAST );  
      
    // sapgui_text_edit_double_click  模拟鼠标双击。  
    //  要设置所选内容,请在  sapgui_text_edit_double_click  之前  
    //  调用  sapgui_text_edit_set_selection_indexes 。  
    int sapgui_text_edit_double_click( const char *description, const char *textEditID, [args,]   
    LAST );  
      
    // sapgui_text_edit_single_file_dropped  模拟  
    //  将  fileName  拖放到文本编辑控件中。  
    int sapgui_text_edit_single_file_dropped( const char *description, const char *textEditID, const  
    char * fileName, [args,]    LAST );  
      
    // sapgui_text_edit_multiple_files_dropped  模拟  
    //  将  listOfFiles   中的文件  
    //  拖放到文本编辑控件中。  
    int sapgui_text_edit_multiple_files_dropped( const char *description, const char *textEditID,  
    listOfFiles, [args,]    LAST );  
      
    // sapgui_text_edit_press_F1  调用  
    //  在应用程序中针对文本编辑控件定义的  
    //  上下文相关帮助。如果未定义帮助,  
    //  则  sapgui_text_edit_press_F1  不起作用。  
    int sapgui_text_edit_press_F1( const char *description, const char *textEditID, [args,]    LAST );  
      
    // sapgui_text_edit_press_F4  调用  
    //  应用程序中针对文本编辑控件定义的选项列表。如果未  
    //  定义选项,则  sapgui_text_edit_press_F4  不起作用。  
    int sapgui_text_edit_press_F4( const char *description, const char *textEditID, [args,]    LAST );  
      
    // sapgui_text_edit_open_context_menu  打开  
    //  应用程序中针对文本编辑控件定义的  
    //  快捷菜单。如果未定义菜单,则  sapgui_text_edit_open_context_menu  
    //  不起作用。  
    int sapgui_text_edit_open_context_menu( const char *description, const char *textEditID, [args,]   
    LAST );  
      
    // sapgui_text_edit_select_context_menu  选中  
    //   由  menuId  指定的快捷菜单项。  
    // menuId  是项目的函数代码。  
    int sapgui_text_edit_select_context_menu( const char *description, const char *textEditID, const  
    char *menuId, [args,]    LAST );
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2022-5-8 19:23
  • 签到天数: 137 天

    连续签到: 1 天

    [LV.7]测试师长

    102#
     楼主| 发表于 2014-8-31 11:45:52 | 只看该作者
    // sapgui_text_edit_modified_status_changed  设置  
    //  文本编辑控件的已修改状态。  
    //  其值可以是“True ”,也可以是“False ”。  
    int sapgui_text_edit_modified_status_changed( const char *description, const char *textEditID,  
    const char *value, [args,]    LAST );  
      
    // sapgui_toolbar_press_button  模拟在工具栏按钮上进行单击操作。  
    int sapgui_toolbar_press_button( const char * description, const char * toolbarID, const char *  
    buttonID, [args,]    LAST );  
      
    // sapgui_toolbar_press_context_button  模拟  
    //  用户按工具栏上下文按钮。  
    int sapgui_toolbar_press_context_button(const char * description, const char * toolbarID, const  
    char * buttonID, [args,]    LAST );  
      
    // sapgui_toolbar_select_menu_item  模拟  
    //  用户选择工具栏菜单项。  
    int sapgui_toolbar_select_menu_item( const char * description, const char * toolbarID, const char  
    * menuID, [args,]    LAST );  
      
    // sapgui_toolbar_select_menu_item_by_text  模拟  
    //  用户选择工具栏菜单项。  
    int sapgui_toolbar_select_menu_item_by_text( const char * description, const char * toolbarID,  
    const char * menuItem, [args,]    LAST );  
      
    // sapgui_toolbar_select_context_menu_item  模拟  
    //  用户选择上下文菜单项。  
    int sapgui_toolbar_select_context_menu_item( const char * description, const char * toolbarID,  
    const char * menuID, [args,]    LAST );  
      
    // sapgui_toolbar_select_context_menu_item_by_text  
    //  模拟用户选择上下文菜单项。  
    int sapgui_toolbar_select_context_menu_item_by_text( const char * description, const char *  
    toolbarID, const char * menuItem, [args,]    LAST );  
      
    // sapgui_tree_click_link  模拟用户单击树中的链接。  
    int sapgui_tree_click_link(const char *description, const char *treeID, const char *nodeKey, const  
    char *itemName, [args,]    LAST ) ;  
      
    // sapgui_tree_collapse_node  模拟用户单击  
    //  “- ”符号以折叠节点。调用  sapgui_tree_collapse_node  之后,  
    //  “- ”符号将替换为“+ ”符号,  
    //  而且子节点不可见。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2022-5-8 19:23
  • 签到天数: 137 天

    连续签到: 1 天

    [LV.7]测试师长

    103#
     楼主| 发表于 2014-8-31 11:46:03 | 只看该作者
    int sapgui_tree_collapse_node(const char *description, const char *treeID, const char *nodeKey,  
    [args,]    LAST ) ;  
      
    // sapgui_tree_double_click_item  模拟用户  
    //  双击树中的某一项。如果该项是一个链接,  
    //  则打开其目标;如果是命令,则执行该命令。  
    int sapgui_tree_double_click_item(const char *description, const char *treeID, const char  
    *nodeKey, const char *itemName, [args,]    LAST ) ;  
      
    // sapgui_tree_double_click_node  模拟  
    //  用户双击树中的某个节点。  
    int sapgui_tree_double_click_node(const char *description, const char *treeID, const char  
    *nodeKey, [args,]    LAST );  
      
    // sapgui_tree_expand_node  模拟用户通过单击“+ ”符号  
    //  展开一个节点。调用  sapgui_tree_expand_node  之后,  
    //  “+ ”符号将替换为“- ”符号,  
    //  而且子节点可见。  
    int sapgui_tree_expand_node(const char *description, const char *treeID, const char *nodeKey,  
    [args,]    LAST ) ;  
      
    // sapgui_tree_get_item_text  数据检索函数  
    //  将树中某一项的文本属性放到  outParamName   中。  
    int sapgui_tree_get_item_text(const char *description, const char *treeID, const char *nodeKey,  
    const char *itemName, const char *outParamName, [args,]    LAST ) ;  
      
    // sapgui_tree_get_node_text  数据检索函数  
    //  将节点文本放到  outParamName   中。  
    int sapgui_tree_get_node_text(const char *description, const char *treeID, const char *nodeKey,  
    const char *outParamName, [args,]    LAST ) ;  
      
    // sapgui_tree_is_checkbox_selected  验证函数  
    //  适用于树控件中的复选框。如果复选框处于选中状态,  
    //  则返回  True ,如果复选框处于清除状态,则返回  False 。  
    int sapgui_tree_is_checkbox_selected(const char *description, const char *treeID, const char  
    *nodeKey, const char *itemName, [args,]    LAST ) ;  
      
    // sapgui_tree_open_default_context_menu  打开  
    //  树的默认上下文相关菜单。  
    int sapgui_tree_open_default_context_menu(const char *description, const char *treeID, [args,]   
    LAST ) ;  
      
    // sapgui_tree_open_header_context_menu  模拟用户  
    //  右键单击树标题以打开上下文相关菜单。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2022-5-8 19:23
  • 签到天数: 137 天

    连续签到: 1 天

    [LV.7]测试师长

    104#
     楼主| 发表于 2014-8-31 11:46:14 | 只看该作者
    int sapgui_tree_open_header_context_menu(const char *description, const char *treeID, const  
    char *headerName, [args,]    LAST ) ;  
      
    // sapgui_tree_open_item_context_menu  模拟用户  
    //  右键单击树项以打开上下文相关菜单。  
    int sapgui_tree_open_item_context_menu(const char *description, const char *treeID, const char  
    *nodeKey, const char *itemName, [args,]    LAST ) ;  
      
    // sapgui_tree_open_node_context_menu  模拟用户  
    //  右键单击树节点以打开上下文相关菜单。  
    int sapgui_tree_open_node_context_menu(const char *description, const char *treeID, const char  
    *nodeKey, [args,]    LAST ) ;  
      
    // sapgui_tree_press_button  模拟用户单击树中的按钮。  
    int sapgui_tree_press_button(const char *description, const char *treeID, const char *nodeKey,  
    const char *itemName, [args,]    LAST );  
      
    // sapgui_tree_press_header  模拟用户  
    //  单击树中的列标题。  
    int sapgui_tree_press_header(const char *description, const char *treeID, const char *headerName,  
    [args,]    LAST ) ;  
      
    // sapgui_tree_press_key  模拟用户在  
    //  树具有焦点时按键盘。  
    int sapgui_tree_press_key(const char *description, const char *treeID, const char *key, [args,]   
    LAST );  
      
    // sapgui_tree_scroll_to_item  与  
    // sapgui_tree_select_item   自动录制为一对。它模拟  
    //  使用滚动条,以便  itemName  可见。  
    int sapgui_tree_scroll_to_item(const char *description, const char *treeID, const char *nodeKey,  
    const char *itemName, [args,]    LAST ) ;  
      
    // sapgui_tree_scroll_to_node  滚动树,以便  
    // topNode  成为窗格顶端  
    //  的第一个可见节点。但不选中该节点。  
    int sapgui_tree_scroll_to_node(const char *description, const char *treeID, const char *topNode,  
    [args,]    LAST );  
      
    // sapgui_tree_select_column  模拟用户  
    //  使用鼠标选择树列。  
    int sapgui_tree_select_column(const char *description, const char *treeID, const char  
    *columnName, [args,]    LAST ) ;
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2022-5-8 19:23
  • 签到天数: 137 天

    连续签到: 1 天

    [LV.7]测试师长

    105#
     楼主| 发表于 2014-8-31 11:46:23 | 只看该作者
    // sapgui_tree_select_context_menu  从树控件的  
    //  快捷菜单中选择一项。  
    int sapgui_tree_select_context_menu ( const char *description, const char *treeID, const char  
    *value, [args,]    LAST );  
      
    // sapgui_tree_select_item  适用于树控件中  
    //  任何可选项。它模拟用户单击  
    // itemName  项以便选中该项。如果在调用  sapgui_tree_select_item  时  
    //  该项在树窗格中不可见,  
    //  则滚动树以使该项可见。  
    int sapgui_tree_select_item(const char *description, const char *treeID, const char *nodeKey,  
    const char *itemName, [args,]    LAST ) ;  
      
    // sapgui_tree_select_node  模拟用户单击  
    // MultipleNodeSelection  树中的节点。调用  
    // sapgui_tree_select_node  会将节点  nodeKey   
    //  添加到选定节点的集合。  
    int sapgui_tree_select_node(const char *description, const char *treeID, const char *nodeKey,  
    [args,]    LAST ) ;  
      
    // sapgui_tree_set_checkbox  适用于树控件中的  
    //  复选框。如果该值为“True ”,则选中复选框;  
    //  如果该值为“False ”,则清除复选框。  
    int sapgui_tree_set_checkbox(const char *description, const char *treeID, const char *nodeKey,  
    const char *itemName, const char *value, [args,]    LAST );  
      
    // sapgui_tree_set_column_order  设置树中  
    //  列的顺序。新顺序由列在列列表中  
    //  的位置来确定。  
    int sapgui_tree_set_column_order(const char *description, const char *treeID, const char  
    *columns, [args,]    LAST ) ;  
      
    // sapgui_tree_set_column_width  将  columnName  的宽度设置为  width 。  
    int sapgui_tree_set_column_width(const char *description, const char *treeID, const char  
    *columnName, const char *width, [args,]    LAST ) ;  
      
    // sapgui_tree_set_hierarchy_header_width  将  
    //  树视图中标题的宽度更改为  width 。  
    int sapgui_tree_set_hierarchy_header_width(const char *description, const char *treeID, const  
    char *width, [args,]    LAST );  
      
    // sapgui_tree_set_selected_node  模拟用户单击  
    // SingleNodeSelection  树中的节点。调用  
    // sapgui_tree_set_selected_node  将取消选中
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2022-5-8 19:23
  • 签到天数: 137 天

    连续签到: 1 天

    [LV.7]测试师长

    106#
     楼主| 发表于 2014-8-31 11:46:39 | 只看该作者
    //  先前选中的节点,并选中节点  nodeKey 。  
    int sapgui_tree_set_selected_node(const char *description, const char *treeID, const char  
    *nodeKey, [args,]    LAST );  
      
    // sapgui_tree_unselect_all  取消选中树中  
    //  所有选中的项,而不选中其他项。  
    int sapgui_tree_unselect_all(const char *description, const char *treeID, [args,]    LAST) ;  
      
    // sapgui_tree_unselect_column  取消选中树列。  
    int sapgui_tree_unselect_column(const char *description, const char *treeID, const char  
    *columnName, [args,]    LAST ) ;  
      
    // sapgui_tree_unselect_node  取消选中树节点。  
    int sapgui_tree_unselect_node(const char *description, const char *treeID, const char *nodeKey,  
    [args,]    LAST ) ;  
      
    // sapgui_window_close  关闭  SAP GUI  应用程序。  
    int sapgui_window_close( LAST);  
      
    // sapgui_window_maximize  将窗口设置为全屏大小。  
    int sapgui_window_maximize( LAST);  
      
    // sapgui_window_resize  将活动窗口调整为  width  和  height  大小。  
    int sapgui_window_resize( const char *width, const char *height, [args,]    LAST );  
      
    // sapgui_window_restore  将窗口还原为非最大化状态。  
    int sapgui_window_restore( LAST);  
      
    // sapgui_window_scroll_to_row  滚动到某一窗口行,但  
    //  不在该行上设置焦点,也不针对该行执行任何操作  
    int sapgui_window_scroll_to_row( const char * newPosition, [args,]    LAST );  
      
    // sapgui_apogrid_clear_selection  取消选中  
    // APO   网格中当前选中的区域。  
    int sapgui_apogrid_clear_selection ( const char *description, const char *gridID, [args,] LAST ) ;  
      
    // sapgui_apogrid_deselect_cell  取消选中  APO   网格中  
    //   由“row ”和“column ”指定的单元格。  
    int sapgui_apogrid_deselect_cell ( const char *description, const char *gridID, const char *row,  
    const char *column, [args,]    LAST ) ;  
      
    // sapgui_apogrid_deselect_column  取消选中  APO   网格中的  
    //  指定列。  
    int sapgui_apogrid_deselect_column ( const char *description, const char *gridID, const char *column, [args], LAST ) ;
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2022-5-8 19:23
  • 签到天数: 137 天

    连续签到: 1 天

    [LV.7]测试师长

    107#
     楼主| 发表于 2014-8-31 11:46:51 | 只看该作者
    // sapgui_apogrid_deselect_row  取消选中  APO   网格中的指定行。  
    int sapgui_apogrid_deselect_row ( const char *description, const char *gridID, const char *row,  
    [args,]    LAST ) ;  
      
    // sapgui_apogrid_double_click  模拟用户  
    //  双击  APO   网格中的单元格。  
    int sapgui_apogrid_double_click ( const char *description, const char *gridID, const char *row,  
    const char *column, [args,]    LAST ) ;  
      
    // sapgui_apogrid_get_cell_data  将  APO   网格中  
    //  某单元格的数据分配给参数  outParamName 。  
    //  数据始终以字符串形式保存。  
    int sapgui_apogrid_get_cell_data ( const char *description, const char *gridID, const char *row,  
    const char *column, const char *outParamName, [args,]    LAST ) ;  
      
    // sapgui_apogrid_get_cell_format  将  APO   网格中  
    //  某单元格的格式描述分配给参数  outParamName 。  
    int sapgui_apogrid_get_cell_format ( const char *description, const char *gridID, const char *row,  
    const char *column, const char *outParamName, [args,]    LAST ) ;  
      
    // sapgui_apogrid_get_cell_tooltip  将  APO   网格中  
    //  某单元格的工具提示分配给参数  outParamName 。  
    int sapgui_apogrid_get_cell_tooltip ( const char *description, const char *gridID, const char *row,  
    const char *column, const char *outParamName, [args,]    LAST ) ;  
      
    // sapgui_apogrid_is_cell_changeable  返回一个值,指明  
    //  用户是否可以修改  APO   网格中某单元格的值。  
    int sapgui_apogrid_is_cell_changeable ( const char *description, const char *gridID, const char  
    *row, const char *column, [args,]    LAST ) ;  
      
    // sapgui_apogrid_open_cell_context_menu  打开  APO   网格中  
    //  某单元格的上下文菜单。  
    int sapgui_apogrid_open_cell_context_menu ( const char *description, const char *gridID, const  
    char *row, const char *column, [args,]    LAST ) ;  
      
    // sapgui_apogrid_press_ENTER  模拟用户在  APO   网格中按  Enter  键。  
    int sapgui_apogrid_press_ENTER ( const char *description, const char *gridID, [args,]    LAST ) ;  
      
    // sapgui_apogrid_scroll_to_column  模拟  
    //  用户滚动到  APO   网格中的某列。  
    //  该函数不选中该列。  
    int sapgui_apogrid_scroll_to_column ( const char *description, const char *gridID, const char *column, [args,]    LAST ) ;
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2022-5-8 19:23
  • 签到天数: 137 天

    连续签到: 1 天

    [LV.7]测试师长

    108#
     楼主| 发表于 2014-8-31 11:47:05 | 只看该作者
    // sapgui_apogrid_scroll_to_row  模拟用户  
    //  滚动到  APO   网格中的某行。该函数不选中该行。  
    int sapgui_apogrid_scroll_to_row ( const char *description, const char *gridID, const char *row,  
    [args,]    LAST ) ;  
      
    // sapgui_apogrid_select_all  全选  APO   网格中的单元格。  
    int sapgui_apogrid_select_all ( const char *description, const char *gridID, [args,]    LAST ) ;  
      
    // sapgui_apogrid_select_cell  选中  APO   网格中的一个单元格。  
    int sapgui_apogrid_select_cell ( const char *description, const char *gridID, const char *row,  
    const char *column, [args,]    LAST ) ;  
      
    // sapgui_apogrid_select_column  选中  APO   网格中的一列。  
    int sapgui_apogrid_select_column ( const char *description, const char *gridID, const char  
    *column, [args,]    LAST) ;  
      
    // sapgui_apogrid_select_context_menu_item  选中  APO   网格的  
    //  上下文菜单中的一项。  
    int sapgui_apogrid_select_context_menu_item ( const char *description, const char *gridID, const  
    char *value, [args,]    LAST ) ;  
      
    // sapgui_apogrid_select_row  选中  APO   网格中的一行。  
    int sapgui_apogrid_select_row ( const char *description, const char *gridID, const char *row,  
    [args,]    LAST ) ;  
      
    // sapgui_apogrid_set_cell_data  将  newValue   
    //  分配给  APO   网格中某单元格的内容。  
    int sapgui_apogrid_set_cell_data ( const char *description, const char *gridID, const char *row,  
    const char *column, const char *newValue, [args,]    LAST ) ;  
      
    // smtp_abort_mail  取消当前的邮件事务。  
    //  废弃所有已存储的发件人、收件人和邮件数据。  
    //  清除所有缓冲区和状态表。  
    int smtp_abort_mail( );  
      
    // smtp_abort_mail_ex  针对特定会话取消  
    //  当前邮件事务。废弃所有  
    //   已存储的发件人、收件人和邮件数据。  
    //  清除所有缓冲区和状态表。  
    int smtp_abort_mail_ex( SMTP *ppsmtp);  
      
    // smtp_free  函数释放  SMTP  服务器并取消所有挂起命令。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2022-5-8 19:23
  • 签到天数: 137 天

    连续签到: 1 天

    [LV.7]测试师长

    109#
     楼主| 发表于 2014-8-31 11:47:11 | 只看该作者
    void smtp_free( );  
      
    // smtp_free_ex  函数释放  SMTP  服务器  
    //  并取消所有挂起命令。  
    void smtp_free_ex (SMTP *ppsmtp);  
      
    // smtp_logon  函数登录到  SMTP  服务器。  
    //  它使用  FTP  协议所用的格式。  
    int smtp_logon (char *transaction, char *url, [ char *CommonName, char *LogonUser, char  
    *LogonPass,] LAST);  
      
    // smtp_logon_ex  函数针对特定会话  
    //  登录到  SMTP  服务器。  
    int smtp_logon_ex ( SMTP *ppsmtp, char *transaction, char *url, [ char *CommonName, char  
    *LogonUser, char *LogonPass,] LAST );  
      
    // smtp_logout  函数从  SMTP  服务器注销。  
    int smtp_logout( );  
      
    // smtp_logout_ex  函数针对特定会话  
    //  从  SMTP  服务器注销。  
    int smtp_logout_ex (SMTP *ppsmtp);  
      
    // smtp_send_mail  函数使用  SMTP  服务器发送一封邮件。  
    int smtp_send_mail (char *transaction, char *RecipientTo, [char *RecipientCC,] [char  
    *RecipientBCC,] char *Subject, [char *From,][char * ContentType, <char * charset,>] char  
    *MAILOPTIONS, char *MAILDATA, LAST);  
      
    // smtp_send_mail_ex  函数针对指定会话  
    //  使用  SMTP  服务器发送一封邮件。  
    int smtp_send_mail_ex (SMTP *ppsmtp, char *transaction, char *RecipientTo,    [char  
    *RecipientCC,] [char *RecipientBCC,] char *Subject,[char *From,] [char * ContentType, < char *  
    charset,>] char *MAILOPTIONS, char *MAILDATA, LAST);  
      
    // smtp_translate  函数为  SMTP  服务器  
    //  转换消息。应指定源文件和目标文件、  
    //   内容标题和编码类型。  
    int smtp_translate (char *filename, char *content_header, ENCODING_TYPE encoding, char  
    *output_filename);  
      
    // smtp_translate_ex  函数为  SMTP  服务器  
    //  转换消息。应指定源文件和目标文件、  
    //   内容标题和编码类型。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2022-5-8 19:23
  • 签到天数: 137 天

    连续签到: 1 天

    [LV.7]测试师长

    110#
     楼主| 发表于 2014-8-31 11:47:19 | 只看该作者
    int smtp_translate_ex (SMTP *ppsmtp, char *filename, char *content_header,  
    ENCODING_TYPE encoding, char *output_filename);  
      
    // lrt_abort_on_error  函数  
    //  在上一个  Tuxedo  函数产生错误时  
    //   中止当前事务。这意味着事务异常  
    //  结束。将撤消事务执行过程中  
    //  对资源所做的所有更改。  
    void lrt_abort_on_error ( );  
      
    // lrt_ClarifyCorrelate  在使用  Clarify CRM  应用程序时  
    //   由  Vugen   自动生成,  
    //  并将返回的数据  
    //  保存在对数据库的  DB_OBJNUM  或  DB_OBJIDS  调用  
    //  的回复缓冲区中。该数据用于关联。  
    void lrt_ClarifyCorrelate (void *buf, int occurrence, char *param);  
      
    // lrt_display_buffer  函数将有关缓冲区的  
    //  信息存储到输出文件  section_name.out   中。  
    //  该文件包含每个  
    //  发送缓冲区和回复缓冲区的缓冲区描述。该信息  
    //   以以下格式显示:  
    int lrt_display_buffer (const char* bufferName, const char* bufferPtr, long actualLen,                    
    long expectedLen );  
      
    // lrt_Fadd[32]_fld  函数将新字段  
    //  添加到  FML  缓冲区。必须将  FML  字段的名称或其字段  ID   
    //  指定为第二个参数。  
    //  必须在第三个参数中指定新  
    // FML fielFML  缓冲区的值。字段长度是可选的。  
    //  只需将  FML  字段的类型指定为  
    // CARRAY     (二进制数据)。其他字段的长度  
    //   由字段类型和值来确定。  
    int lrt_Fadd[32]_fld ( FBFR[32] *fbfr, "name=fldname" | "id=idval", "value=fldvalue" [, "len=8"],  
    LRT_END_OF_PARAMS );  
      
    // lrt_Finitialize[32]  函数初始化  
    //  某个现有的  FML  缓冲区。该函数替代  
    // Tuxedo  函数  Finit  和  Fsizeof   的使用。  
    int lrt_Finitialize[32] ( FBFR[32] *fbfr );  
      
    // lrt_Fname[32]  函数提供从字段标识符  
    //  到其字段名的运行时转换。  
    char * lrt_Fname[32] ( FLDID[32] fieldid );
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2022-5-8 19:23
  • 签到天数: 137 天

    连续签到: 1 天

    [LV.7]测试师长

    111#
     楼主| 发表于 2014-8-31 11:47:28 | 只看该作者
    // lrt_Fstrerror[32]  函数检索  
    //  与  FML  错误代码对应的错误消息字符串。  
    char *lrt_Fstrerror[32] ( int err );  
      
    // lrt_getFerror[32]  函数检索上次失败的   
    // FML  操作的错误代码。在多任务  
    //  环境中,该函数用于为每个任务  
    //  提供一个独立的错误状态,而不  
    //  依赖于全局错误变量  (Ferrno) 。  
    int lrt_getFerror[32] ( void );  
      
    // lrt_gettperrno  函数检索  
    //  上次失败事务的错误代码。在多任务  
    //  环境中,该函数用于为每个任务  
    //  提供一个独立的错误状态,而不  
    //  依赖于全局错误变量  (tperrno) 。  
    int lrt_gettperrno ( void );  
      
    // lrt_gettpurcode  函数检索最后  
    //  一次调用  lrt_tpgetrply 、lrt_tpcall、  
    // lrt_tprecv  或  lrt_tpdequeue  时设置的  
    //  全局应用程序返回代码变量  (tpurcode) 。如果指定,  
    // tpurcode  还将包含使用  lrt_tpenqueue   
    //  发送的“user-return code ”的值。  
    long lrt_gettpurcode ( void );  
      
    // lrt_InterateIDCals  在使用  Clarify CRM  应用程序时  
    //   由  Vugen   自动生成,并将返回的数据保存在  
    //  对数据库的  AS_EXESVC  调用  
    //  的回复缓冲区中。该数据用于关联。  
    void lrt_InterateIDCals (void *buf, int occurrence, char *param);  
      
    // lrt_memcpy  函数将指定的字节数  
    //  从源复制到目标。在复制到目标  
    //  之前,源保存在一个参数中  
    //   。该函数与  
    // C  函数  (memcpy)  功能相同。如果在用户计算机上  
    //  找不到  C  函数  (memcpy) ,  
    //  则提供  lrt_memcpy  函数。由于我们使用  C  解释器,  
    //  因此不能假定在每台用户计算机上  
    //  都可以找到标准  C  库。  
    void lrt_memcpy ( void *dest, const void *source, unsigned long count );
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2022-5-8 19:23
  • 签到天数: 137 天

    连续签到: 1 天

    [LV.7]测试师长

    112#
     楼主| 发表于 2014-8-31 11:47:44 | 只看该作者
    // lrt_save_fld_val  函数将  FML  缓冲区的  
    //  当前值保存到  paramName  指定的参数中。  
    //  该函数用于关联脚本中的  
    //  查询。并不使用查询期间实际获取的  
    //  结果,而是用一个参数来代替  
    //  该常量值。之后,同一个脚本中的其他数据库语句  
    //  可以使用该参数。  
    int lrt_save_fld_val ( FBFR *fbfr, char *name, FLDOCC occ, char *paramName );  
      
    // lrt_save32_fld_val  函数将  FML32  缓冲区的  
    //  当前值保存到  paramName  指定的参数中。  
    //  该函数用于关联脚本中的  
    //  查询。并不使用查询期间实际获取的  
    //  结果,而是用一个参数来代替  
    //  该常量值。之后,同一个脚本中的其他数据库语句  
    //  可以使用该参数。  
    int lrt_save32_fld_val ( FBFR32 *fbfr, char *name, FLDOCC32 occ, char *paramName );  
      
    // lrt_save_parm  函数将字符数组的一部分  
    //  保存到  parm_name  指定的参数中。该函数  
    //  保存  parm_len  指定的字符数,  
    //  从  offset  指定的偏移量开始。  
    int lrt_save_parm ( char *buffer, int offset, int parm_len, char *parm_name );  
      
    // lrt_set_carray_error_list  函数设置  
    //  可用于  CARRAY  回复缓冲区的错误消息  
    //  列表。使用该函数之前,应在  CARRAY_ERROR_INFO  结构中  
    //  定义错误消息。  
    void lrt_set_carray_error_list (CARRAY_ERROR_INFO *newcarrayErrors);  
      
    // lrt_set_env_list  函数设置之后可以由  lrt_tuxputenv  设置  
    //  的变量列表。在调用  lrt_set_env_list  
    //  之后,可以设置  allowedEnv  列表  
    //   中的环境变量。  
    void lrt_set_env_list ( char **allowedEnv );  
      
    // lrt_strcpy  函数将指定的字符串从  
    //  源复制到目标。在复制到  
    //   目标之前,源保存在一个参数中。该  
    //  函数与  C  函数  (strcpy)  功能相同。  
    void lrt_strcpy ( char *destString, const char *sourceString );  
      
    // lrt_tpabort  函数中止当前的  Tuxedo  
    //  或  System/T  事务。这意味着事务的 异常结束。将撤消事务执行过程中  
    //  对资源所做的所有更改。lrt_tpabort  
    //  只能由事务的发起者调用。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2022-5-8 19:23
  • 签到天数: 137 天

    连续签到: 1 天

    [LV.7]测试师长

    113#
     楼主| 发表于 2014-8-31 11:47:55 | 只看该作者
    int lrt_tpabort ( long flags );  
      
    //    lrt_tpacall  函数将请求消息发送给  
    //  指定的服务。这是可以以简要模式打印调试信息的  
    //  少数几个函数之一。  
    int lrt_tpacall ( char *svc, char *data, long len, long flags );  
      
    // lrt_tpalloc  函数分配新缓冲区,并  
    //  返回一个指向指定类型缓冲区的指针。由于  
    //  一些缓冲区类型在使用前  
    //  需要初始化,因此  lrt_tpalloc  会在分配之后,返回之前  
    //  初始化缓冲区。  
    char *lrt_tpalloc ( char *type, char *subtype, long size );  
      
    // lrt_tpbegin  函数开始一个  System/T  事务。  
    // System/T   中的事务是没有完全成功或根本没有生效的  
    //  工作的一个逻辑单元。  
    //  此类事务允许由多个进程执行工作,  
    //  而在不同的站点这些进程可能被视为  
    //  单一的工作单元。事务的发起者可以  
    //  可以使用  lrt_tpabort  或  lrt_tpcommit   
    //  结束事务。  
    int lrt_tpbegin(unsigned long timeout,    long flags);  
      
    // lrt_tpbroadcast  函数允许客户端或服务器  
    //  将未经请求的消息发送到系统中已注册的客户端。  
    int lrt_tpbroadcast ( char *lmid, char *username, char *cltname, char * data, long len, long flags );  
      
    // lrt_tpcall  函数发送服务请求并等待其回复。  
    int lrt_tpcall ( char *svc, char *idata, long ilen, char **odata, long *olen, long flags );  
      
    // lrt_tpcancel  函数取消调用描述符。  
    //  在  lrt_tpcancel  之后,调用描述符  cd  不再  
    //  有效,并将忽略对  cd  的任何回复。任何  
    //  取消与事务关联的调用描述符的尝试  
    //  都会产生错误。  
    int lrt_tpcancel ( int cd );  
      
    // lrt_tpchkauth  函数检查应用程序配置  
    //  是否要求身份验证。这通常由应用程序客户端  
    //  在调用  lrt_tpinitialize  之前使用,以确定是否要求输入密码。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2022-5-8 19:23
  • 签到天数: 137 天

    连续签到: 1 天

    [LV.7]测试师长

    114#
     楼主| 发表于 2014-8-31 11:48:02 | 只看该作者
    int lrt_tpchkauth ( );  
      
    // lrt_tpchkunsol  函数通过检查来确定  
    // Tuxedo  客户端是否接收到任何未经请求的消息。  
    int lrt_tpchkunsol ( void );  
      
    // lrt_tpcommit  函数提交当前的  System/T  事务。  
    int lrt_tpcommit ( long flags );  
      
    // lrt_tpconnect  函数建立一个半双工  
    //  会话式服务连接。  
    int lrt_tpconnect ( char *svc, char *data, long len, long flags );  
      
    // lrt_tpdequeue  函数获取用于处理的消息,  
    //  并将其从队列中删除。默认情况下,获取的是队列  
    //  顶端的消息。要请求一条特定的  
    //  消息,请在  ctl   中指定消息标识符。  
    int lrt_tpdequeue ( char *qspace, char *qname, TPQCTL *ctl, char **data, long *len, long flags );  
      
    // lrt_tpdiscon  函数断开会话式  
    //  服务连接。该函数只能由  
    //  会话的发起者调用。调用  
    //  该函数之后,您将再也无法在  
    //  该连接上进行发送或接收。  
    int lrt_tpdiscon ( int cd );  
      
    // lrt_tpenqueue  函数存储要在  qname  指定的队列上  
    //  处理的消息。  
    int lrt_tpenqueue ( char *qspace, char *qname, TPQCTL *ctl, char *data, long len, long flags );  
      
    // lrt_tpfree  函数释放先前由  
    // lrt_tpalloc  或  lrt_tprealloc  获取的缓冲区。  
    void lrt_tpfree ( char *ptr );  
      
    // lrt_tpgetlev  函数检查事务是否正在执行。  
    int lrt_tpgetlev ( ) ;  
      
    // lrt_tpgetrply  函数返回上次所发送请求的回复。  
    int lrt_tpgetrply ( int *cd, char **data, long *len, long flags );  
      
    // lrt_tpgprio  函数返回上次发送或接收  
    //  的请求的优先级。优先级范围  
    //  从  1  到  100 ,最高优先级为  100 。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2022-5-8 19:23
  • 签到天数: 137 天

    连续签到: 1 天

    [LV.7]测试师长

    115#
     楼主| 发表于 2014-8-31 11:48:13 | 只看该作者
    int lrt_tpgprio ( );  
      
    // lrt_tpinitialize  函数使客户端可以加入  System/T  
    //  应用程序。该函数将替换  TVG_tpinit  函数。  
    int lrt_tpinitialize (["usrname=value",] ["cltname=value", ] ["passwd=value", ] [grpname=value,]  
    [flags= value, ] [datalen=value, ] [data=value, ] LRT_END_OF_PARAMS );  
      
    // lrt_tprealloc  函数更改类型化缓冲区的大小。  
    char * lrt_tprealloc ( char *ptr, long size );  
      
    // lrt_tprecv  函数通过打开的连接接收  
    //  发自另一个程序的数据。它  
    //  与  lrt_tpsend  结合使用,  
    //  且只能由对该连接没有控制权的  
    //  程序发出。该函数可以以简要  
    //  模式打印调试信息。  
    int lrt_tprecv ( int cd, char **data, long *len, long flags, long *revent );  
      
    // lrt_tpresume  函数继续执行全局事务。它  
    //  与  lrt_tpsuspend  语句结合使用。  
    int lrt_tpresume ( TPTRANID *tranid, long flags );  
      
    // lrt_tpscmt  函数与  lrt_tpcommit  结合使用,  
    //  设置  lrt_tpcommit  应在何时返回。  
    int lrt_tpscmt ( long flags );  
      
    // lrt_tpsend  函数通过打开的连接  
    //  将消息发送到另一个程序。调用方  
    //  必须拥有连接控制权。它与  
    // lrt_tprecv  结合使用。该函数可以以  
    //  简要模式打印调试信息。  
    int lrt_tpsend ( int cd, char *data, long len, long flags, long *revent );  
      
    // lrt_tpsetunsol  函数  
    //  设置在接收到未经请求的消息时调用的回调过程。  
    //  回调过程必须在外部  DLL   中定义,  
    //  并具有以下原型:  
    void *lrt_tpsetunsol ( void *func );  
      
    // lrt_tpsprio  函数设置下一个  
    //  发送或转发请求的优先级。  
    int lrt_tpsprio ( int prio, long flags );  
      
    // lrt_tpstrerror  函数检索  System/T  错误
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2022-5-8 19:23
  • 签到天数: 137 天

    连续签到: 1 天

    [LV.7]测试师长

    116#
     楼主| 发表于 2014-8-31 11:48:19 | 只看该作者
    //  的错误消息字符串。  
    char *lrt_tpstrerror ( int err );  
      
    // lrt_tpsuspend  函数挂起全局事务。  
    //  它与  lrt_tpresume  语句结合使用。  
    int lrt_tpsuspend ( TPTRANID *tranid, long flags );  
      
    // lrt_tpterm  函数从  System/T  应用程序中  
    //  删除客户端。如果客户端处于事务  
    //  模式,则回滚该事务。  
    int lrt_tpterm ( );  
      
    // lrt_tptypes  函数确定有关类型化缓冲区的信息。  
    long lrt_tptypes ( char *ptr, char *type, char *subtype );  
      
    // lrt_tuxgetenv  函数在环境列表中搜索与环境名称  
    //  相对应的值  
    //   。在通常没有环境变量的平台上,  
    //  该函数对不同平台间环境值的  
    //  可移植性非常有用。  
    char *lrt_tuxgetenv ( char *name );  
      
    // lrt_tuxputenv  函数更改现有  
    //  环境变量的值,或者新建一个变量。  
    //  使用  lrt_set_env_list  确定  
    //  可以设置的变量。在通常没有环境变量的平台上,  
    //  该函数对不同平台间环境值的  
    //  可移植性非常有用。默认  
    //  情况下,lrt_tuxputenv  只允许更改  WSNADDR ,  
    //  使用  lrt_set_env_list  时除外。  
    int lrt_tuxputenv (char *string);  
      
    // lrt_tuxreadenv  函数读取包含  
    //  环境变量的文件,并将其添加到环境中。  
    //  在通常没有环境变量的平台上,  
    //  该函数对不同平台间环境值的  
    //  可移植性非常有用。  
    int lrt_tuxreadenv ( char *file, char *label );  
      
    // lrt_tx_begin  函数开始一个全局事务。  
    int lrt_tx_begin ( );  
      
    // lrt_tx_close  函数关闭一组资源管理器。  
    //  该函数与  lrt_tx_open  结合使用。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2022-5-8 19:23
  • 签到天数: 137 天

    连续签到: 1 天

    [LV.7]测试师长

    117#
     楼主| 发表于 2014-8-31 11:48:25 | 只看该作者
    int lrt_tx_close ( );  
      
    // lrt_tx_commit  函数提交一个全局事务。  
    int lrt_tx_commit ( );  
      
    // lrt_tx_info  函数返回全局事务信息。  
    int lrt_tx_info ( TXINFO *info );  
      
    // lrt_tx_open  函数打开一组资源管理器。  
    //  该函数与  lrt_tx_close  结合使用。  
    int lrt_tx_open ( );  
      
    // lrt_tx_rollback  函数回滚一个全局事务。  
    int lrt_tx_rollback ( );  
      
    // lrt_tx_set_commit_return  函数将  commit_return  
    //  特征设置为  when_return  中指定的值。  
    int lrt_tx_set_commit_return ( COMMIT_RETURN when_return );  
      
    // lrt_tx_set_transaction_control  函数将  transaction_control  
    //  特征设置为  control   中指定的值。  
    int lrt_tx_set_transaction_control ( TRANSACTION_CONTROL control );  
      
    // lrt_tx_set_transaction_timeout  函数将  transaction_timeout  
    //  特征设置为  timeout  中指定的值。  
    int lrt_tx_set_transaction_timeout ( TRANSACTION_TIMEOUT timeout );  
      
    // lr_advance_param  函数使脚本使用  
    //  参数的下一个可用值。如果要  
    //  运行多次循环,可以在  
    //  参数属性中指定自动前进到  
    //  每次循环的下一个值。在某次循环中使用该函数  
    //  可前进到下一个值。  
    int lr_advance_param ( const char * param);  
      
    // lr_abort  函数中止脚本  
    //  的执行。它停止  Actions  部分的执行,  
    //  执行  vuser_end  部分,然后  
    //  结束该执行。当因特定的错误情况  
    //  需要手动中止运行时,  
    //  该函数非常有用。使用该函数  
    //  结束运行时,状态为“停止”。  
    void lr_abort( );
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2022-5-8 19:23
  • 签到天数: 137 天

    连续签到: 1 天

    [LV.7]测试师长

    118#
     楼主| 发表于 2014-8-31 11:48:32 | 只看该作者
    // lr_continue_on_error  函数指定如何  
    //  处理错误。如果发生错误,可以选择  
    //  继续运行,或者中止运行执行。  
    void lr_continue_on_error ( int value );  
      
    // lr_convert_string_encoding  在下列编码  
    //  之间转换字符串编码:系统区域设置、Unicode  和  UTF-8 。  
    //  该函数将结果字符串(包括其终止  
    //  结果字符串  NULL )保存在参数  paramName   中。  
    int lr_convert_string_encoding ( const char *sourceString, const char *fromEncoding, const char  
    *toEncoding, const char *paramName);  
      
    // lr_debug_message  函数在指定的消息级别  
    //  处于活动状态时发送一条调试消息。如果指定的  
    //  消息级别未处于活动状态,则不发出消息。  
    //  您可以从用户界面  
    //  或者使用  lr_set_debug_message ,将处于活动状态的消息级别  
    //  设置为  MSG_CLASS_BRIEF_LOG  或  MSG_CLASS_EXTENDED_LOG 。要确定当前级
    别,  
    //  请使用  lr_get_debug_message 。  
    int lr_debug_message (unsigned int message_level, const char * format, ... );  
      
    // lr_decrypt  函数对已编码的字符串进行解密。  
    //  该函数在录制过程中生成,以便  
    //  对密码进行编码。VuGen  录制实际的密码,  
    //  但在  lr_decrypt function  函数中  
    //  显示密码的编码版本。  
    char * lr_decrypt (const char *EncodedString);  
      
    // lr_disable_ip_spoofing  在脚本运行过程中禁用  IP  欺骗。  
    int lr_disable_ip_spoofing ( );  
      
    // lr_enable_ip_spoofing  在脚本运行过程中启用  IP  欺骗。  
    int lr_enable_ip_spoofing ( );  
      
    // lr_end_sub_transaction  函数标记  
    //  子事务的结束。要标记子事务的  
    //  开始,请使用  lr_start_sub_transaction  
    //  函数。应紧接子事务步骤前后  
    //  插入这些函数。  
    int lr_end_sub_transaction (const char * sub_transaction, int status );  
      
    // lr_end_transaction  函数标记事务的  
    //  结束,并录制执行事务
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2022-5-8 19:23
  • 签到天数: 137 天

    连续签到: 1 天

    [LV.7]测试师长

    119#
     楼主| 发表于 2014-8-31 11:48:41 | 只看该作者
    //  所用的时间量。要指明希望分析的事务,  
    //  请在事务之前放置  lr_start_transaction  
    //  函数,并在事务之后  
    //  放置  lr_end_transaction  函数。  
    int lr_end_transaction (const char * transaction_name, int status ) ;  
      
    // lr_end_transaction_instance  函数标记  
    //  事务实例的结束,并录制  
    //  执行事务所用的时间量。要指明  
    //  希望分析的事务实例,请在  
    //  事务之前放置  lr_start_transaction_instance  函数,  
    //  并在事务之后  
    //  放置  lr_end_transaction_instance  函数。  
    int lr_end_transaction_instance (long parent_handle, int status );  
      
    // lr_end_timer  停止在调用  lr_start_timer  时开始计时的  
    //  计时器。它以秒为单位返回已用时间。  
    //  分辨率取决于运行时环境。  
    //  最大分辨率为一微秒。  
    double lr_end_timer (merc_timer_handle_t timer);  
      
    // lr_eval_string  函数在评估任何嵌入的参数之后  
    //  返回输入字符串。如果字符串  
    //  实参  (argument)  只包含一个形参  (parameter) ,该函数  
    //  返回形参的当前值。  
    char * lr_eval_string (const char * instring );  
      
    // lr_eval_string_ext  函数通过将参数替换为  
    //  字符串值来评估  in_str 。  
    //  它创建包含扩展字符串的缓冲区,  
    //  并将  out_str  设置为指向该缓冲区。它还  
    //  将缓冲区的长度分配给  out_len 。  
    int lr_eval_string_ext (const char * in_string, unsigned long const in_len, char ** const out_str,  
    unsigned long * const out_len, unsigned long const options, const char *file, long const line );  
      
    // lr_eval_string_ext_free  函数释放  
    // lr_eval_string_ext  分配的内存。  
    void lr_eval_string_ext_free (const char **param);  
      
    // lr_error_message  函数将错误消息发送到  
    //  输出窗口和  Vuser   日志文件。要发送  
    //  不是特定错误消息的特殊通知,  
    //  请使用  lr_output_message 。  
    int lr_error_message (const char * format, exp1, exp2,...expn. );
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2022-5-8 19:23
  • 签到天数: 137 天

    连续签到: 1 天

    [LV.7]测试师长

    120#
     楼主| 发表于 2014-8-31 11:48:55 | 只看该作者
    //  使用  lr_exit  函数可在执行过程中  
    //  退出脚本运行。  
    void lr_exit (int continuation_option, int exit_status);  
      
    // lr_fail_trans_with_error  函数使用  
    // lr_end_transaction  语句中的  LR_AUTO ,将所有  
    //  打开事务的默认退出状态设置为  LR_FAIL ,  
    //  并发送错误消息。  
    int lr_fail_trans_with_error (const char * format, exp1, exp2,...expn.);  
      
    // lr_get_attrib_double  函数返回  
    //  命令行参数的值,其类型为  
    //  双精度浮点型。应将命令行参数的名称  
    //  放置在函数的实参  (argument)  字段,lr_get_attrib_double  将返回  
    //  该参数的值。  
    double lr_get_attrib_double (const char * parameter);  
      
    // lr_get_attrib_long  函数返回  
    //  命令行参数的值,其类型为长整型。  
    //  应将命令行参数名称放置在  
    //  函数的实参  (argument)  字段,lr_get_attrib_long  
    //  将返回该参数的值。  
    long lr_get_attrib_long (const char * parameter);  
      
    // lr_get_attrib_string  函数返回命令行  
    //  参数字符串。应将参数名称放置在函数的  
    // argument  字段,lr_get_attrib_string  将返回  
    //  与该参数关联的字符串值。  
    char * lr_get_attrib_string (const char * argument);  
      
    // lr_get_debug_message  函数返回当前的  
    //   日志运行时设置。该设置确定  
    //  发送到输出端的信息。日志设置是  
    //  使用运行时设置对话框或通过使用  
    // lr_set_debug_message  函数指定的。  
    unsigned int lr_get_debug_message ( );  
      
    // lr_get_host_name  函数返回  
    //  执行脚本的计算机的名称。  
    char * lr_get_host_name ( );  
      
    // lr_get_vuser_ip  函数返回  Vuser  的  
    // IP  地址。执行  IP  欺骗时,每个  Vuser  都  可以使用不同的地址。使用该函数可以确定  
    //  当前  Vuser   的  IP  地址。
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-7 22:43 , Processed in 0.080425 second(s), 21 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表