This is C, not C# or C++: you don't have references - all parameters in C are passed by value (i.e. a copy of the variable content is passed to the function, not the variable itself).
To pass a "reference" you pass the address of the variable and receive it in the function as a pointer:
void InitEvents(HANDLE* phEvent1 ...)
*phEvent1 = CreateEvent(...);
HANDLE h1, h2;