That happens here too in Win10/Win11 using your code.  It looks like Microsoft 
altered the COM object for you not to be able to do a GetNetwork or GetCategory 
on the connection object, but that seems odd since it basically renders the 
object pointless.

P.S. some powershell code doesn't seem to be able to access the GetNetwork 
function either.

$networkListManager = 
[Activator]::CreateInstance([Type]::GetTypeFromCLSID([Guid]"{DCB00C01-570F-4A9B-8D69-199FDBA5723B}"))
$connections = $networkListManager.GetNetworkConnections()

$connections |foreach {
    $_.GetNetwork()
}

Element not found. (Exception from HRESULT: 0x8002802B (TYPE_E_ELEMENTNOTFOUND))
At line:2 char:5
+     $_.GetNetwork()
+     ~~~~~~~~~~~~~~~
    + CategoryInfo          : OperationStopped: (:) [], COMException
    + FullyQualifiedErrorId : System.Runtime.InteropServices.COMException

Steven
-----Original Message-----
From: python-win32 <python-win32-bounces+steven=manross....@python.org> On 
Behalf Of cwa...@gmail.com
Sent: Wednesday, May 3, 2023 7:00 AM
To: python-win32@python.org
Subject: [python-win32] GetNetworkConnections fails since a Windows update

Hello.

After a recent update on Windows 10, I not able to tell exactly which, I've a 
strange behavior on a program that works fine since 2015 on thousands of 
machines...



* With this code :

def networks_private():
     NETWORK_CATEGORIES = {1: "PRIVATE",0: "PUBLIC", 2: "DOMAIN"}
     m = win32com.client.Dispatch("{DCB00C01-570F-4A9B-8D69-199FDBA5723B}")
     more = 1
     pos = 1
     connections = m.GetNetworkConnections()
     while more:
         connection, more = connections.Next(pos)
         if connection:
             network = connection.GetNetwork()
             category = network.GetCategory()
             try:
                 log('switching network interface in private mode')
                 network.SetCategory(1)
             except:
                 log("error switching network interface in private mode")
         pos += 1



* I get this error :

Traceback (most recent call last):
[...]
File "Frame1.pyo", line 163, in _init_
File "fonctions.pyo", line 201, in networks_private File 
"win32com\client\dynamic.pyo", line 522, ingetattr_
AttributeError: Next.GetNetwork



Regards, thanks.

_______________________________________________
python-win32 mailing list
python-win32@python.org
https://mail.python.org/mailman/listinfo/python-win32
_______________________________________________
python-win32 mailing list
python-win32@python.org
https://mail.python.org/mailman/listinfo/python-win32

Reply via email to