下面这句话有什么东东?请教该如何改

下面这句话有什么错误?请问该怎么改?
下面这句话有什么错误?请问该怎么改?


C/C++ code
    AMobileDeviceModuleImpl& module = AMobileDeviceModule::GetInstance();
    module.Load();
    (*module.lpf_AMDeviceNotificationSubscribe)(&AMobileDeviceListenerImpl::AMDeviceNotificationCallback, 0, 0, 0,&lpAMDeviceNotification);



am_device_notification        lpAMDeviceNotification;



error C2664: 'mach_error_t (am_device_notification_callback,unsigned int,unsigned int,unsigned int,am_device_notification **)' : cannot convert parameter 5 from 'am_device_notification *' to 'am_device_notification **'
1> Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast




------解决方案--------------------
说的是 第五个参数 错误。。
am_device_notification lpAMDeviceNotification;
改成瞧瞧
am_device_notification *lpAMDeviceNotification;








------解决方案--------------------
把&lpAMDeviceNotification 的引用去掉
------解决方案--------------------
定义成指针

C/C++ code
am_device_notification*      lpAMDeviceNotification;