Hackproof
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Кто-нибудь, знающий С может перевести эту строку в AutoIt? Код: BOOL SnmpMgrCtl( __in LPSNMP_MGR_SESSION session, __in DWORD dwCtlCode, __in LPVOID lpvInBuffer, __in DWORD cbInBuffer, __out LPVOID lpvOutBuffer, __out DWORD cbOutBuffer, __out LPDWORD lpcbBytesReturned ); | Я сделал так. Красиво, но не работает... Код: $c=dllcall("mgmtapi.dll", "str","SnmpMgrCtl","str",$session,"dword","MGMCTL_SETAGENTPORT","int",$port, "dword",StringLen($port),"none","0","dword","0", "dword*",$result) | Собственно, если нужно - вот предшествующие функции. Обе работают, спотыкалка только на последней. Код: #include <array.au3> $dll=DllOpen("mgmtapi.dll") $session=dllcall("mgmtapi.dll", "int","SnmpMgrOpen","str", "10.230.18.244", "str", "public", "int", "100","int","1") _ArrayDisplay($session) dim $OID $oidstring = ".1.3.6.1.2.1" $b=dllcall("mgmtapi.dll", "int","SnmpMgrStrToOid","str", $oidstring, "str", $OID) ConsoleWrite($OID) _ArrayDisplay($b) dim $result $port=161 $c=dllcall("mgmtapi.dll", "int","SnmpMgrCtl","str",$session,"dword","MGMCTL_SETAGENTPORT","int",$port, "dword",StringLen($port),"none","0","dword","0", "dword*",$result) ConsoleWrite($c&$result) ConsoleWrite(IsArray($c)&IsArray($result)) ConsoleWrite(IsPtr($c)&IsPtr($result)) DllClose($dll) |
|