Check first how they used - for example in apci.sys:
push offset _AcpiEmProviderHandle
push 2 ; arg4
push offset _CallbackReg ; arg3
push 2 ; arg2
push offset _EntryReg ; arg1
push [ebp+arg_0]
call _EmProviderRegister
Clear enough - arg1 is pointer to some EmpEntries, arg2 is size of EmpEntries, arg3 is pointer to EmpCallbacks and arg4 is size of EmpCallbacks. Last arg returns registered HANDLE. Lets check how EmpEntries & EmpCallbacks look: