关于directinput中接入游戏杆的一个问题

在joystick初始化中,

 HRESULT hr;

    if(NULL == m_lpDI)
    {
        hr = DirectInput8Create(m_hInstance,DIRECTINPUT_VERSION,IID_IDirectInput8,(void**)&m_lpDI,
             NULL);
    }
    if FAILED(hr)
    {

        //OutputDebugString("Create 失败 - in CJoystick::Initialise/n");
        OutputDebugString(_T( "Create 失败 - in CJoystick::Initialise/n" ));
        return false;
    }

    ENUM_DEV_CONTEXT enumDevContext;
    enumDevContext.lpDIinput=m_lpDI;
    //enumDevContext.lpDIDevice=m_lpDIDevice;
    enumDevContext.lppDIDevice=&m_lpDIDevice;


    hr = m_lpDI->EnumDevices( DI8DEVCLASS_GAMECTRL,DIEnumDevicesCallback,&enumDevContext,
        DIEDFL_ATTACHEDONLY | DIEDFL_FORCEFEEDBACK);
        if FAILED(hr)
    {   
        OutputDebugString(_T("枚举设备失败 - in CJoystick::Initialise/n"));
        return false;
    }

    if( NULL == m_lpDIDevice )
    {
        OutputDebugString(_T("创建设备失败 - in CJoystick::Initialise/n"));
        return false;
    }

当我逐步执行时到最后时会进入到if语句中,创建设备失败,是不是因为不同的操纵杆对应的程序中某部分的参数需要调节,使用其他型号的操纵杆可以运行

http://blog.csdn.net/playboy1/article/details/6885461