PHP,COM对象和输出参数

时间:2011-05-31 22:29:56

标签: php com

我正在使用PHP来处理COM对象,其中一个COM对象的函数参数是一个“out”参数。 PHP如何使用这些?

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

$MyCom = new COM("APPLib.APP");

$outParam;
//APP.ModifyParam(out object pParam)
$MyCom->ModifyParam($outParam);

var_dump($outParam); //NULL

该示例基于实际代码,该代码输出将是对象数组或字符串数​​组。实际代码不会输出列表。

1 个答案:

答案 0 :(得分:1)

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

GetUserInfo([in] long machineID, [out] long* userID, [out] BSTR* userName)

[in]参数表示参数,[out]参数是将被编写的结果变量,与MySQLi::bind_result()方法的工作方式非常相似。使用上述方法的示例代码(假设已正确设置COM对象):

$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";