init Init

@ stdcall DirectInputCreateA(long long ptr ptr) DirectInputCreateA
@ stub DirectInputCreateW
@ stdcall DirectInputCreateEx(long long ptr ptr ptr) DirectInputCreateEx
@ stdcall DllCanUnloadNow() DINPUT_DllCanUnloadNow
@ stdcall DllGetClassObject(ptr ptr ptr) DINPUT_DllGetClassObject
@ stdcall DllRegisterServer() DINPUT_DllRegisterServer
@ stdcall DllUnregisterServer() DINPUT_DllUnregisterServer
