Get local networks printer name and IP address (not-installed)

I have looked for this everywhere but couldn't find a way to get IP address and name of printers on the local area network.

I have tried ManagementObjectSearcher with Win32_Printer and Win32_TCPIPPrinterPort but it only shows already installed printers.(I just only looked at the namespace "root\CIMV2")

I tried to get all IP and MAC addresses connected to the network but cannot filter the Printers from it.

I am trying with C# but if anyone can show any programmatic way to get this done would be a great help.

(I was referring this topic which explains how to get already installed printers)