我正在看这段代码:
$diag_cmd = pack("CCSV", DIAG_SUBSYS_CMD_F, DIAG_SUBSYS_PWRDB, PWRDB_DIAG_PKT_SCRIPT | $processor_select, length($s_part)) . $s_part;
$diag_request_var = Variant(VT_ARRAY | VT_UI1, length $diag_cmd);
$diag_request_var->Put($diag_cmd);
Run Code Online (Sandbox Code Playgroud)
其中Variant的定义如下:
sub Variant {
return Win32::OLE::Variant->new(@_);
}
Run Code Online (Sandbox Code Playgroud)
我不确定它做了什么以及PUT在Perl中实际做了什么.
有任何想法吗?
Put 不是Perl附带的标准功能.
在这种情况下,您有一个名为$diag_request_varclass 的对象Win32::OLE::Variant.Put是这个对象的方法.
要了解Perl附带的标准功能,请参阅: perldoc perlfunc