﻿id	summary	reporter	owner	description	type	status	milestone	component	version	severity	resolution	keywords	cc
3971	Integer not handled properly when calling object method	BiatuAutMiahn@…		"

{{{#!autoit
#include <WinAPIError.au3>
Global $oErrorHandler = ObjEvent(""AutoIt.Error"", ""COMErrorHandler"")

Func COMErrorHandler()
    ConsoleWrite(_WinAPI_GetLastErrorMessage()&@CRLF)
    Local $errorDescription = $oErrorHandler.description
    ConsoleWrite(""COM Error occurred: "" & @error & @CRLF & ""Description: "" & $errorDescription)
EndFunc

$wbemFlagReturnImmediately = 0x10
$wbemFlagForwardOnly = 0x20
$colItems = """"

$Output=""""
$Output = $Output & ""Computer: "" & $strComputer  & @CRLF
$Output = $Output & ""=========================================="" & @CRLF
$objWMIService = ObjGet(""winmgmts:\\.\root\Microsoft\Windows\Storage"")
$colItems = $objWMIService.ExecQuery('SELECT * FROM MSFT_Disk', ""WQL"", _
                                          $wbemFlagReturnImmediately + $wbemFlagForwardOnly)

Local $iMBytes=1024*1024
Local $iGBytes=1024*$iMBytes
Local $iSizeEfi=512*$iMBytes
Local $iSizeMsr=128*$iMBytes
Local $iSizeRec=$iGBytes


If IsObj($colItems) then
   For $objItem In $colItems
      If $objItem.Path<>""\\?\usbstor#disk&ven_iodd&prod__vhdd_gadget_1&rev_#230603390000000092&3#{53f56307-b6bf-11d0-94f2-00a0c91efb8b}"" Then ContinueLoop
      $objItem.Clear(1,1)&@CRLF)
      $objItem.Initialize(2)&@CRLF)
      $objItem.Refresh()&@CRLF)
      $objItem.CreatePartition($iSizeEfi); works
      $objItem.CreatePartition($iSizeMsr); works
      $objItem.CreatePartition(2147483647)&@CRLF); Works
      $objItem.CreatePartition(2147483648)&@CRLF); Fails
      $objItem.CreatePartition(16*$iGBytes)&@CRLF); Fails
      ExitLoop
   Next
Else
   Msgbox(0,""WMI Output"",""No WMI Objects Found for class: "" & ""MSFT_Disk"" )
Endif

Func ConvertSize($iSize, $iPrecision = 2)
    Local Const $aUnits = StringSplit(""|K|M|G|T|P|E|Z|Y"",'|',2)
    Local $iUnit = Int(Log($iSize)/Log(1024))
    Return String(Round($iSize / 1024 ^ $iUnit, $iPrecision)) & ' ' & $aUnits[$iUnit] & ""B""
EndFunc

}}}

Calling CreatePartition with any integer greater than 2147483647 fails with Type Mismatch."	Bug	closed		AutoIt	3.3.14.0	None	No Bug		
