Привет.
Помогите сделать вызов.
Есть API фукция
//////////////////////////////////////////////////////////////////////////////////
//
// Name: SwiRegisterCallback - to register a callback function
//
// Purpose: This function registers the application's callback function to receive
// event notifications.
//
// Parameters:
//
// pCallback[OUT]: callback function pointer
//
// Return: SWI_RCODE_OK - the request has been received by the modem
// SWI_RCODE_INVALID_PAR - an invalid parameter was passed
//
// Notes: The application calls this function once, to register a handler for all
// event notifications.
///////////////////////////////////////////////////////////////////////////////////
SWI_API SWI_RCODE SwiRegisterCallback (SWI_CALLBACK_EX pCallback);
Где SWI_CALLBACK_EX,
typedef void (*SWI_CALLBACK_EX)(SwiNotifyVariant *pNotify);
Где SwiNotifyVariant,
struct SwiNotifyVariant
{
SWI_TYPE_Notify eNotify;
union
{
SWI_STRUCT_HeartBeat _HeartBeat;
SWI_STRUCT_NetworkStatus _NetworkStatus;
SWI_STRUCT_Rssi _Rssi;
SWI_STRUCT_Temperature _Temperature;
SWI_STRUCT_SMS_Status _SmsStatus;
SWI_STRUCT_SMS_SimFull _SmsSimFull;
SWI_STRUCT_Reset _Reset;
SWI_STRUCT_Band _Band;
SWI_STRUCT_Band _BandWrite;
SWI_STRUCT_HeadsetState _HeadsetState;
SWI_STRUCT_MissedCall _MissedCall;
SWI_STRUCT_PktSessionStatus _PktSessionStatus;
SWI_STRUCT_Registration _Registration;
SWI_STRUCT_TransmitAlert _TransmitAlert;
SWI_STRUCT_SMS_SendReference _SmsSendReference;
SWI_STRUCT_SMS_SendStatus _SmsSendStatus;
SWI_STRUCT_SIM_StatusExp _SimStatusExp;
SWI_STRUCT_CALL_EXP_Progress _CallProgress;
SWI_STRUCT_CALL_Status _CallStatus;
SWI_STRUCT_ByteCounter _ByteCounter;
SWI_STRUCT_Debug _Debug;
SWI_STRUCT_FwDownload _FwDownload;
SWI_STRUCT_Power _Power;
SWI_STRUCT_Dhcp _Dhcp;
SWI_STRUCT_PPP _PPP;
SWI_STRUCT_SmsReady _SmsReady;
SWI_STRUCT_PhonebookReady _PhonebookReady;
SWI_STRUCT_PlmnAvailable _PlmnAvailable;
SWI_STRUCT_PlmnMode _PlmnMode;
SWI_STRUCT_ModemDisabled _ModemDisabled;
SWI_STRUCT_SS_PasswordStatus _SSPasswordStatus;
SWI_STRUCT_SS_RespOK _SSRespOK;
SWI_STRUCT_SS_RespFwdInfo _SSRespFwdInfo;
SWI_STRUCT_SS_RespCallBar _SSRespCallBar;
SWI_STRUCT_SS_RespInfoData _SSRespInfoData;
SWI_STRUCT_SS_RespStatus _SSRespStatus;
SWI_STRUCT_SS_RespFwdNum _SSRespFwdNum;
SWI_STRUCT_SS_RespBSList _SSRespBSList;
SWI_STRUCT_SS_RespListFwdInfo _SSRespFwdList;
SWI_STRUCT_SS_RespRaw _SSRespRaw;
SWI_STRUCT_SS_RespPassword _SSRespPassword;
SWI_STRUCT_SS_RespClir _SSRespClir;
SWI_STRUCT_SS_RespError _SSRespError;
SWI_STRUCT_SS_RespReject _SSRespReject;
SWI_STRUCT_SS_RespCancel _SSRespCancel;
SWI_STRUCT_SS_RespRelease _SSRespRelease;
SWI_STRUCT_SSNotify _SSNotify;
SWI_STRUCT_PlmnReady _PlmnReady;
SWI_STRUCT_VoiceMessage _VoiceMessage;
SWI_STRUCT_IconGprsState _IconGprsState;
SWI_STRUCT_IconRoamState _IconRoamState;
SWI_STRUCT_CallForwarded _CallForwarded;
SWI_STRUCT_CFIcon _CFIcon;
SWI_STRUCT_STK_Notif_Command _Notif_STKCommand;
SWI_STRUCT_DataRate _DataRate;
SWI_STRUCT_PHONEBK_Entry _PhonebookEntry;
SWI_STRUCT_SmsStoreExp _SmsStoreExp;
SWI_STRUCT_SmsSendExp _SmsSendExp;
SWI_STRUCT_ServiceIcon _ServiceIcon;
SWI_STRUCT_TTYControl _TTYControl;
SWI_STRUCT_SMS_Received _SmsReceived;
SWI_STRUCT_SMS_Deliver _SmsDeliver;
SWI_STRUCT_SMS_Submit _SmsSubmit;
SWI_STRUCT_SMS_StatusReport _SmsStatusReport;
SWI_STRUCT_SMS_SimStatus _SmsSimStatus;
SWI_STRUCT_UnstructSupplServiceExp _USSDExp;
// MP750 notifications
SWI_STRUCT_Gps _Gps;
SWI_STRUCT_ExtDioNotif _ExtDio;
SWI_STRUCT_ExtAiNotif _ExtAi;
SWI_STRUCT_GpsCommand _GpsCommand;
SWI_STRUCT_IgnSense _MPIgnSense;
SWI_STRUCT_RfDownload _RfDownload;
SWI_STRUCT_SimSled _SimSled;
SWI_STRUCT_BatteryStatus _BatteryStatus;
SWI_STRUCT_MpShutdown _MpShutdown;
SWI_STRUCT_MpConnect _MpConnect;
SWI_STRUCT_MpStartupDiag _MpStartupDiag;
SWI_STRUCT_MpStartupConfig _MpStartupConfig;
SWI_STRUCT_MpByteCounter _MpByteCounter;
SWI_STRUCT_MpDisconnect _MpDisconnect;
SWI_STRUCT_MpManagerData _MpManagerData;
};
};
Как сделать вызов этой функции в C#.NET?