@@ -332,6 +332,8 @@ Func _GPUHWIDCheck($sGPU)
332332 Local $iMatch
333333 Local $iStart
334334 Local $aGPUIDs [0 ]
335+
336+ Local $aReturn [3 ] = [0 , 0 , False ] ; Error, Extended, Return
335337
336338 If StringInStr ($sGPU , " , " ) Then ; Split multiple GPUs
337339 $aGPUIDs = StringSplit ($sGPU , " , " , $STR_ENTIRESPLIT + $STR_NOCOUNT )
@@ -342,20 +344,25 @@ Func _GPUHWIDCheck($sGPU)
342344
343345 For $iLoop = 0 To UBound ($aGPUIDs ) - 1 Step 1
344346 $aGPU = StringSplit ($sGPU , " &" , $STR_NOCOUNT )
345- If UBound ($aGPU ) < 2 Then Return False
347+ If UBound ($aGPU ) < 2 Then ContinueLoop
346348
347349 $aIDs = FileReadToArray (@LocalAppDataDir & " \WhyNotWin11\PCI.ids" )
348- If @error Then Return SetError (1 , 0 , False )
350+ If @error Then
351+ $aReturn [0 ] = 0
352+ $aReturn [1 ] = 3
353+ ExitLoop
354+ EndIf
349355
350356 $iStart = _ArraySearch($aIDs , " ^" & StringReplace ($aGPU [0 ], " PCI\VEN_" , " " ), 0 , 0 , 0 , 3 )
351357 $iEnd = _ArraySearch($aIDs , " ^[0-9a-f]" , $iStart + 1 , 0 , 0 , 3 )
352358 $iMatch = _ArraySearch($aIDs , " ^" & @TAB & StringLower (StringReplace ($aGPU [1 ], " DEV_" , " " )), $iStart + 1 , $iEnd , 0 , 3 )
359+ If @error Then ContinueLoop
353360
354- If $iMatch Then
355- If _GPUNameCheck($aIDs [$iMatch ]) Then Return SetError ( 0 , 0 , True )
361+ If $iMatch Then
362+ If _GPUNameCheck($aIDs [$iMatch ]) Then $aReturn [ 2 ] = True
356363 EndIf
357364 Next
358- Return SetError (0 , 0 , False )
365+ Return SetError ($aReturn [ 0 ], $aReturn [ 1 ], $aReturn [ 2 ] )
359366EndFunc
360367
361368Func _InternetCheck()
0 commit comments