Understanding H5Ocopy error codes

I have a HDF5 file that was created using h5py. I am attempting to copy a particular group from this file into a different HDF5 file using C++. Using HDFView (or h5py), the source file appears to be valid and I can browse the group, yet H5Ocopy returns a -1 when trying to copy.

How should I interpret a -1 return code? How can I determine what is wrong with my source HDF5 file? Is there a better way to copy groups between HDF5 files than using H5Ocopy?

I am fairly new to HDF5 and using version 1.8.20-3 on Fedora 28.