PHP、COM对象和out参数

PHP、COM对象和out参数,php,com,Php,Com,我使用PHP处理COM对象,COM对象的函数参数之一是“out”参数。PHP是如何处理这些问题的 示例(ModifyParam可以执行任何操作,例如输出当天的单词或提供对象): 该示例基于实际代码,该代码输出对象数组或字符串数组。但真正的代码并没有输出列表。据我所知(如果我在这里出错,您可以纠正我)[out]参数表示存储结果的变量。因此,如果COM对象中有此方法: GetUserInfo([in] long machineID, [out] long* userID, [out] BSTR* u

我使用PHP处理COM对象,COM对象的函数参数之一是“out”参数。PHP是如何处理这些问题的

示例(ModifyParam可以执行任何操作,例如输出当天的单词或提供对象):

该示例基于实际代码,该代码输出对象数组或字符串数组。但真正的代码并没有输出列表。

据我所知(如果我在这里出错,您可以纠正我)[out]参数表示存储结果的变量。因此,如果COM对象中有此方法:

GetUserInfo([in] long machineID, [out] long* userID, [out] BSTR* userName)
[in]
参数表示参数,
[out]
参数是将被写入的结果变量,非常类似于
MySQLi::bind_result()
方法的工作方式。使用上述方法的示例代码(假设COM对象已正确设置):

$obj=newcom('Namespace.Class');
//这是[in]参数,我们要检查的机器编号。
$machineID=1
//根据API使用正确的类型定义[out]变量。
$userID=0;
$userName='';
//调用COM方法。
$obj->GetUserInfo($machineID,$userID,$userName);
//打印结果。
echo“用户ID:$userID
”; echo“用户名:$userName”;
我已经很久没有做过这个了。我记不起当时的问题是什么。无论如何,谢谢你的解释,也许有一天它会派上用场的。
GetUserInfo([in] long machineID, [out] long* userID, [out] BSTR* userName)
$obj = new COM('Namespace.Class');

// This is the [in] parameter, the machine number we wanted to inspect.
$machineID = 1

// Define [out] variables with the correct type, according to the API.
$userID = 0;
$userName = '';

// Call the COM method.
$obj->GetUserInfo($machineID, $userID, $userName);

// Print the results.
echo "User ID: $userID<br />";
echo "User Name: $userName";