The errors would be better listed in reverse order, as it is how they relate to the steps being taken internally.
1. “Cannot connect Data Access client (timeout).” (ErrorCode=-1073430527)
This covers the process that leads to connection to the “OPCServer” object inside the OPC Server. It includes (roughly) steps such as converting the ProgID to CLSID (locally or using remote OPCEnum), then calling CoCreateInstance to create the OPCServer object, obtaining interfaces from it, and hooking up (Advise) a connection point to it (for IOPCServerShutdown). If a serious error occurs during these steps, that particular error is returned. But if anything in this process simply takes too much time or blocks forever, and thus the whole process is not completed during the timeout period, the “Cannot connect Data Access client (timeout).” is returned.
2. “Cannot connect topic (timeout).” (ErrorCode=-1073430526)
This error can only happen if the ABOVE process succeeded, and it covers the process that leads from where the above part ended, up to the connection to the “OPCItem”. It includes (roughly) steps such as calling IOPCServer::AddGroup, obtaining variuos interfaces form the group, hooking up (Advise) a connection point for the actual data callbacks, and calling AddItems on the group, in order to actually add the items to the group. As with the above error, if a serious error occurs during these steps, that particular error is returned. But if anything in this process simply takes too much time or blocks forever, the “Cannot connect topic (timeout).” is returned.
Best regards