The first of fprintf() is a FILE*. Now, normally you wouldn't pass one of those around by reference, only by value (unless you actually wanted to assign it a new value). So, I'm guessing your use is incorrect.
So, it might look like this:
Without seeing more of your code its hard to tell what's wrong.
fp = fopen("myfile.txt", "w");
/* Do some error checking */
func2(fp, "this text");
void func2(FILE *myfp, char Message)
void func3(FILE *anotherfp, char Message)
fprintf(anotherfp, "%s", Message);