code: public static long registerNatives(Class<?> clazz, String nativeDescriptorName, Object[] extraInfo) {
          if (!initialized) {
              if (loadFailure != null) {
                  Error e = new UnsatisfiedLinkError();
                  e.initCause(loadFailure);
                  throw e;
              } else {
                  return 0;
              }
          }
  
          return ntv_registerNatives(clazz, nativeDescriptorName, extraInfo);
      }
docs: Register native methods from the core DLL for the specified class and drive the
  registration hooks.
  
  @param clazz the class to link native methods for
  @param nativeDescriptorName the name of the exported {@code NativeMethodDescriptor} structure
  @param extra information provided to the registration callback by the caller
  
  @throws UnsatisfiedLinkError if an error occurs during resolution or registration
  
  @return the native DLL handle reference for this class or the error return code