If the call to ComponentActivator.LoadAssemblyAndGetFunctionPointer fails it doesn't reset the value of the output parameter to null. It will leave potentially "random" value in it. It would be cleaner to reset the value to null.
Similarly for GetFunctionPointer.