When I change the NI USB CAN port number from something like CAN0 to CAN3, the command to discover the set port:
Status = ncGetHardwareInfo(index, 1, NC_ATTR_HW_FORMFACTOR, 4, port_check);
does not see the change, port_check[0] = 0, but it should be 3, as that is what it was changed to in NI MAX. If I set it back to 0 the Get Hardware will read it correctly. If I tinker with it for a LONG time when set to CAN3, the Get Hardware call will EVENTUALLY read 3.
I don't have this problem with PCI CAN, that reads the change first time and every time I change it.
So, what is it with NI USB CAN that it isn't reading the change right away?