Вызов unmanadge dll C#.NET
От: Butia  
Дата: 20.12.06 09:38
Оценка:
Привет.
Помогите сделать вызов.
Есть 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?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.