IDirectInputDevice8::Initialize

Initializes a DirectInputDevice object. The IDirectInput8::CreateDevice method automatically initializes a device after creating it; applications normally do not need to call this method.

HRESULT Initialize(
  HINSTANCE hinst,
  DWORD dwVersion,
  REFGUID rguid
);

Parameters

hinst
Instance handle to the application or dynamic-link library (DLL) that is creating the DirectInputDevice object. DirectInput uses this value to determine whether the application or DLL has been certified and to establish any special behaviors that might be necessary for backward compatibility. It is an error for a DLL to pass the handle to the parent application. For example, a Microsoft ActiveX control embedded in a Web page that uses DirectInput must pass its own instance handle, and not the handle to the browser. This ensures that DirectInput recognizes the control and can enable any special behaviors that may be necessary.
dwVersion
Version number of DirectInput for which the application is designed. This value is normally DIRECTINPUT_VERSION. Passing the version number of a previous version causes DirectInput to emulate that version.
rguid
Reference to (C++) or address of (C) the globally unique identifier (GUID) identifying the instance of the device with which the interface should be associated. The IDirectInput8::EnumDevices method can be used to determine which instance GUIDs are supported by the system.

Return Values

If the method succeeds, the return value is DI_OK or S_FALSE. If the method returns S_FALSE, the device had already been initialized with the instance GUID passed in though rGUID. If the method fails, the return value can be one of the following error values: DIERR_ACQUIRED, DIERR_DEVICENOTREG.

Remarks

If this method fails, the underlying object should be considered to be in an indeterminate state and must be reinitialized before use.

Requirements

Header: Declared in Dinput.h.