text: #pragma option push -b -a8 -pc -A- -w-pun /*P_O_Push*/
  
  
  /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  
  
   /* File created by MIDL compiler version 8.00.0611 */
  /* @@MIDL_FILE_HEADING(  ) */
  
  
  
  /* verify that the <rpcndr.h> version is high enough to compile this file*/
  #ifndef __REQUIRED_RPCNDR_H_VERSION__
  #define __REQUIRED_RPCNDR_H_VERSION__ 500
  #endif
  
  /* verify that the <rpcsal.h> version is high enough to compile this file*/
  #ifndef __REQUIRED_RPCSAL_H_VERSION__
  #define __REQUIRED_RPCSAL_H_VERSION__ 100
  #endif
  
  #include "rpc.h"
  #include "rpcndr.h"
  
  #ifndef __RPCNDR_H_VERSION__
  #error this stub requires an updated version of <rpcndr.h>
  #endif /* __RPCNDR_H_VERSION__ */
  
  #ifndef COM_NO_WINDOWS_H
  #include "windows.h"
  #include "ole2.h"
  #endif /*COM_NO_WINDOWS_H*/
  
  #ifndef __cellularapi_oem_h__
  #define __cellularapi_oem_h__
  
  #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  #pragma once
  #endif
  
  /* Forward Declarations */ 
  
  #ifndef __IOemCellular_FWD_DEFINED__
  #define __IOemCellular_FWD_DEFINED__
  typedef interface IOemCellular IOemCellular;
  
  #endif 	/* __IOemCellular_FWD_DEFINED__ */
  
  
  #ifndef __IOemCellularDataStore_FWD_DEFINED__
  #define __IOemCellularDataStore_FWD_DEFINED__
  typedef interface IOemCellularDataStore IOemCellularDataStore;
  
  #endif 	/* __IOemCellularDataStore_FWD_DEFINED__ */
  
  
  #ifndef __IOemCellularModem_FWD_DEFINED__
  #define __IOemCellularModem_FWD_DEFINED__
  typedef interface IOemCellularModem IOemCellularModem;
  
  #endif 	/* __IOemCellularModem_FWD_DEFINED__ */
  
  
  #ifndef __IOemCellularModemEx_FWD_DEFINED__
  #define __IOemCellularModemEx_FWD_DEFINED__
  typedef interface IOemCellularModemEx IOemCellularModemEx;
  
  #endif 	/* __IOemCellularModemEx_FWD_DEFINED__ */
  
  
  #ifndef __IOemCan_FWD_DEFINED__
  #define __IOemCan_FWD_DEFINED__
  typedef interface IOemCan IOemCan;
  
  #endif 	/* __IOemCan_FWD_DEFINED__ */
  
  
  #ifndef __IOemCanExtForIMS_FWD_DEFINED__
  #define __IOemCanExtForIMS_FWD_DEFINED__
  typedef interface IOemCanExtForIMS IOemCanExtForIMS;
  
  #endif 	/* __IOemCanExtForIMS_FWD_DEFINED__ */
  
  
  #ifndef __IOemSlot_FWD_DEFINED__
  #define __IOemSlot_FWD_DEFINED__
  typedef interface IOemSlot IOemSlot;
  
  #endif 	/* __IOemSlot_FWD_DEFINED__ */
  
  
  #ifndef __IOemUicc_FWD_DEFINED__
  #define __IOemUicc_FWD_DEFINED__
  typedef interface IOemUicc IOemUicc;
  
  #endif 	/* __IOemUicc_FWD_DEFINED__ */
  
  
  #ifndef __IOemUiccApp_FWD_DEFINED__
  #define __IOemUiccApp_FWD_DEFINED__
  typedef interface IOemUiccApp IOemUiccApp;
  
  #endif 	/* __IOemUiccApp_FWD_DEFINED__ */
  
  
  #ifndef __IOemUiccAppEx_FWD_DEFINED__
  #define __IOemUiccAppEx_FWD_DEFINED__
  typedef interface IOemUiccAppEx IOemUiccAppEx;
  
  #endif 	/* __IOemUiccAppEx_FWD_DEFINED__ */
  
  
  #ifndef __IOemUiccAppEx2_FWD_DEFINED__
  #define __IOemUiccAppEx2_FWD_DEFINED__
  typedef interface IOemUiccAppEx2 IOemUiccAppEx2;
  
  #endif 	/* __IOemUiccAppEx2_FWD_DEFINED__ */
  
  
  #ifndef __IOem3GPPSupServices_FWD_DEFINED__
  #define __IOem3GPPSupServices_FWD_DEFINED__
  typedef interface IOem3GPPSupServices IOem3GPPSupServices;
  
  #endif 	/* __IOem3GPPSupServices_FWD_DEFINED__ */
  
  
  #ifndef __IOemCellularModemExistenceChange_FWD_DEFINED__
  #define __IOemCellularModemExistenceChange_FWD_DEFINED__
  typedef interface IOemCellularModemExistenceChange IOemCellularModemExistenceChange;
  
  #endif 	/* __IOemCellularModemExistenceChange_FWD_DEFINED__ */
  
  
  #ifndef __IOemCellularCanAvailabilityChange_FWD_DEFINED__
  #define __IOemCellularCanAvailabilityChange_FWD_DEFINED__
  typedef interface IOemCellularCanAvailabilityChange IOemCellularCanAvailabilityChange;
  
  #endif 	/* __IOemCellularCanAvailabilityChange_FWD_DEFINED__ */
  
  
  #ifndef __IOemSlotChange_FWD_DEFINED__
  #define __IOemSlotChange_FWD_DEFINED__
  typedef interface IOemSlotChange IOemSlotChange;
  
  #endif 	/* __IOemSlotChange_FWD_DEFINED__ */
  
  
  #ifndef __IOemCanRegistrationStateChange_FWD_DEFINED__
  #define __IOemCanRegistrationStateChange_FWD_DEFINED__
  typedef interface IOemCanRegistrationStateChange IOemCanRegistrationStateChange;
  
  #endif 	/* __IOemCanRegistrationStateChange_FWD_DEFINED__ */
  
  
  #ifndef __IOemSlotStateChange_FWD_DEFINED__
  #define __IOemSlotStateChange_FWD_DEFINED__
  typedef interface IOemSlotStateChange IOemSlotStateChange;
  
  #endif 	/* __IOemSlotStateChange_FWD_DEFINED__ */
  
  
  #ifndef __IOemUiccChange_FWD_DEFINED__
  #define __IOemUiccChange_FWD_DEFINED__
  typedef interface IOemUiccChange IOemUiccChange;
  
  #endif 	/* __IOemUiccChange_FWD_DEFINED__ */
  
  
  #ifndef __IOemRegistrationStatus_FWD_DEFINED__
  #define __IOemRegistrationStatus_FWD_DEFINED__
  typedef interface IOemRegistrationStatus IOemRegistrationStatus;
  
  #endif 	/* __IOemRegistrationStatus_FWD_DEFINED__ */
  
  
  #ifndef __IPowerStateChange_FWD_DEFINED__
  #define __IPowerStateChange_FWD_DEFINED__
  typedef interface IPowerStateChange IPowerStateChange;
  
  #endif 	/* __IPowerStateChange_FWD_DEFINED__ */
  
  
  #ifndef __IModemOpaqueCommandCompletion_FWD_DEFINED__
  #define __IModemOpaqueCommandCompletion_FWD_DEFINED__
  typedef interface IModemOpaqueCommandCompletion IModemOpaqueCommandCompletion;
  
  #endif 	/* __IModemOpaqueCommandCompletion_FWD_DEFINED__ */
  
  
  #ifndef __IOpaqueModemNotifications_FWD_DEFINED__
  #define __IOpaqueModemNotifications_FWD_DEFINED__
  typedef interface IOpaqueModemNotifications IOpaqueModemNotifications;
  
  #endif 	/* __IOpaqueModemNotifications_FWD_DEFINED__ */
  
  
  #ifndef __ISetRFStateCompletion_FWD_DEFINED__
  #define __ISetRFStateCompletion_FWD_DEFINED__
  typedef interface ISetRFStateCompletion ISetRFStateCompletion;
  
  #endif 	/* __ISetRFStateCompletion_FWD_DEFINED__ */
  
  
  #ifndef __IGetRFStateCompletion_FWD_DEFINED__
  #define __IGetRFStateCompletion_FWD_DEFINED__
  typedef interface IGetRFStateCompletion IGetRFStateCompletion;
  
  #endif 	/* __IGetRFStateCompletion_FWD_DEFINED__ */
  
  
  #ifndef __IGetRFStateExCompletion_FWD_DEFINED__
  #define __IGetRFStateExCompletion_FWD_DEFINED__
  typedef interface IGetRFStateExCompletion IGetRFStateExCompletion;
  
  #endif 	/* __IGetRFStateExCompletion_FWD_DEFINED__ */
  
  
  #ifndef __ICanInfoCompletion_FWD_DEFINED__
  #define __ICanInfoCompletion_FWD_DEFINED__
  typedef interface ICanInfoCompletion ICanInfoCompletion;
  
  #endif 	/* __ICanInfoCompletion_FWD_DEFINED__ */
  
  
  #ifndef __IPositionInfoCompletion_FWD_DEFINED__
  #define __IPositionInfoCompletion_FWD_DEFINED__
  typedef interface IPositionInfoCompletion IPositionInfoCompletion;
  
  #endif 	/* __IPositionInfoCompletion_FWD_DEFINED__ */
  
  
  #ifndef __IPinLockStateCompletion_FWD_DEFINED__
  #define __IPinLockStateCompletion_FWD_DEFINED__
  typedef interface IPinLockStateCompletion IPinLockStateCompletion;
  
  #endif 	/* __IPinLockStateCompletion_FWD_DEFINED__ */
  
  
  #ifndef __IGetRecordStatusCompletion_FWD_DEFINED__
  #define __IGetRecordStatusCompletion_FWD_DEFINED__
  typedef interface IGetRecordStatusCompletion IGetRecordStatusCompletion;
  
  #endif 	/* __IGetRecordStatusCompletion_FWD_DEFINED__ */
  
  
  #ifndef __IReadRecordCompletion_FWD_DEFINED__
  #define __IReadRecordCompletion_FWD_DEFINED__
  typedef interface IReadRecordCompletion IReadRecordCompletion;
  
  #endif 	/* __IReadRecordCompletion_FWD_DEFINED__ */
  
  
  #ifndef __IWriteRecordCompletion_FWD_DEFINED__
  #define __IWriteRecordCompletion_FWD_DEFINED__
  typedef interface IWriteRecordCompletion IWriteRecordCompletion;
  
  #endif 	/* __IWriteRecordCompletion_FWD_DEFINED__ */
  
  
  #ifndef __IIMSICompletion_FWD_DEFINED__
  #define __IIMSICompletion_FWD_DEFINED__
  typedef interface IIMSICompletion IIMSICompletion;
  
  #endif 	/* __IIMSICompletion_FWD_DEFINED__ */
  
  
  #ifndef __IGetSIDNIDCompletion_FWD_DEFINED__
  #define __IGetSIDNIDCompletion_FWD_DEFINED__
  typedef interface IGetSIDNIDCompletion IGetSIDNIDCompletion;
  
  #endif 	/* __IGetSIDNIDCompletion_FWD_DEFINED__ */
  
  
  #ifndef __IGetNAICompletion_FWD_DEFINED__
  #define __IGetNAICompletion_FWD_DEFINED__
  typedef interface IGetNAICompletion IGetNAICompletion;
  
  #endif 	/* __IGetNAICompletion_FWD_DEFINED__ */
  
  
  #ifndef __ISubscriberNumbersCompletion_FWD_DEFINED__
  #define __ISubscriberNumbersCompletion_FWD_DEFINED__
  typedef interface ISubscriberNumbersCompletion ISubscriberNumbersCompletion;
  
  #endif 	/* __ISubscriberNumbersCompletion_FWD_DEFINED__ */
  
  
  #ifndef __IGetPLMNwAcT_FWD_DEFINED__
  #define __IGetPLMNwAcT_FWD_DEFINED__
  typedef interface IGetPLMNwAcT IGetPLMNwAcT;
  
  #endif 	/* __IGetPLMNwAcT_FWD_DEFINED__ */
  
  
  #ifndef __ISetPLMNwAcT_FWD_DEFINED__
  #define __ISetPLMNwAcT_FWD_DEFINED__
  typedef interface ISetPLMNwAcT ISetPLMNwAcT;
  
  #endif 	/* __ISetPLMNwAcT_FWD_DEFINED__ */
  
  
  #ifndef __IGetCallForwardingCompletion_FWD_DEFINED__
  #define __IGetCallForwardingCompletion_FWD_DEFINED__
  typedef interface IGetCallForwardingCompletion IGetCallForwardingCompletion;
  
  #endif 	/* __IGetCallForwardingCompletion_FWD_DEFINED__ */
  
  
  #ifndef __ISimpleModemCompletion_FWD_DEFINED__
  #define __ISimpleModemCompletion_FWD_DEFINED__
  typedef interface ISimpleModemCompletion ISimpleModemCompletion;
  
  #endif 	/* __ISimpleModemCompletion_FWD_DEFINED__ */
  
  
  #ifndef __ICallWaitingSettingsCompletion_FWD_DEFINED__
  #define __ICallWaitingSettingsCompletion_FWD_DEFINED__
  typedef interface ICallWaitingSettingsCompletion ICallWaitingSettingsCompletion;
  
  #endif 	/* __ICallWaitingSettingsCompletion_FWD_DEFINED__ */
  
  
  #ifndef __IOemIMSStatusChange_FWD_DEFINED__
  #define __IOemIMSStatusChange_FWD_DEFINED__
  typedef interface IOemIMSStatusChange IOemIMSStatusChange;
  
  #endif 	/* __IOemIMSStatusChange_FWD_DEFINED__ */
  
  
  #ifndef __ICanInfoCompletion_FWD_DEFINED__
  #define __ICanInfoCompletion_FWD_DEFINED__
  typedef interface ICanInfoCompletion ICanInfoCompletion;
  
  #endif 	/* __ICanInfoCompletion_FWD_DEFINED__ */
  
  
  #ifndef __IGetRecordStatusCompletion_FWD_DEFINED__
  #define __IGetRecordStatusCompletion_FWD_DEFINED__
  typedef interface IGetRecordStatusCompletion IGetRecordStatusCompletion;
  
  #endif 	/* __IGetRecordStatusCompletion_FWD_DEFINED__ */
  
  
  #ifndef __IGetRFStateCompletion_FWD_DEFINED__
  #define __IGetRFStateCompletion_FWD_DEFINED__
  typedef interface IGetRFStateCompletion IGetRFStateCompletion;
  
  #endif 	/* __IGetRFStateCompletion_FWD_DEFINED__ */
  
  
  #ifndef __IGetSIDNIDCompletion_FWD_DEFINED__
  #define __IGetSIDNIDCompletion_FWD_DEFINED__
  typedef interface IGetSIDNIDCompletion IGetSIDNIDCompletion;
  
  #endif 	/* __IGetSIDNIDCompletion_FWD_DEFINED__ */
  
  
  #ifndef __IGetNAICompletion_FWD_DEFINED__
  #define __IGetNAICompletion_FWD_DEFINED__
  typedef interface IGetNAICompletion IGetNAICompletion;
  
  #endif 	/* __IGetNAICompletion_FWD_DEFINED__ */
  
  
  #ifndef __IIMSICompletion_FWD_DEFINED__
  #define __IIMSICompletion_FWD_DEFINED__
  typedef interface IIMSICompletion IIMSICompletion;
  
  #endif 	/* __IIMSICompletion_FWD_DEFINED__ */
  
  
  #ifndef __IModemOpaqueCommandCompletion_FWD_DEFINED__
  #define __IModemOpaqueCommandCompletion_FWD_DEFINED__
  typedef interface IModemOpaqueCommandCompletion IModemOpaqueCommandCompletion;
  
  #endif 	/* __IModemOpaqueCommandCompletion_FWD_DEFINED__ */
  
  
  #ifndef __IOemCan_FWD_DEFINED__
  #define __IOemCan_FWD_DEFINED__
  typedef interface IOemCan IOemCan;
  
  #endif 	/* __IOemCan_FWD_DEFINED__ */
  
  
  #ifndef __IOemCanExtForIMS_FWD_DEFINED__
  #define __IOemCanExtForIMS_FWD_DEFINED__
  typedef interface IOemCanExtForIMS IOemCanExtForIMS;
  
  #endif 	/* __IOemCanExtForIMS_FWD_DEFINED__ */
  
  
  #ifndef __IOemCanRegistrationStateChange_FWD_DEFINED__
  #define __IOemCanRegistrationStateChange_FWD_DEFINED__
  typedef interface IOemCanRegistrationStateChange IOemCanRegistrationStateChange;
  
  #endif 	/* __IOemCanRegistrationStateChange_FWD_DEFINED__ */
  
  
  #ifndef __IOemCellular_FWD_DEFINED__
  #define __IOemCellular_FWD_DEFINED__
  typedef interface IOemCellular IOemCellular;
  
  #endif 	/* __IOemCellular_FWD_DEFINED__ */
  
  
  #ifndef __IOemCellularCanAvailabilityChange_FWD_DEFINED__
  #define __IOemCellularCanAvailabilityChange_FWD_DEFINED__
  typedef interface IOemCellularCanAvailabilityChange IOemCellularCanAvailabilityChange;
  
  #endif 	/* __IOemCellularCanAvailabilityChange_FWD_DEFINED__ */
  
  
  #ifndef __IOemCellularModem_FWD_DEFINED__
  #define __IOemCellularModem_FWD_DEFINED__
  typedef interface IOemCellularModem IOemCellularModem;
  
  #endif 	/* __IOemCellularModem_FWD_DEFINED__ */
  
  
  #ifndef __IOemCellularModemExistenceChange_FWD_DEFINED__
  #define __IOemCellularModemExistenceChange_FWD_DEFINED__
  typedef interface IOemCellularModemExistenceChange IOemCellularModemExistenceChange;
  
  #endif 	/* __IOemCellularModemExistenceChange_FWD_DEFINED__ */
  
  
  #ifndef __IOemRegistrationStatus_FWD_DEFINED__
  #define __IOemRegistrationStatus_FWD_DEFINED__
  typedef interface IOemRegistrationStatus IOemRegistrationStatus;
  
  #endif 	/* __IOemRegistrationStatus_FWD_DEFINED__ */
  
  
  #ifndef __IOemSlot_FWD_DEFINED__
  #define __IOemSlot_FWD_DEFINED__
  typedef interface IOemSlot IOemSlot;
  
  #endif 	/* __IOemSlot_FWD_DEFINED__ */
  
  
  #ifndef __IOemSlotChange_FWD_DEFINED__
  #define __IOemSlotChange_FWD_DEFINED__
  typedef interface IOemSlotChange IOemSlotChange;
  
  #endif 	/* __IOemSlotChange_FWD_DEFINED__ */
  
  
  #ifndef __IOemSlotStateChange_FWD_DEFINED__
  #define __IOemSlotStateChange_FWD_DEFINED__
  typedef interface IOemSlotStateChange IOemSlotStateChange;
  
  #endif 	/* __IOemSlotStateChange_FWD_DEFINED__ */
  
  
  #ifndef __IOemUiccChange_FWD_DEFINED__
  #define __IOemUiccChange_FWD_DEFINED__
  typedef interface IOemUiccChange IOemUiccChange;
  
  #endif 	/* __IOemUiccChange_FWD_DEFINED__ */
  
  
  #ifndef __IOpaqueModemNotifications_FWD_DEFINED__
  #define __IOpaqueModemNotifications_FWD_DEFINED__
  typedef interface IOpaqueModemNotifications IOpaqueModemNotifications;
  
  #endif 	/* __IOpaqueModemNotifications_FWD_DEFINED__ */
  
  
  #ifndef __IPinLockStateCompletion_FWD_DEFINED__
  #define __IPinLockStateCompletion_FWD_DEFINED__
  typedef interface IPinLockStateCompletion IPinLockStateCompletion;
  
  #endif 	/* __IPinLockStateCompletion_FWD_DEFINED__ */
  
  
  #ifndef __IPositionInfoCompletion_FWD_DEFINED__
  #define __IPositionInfoCompletion_FWD_DEFINED__
  typedef interface IPositionInfoCompletion IPositionInfoCompletion;
  
  #endif 	/* __IPositionInfoCompletion_FWD_DEFINED__ */
  
  
  #ifndef __IPowerStateChange_FWD_DEFINED__
  #define __IPowerStateChange_FWD_DEFINED__
  typedef interface IPowerStateChange IPowerStateChange;
  
  #endif 	/* __IPowerStateChange_FWD_DEFINED__ */
  
  
  #ifndef __IReadRecordCompletion_FWD_DEFINED__
  #define __IReadRecordCompletion_FWD_DEFINED__
  typedef interface IReadRecordCompletion IReadRecordCompletion;
  
  #endif 	/* __IReadRecordCompletion_FWD_DEFINED__ */
  
  
  #ifndef __ISetRFStateCompletion_FWD_DEFINED__
  #define __ISetRFStateCompletion_FWD_DEFINED__
  typedef interface ISetRFStateCompletion ISetRFStateCompletion;
  
  #endif 	/* __ISetRFStateCompletion_FWD_DEFINED__ */
  
  
  #ifndef __ISubscriberNumbersCompletion_FWD_DEFINED__
  #define __ISubscriberNumbersCompletion_FWD_DEFINED__
  typedef interface ISubscriberNumbersCompletion ISubscriberNumbersCompletion;
  
  #endif 	/* __ISubscriberNumbersCompletion_FWD_DEFINED__ */
  
  
  #ifndef __IWriteRecordCompletion_FWD_DEFINED__
  #define __IWriteRecordCompletion_FWD_DEFINED__
  typedef interface IWriteRecordCompletion IWriteRecordCompletion;
  
  #endif 	/* __IWriteRecordCompletion_FWD_DEFINED__ */
  
  
  #ifndef __IGetPLMNwAcT_FWD_DEFINED__
  #define __IGetPLMNwAcT_FWD_DEFINED__
  typedef interface IGetPLMNwAcT IGetPLMNwAcT;
  
  #endif 	/* __IGetPLMNwAcT_FWD_DEFINED__ */
  
  
  #ifndef __ISetPLMNwAcT_FWD_DEFINED__
  #define __ISetPLMNwAcT_FWD_DEFINED__
  typedef interface ISetPLMNwAcT ISetPLMNwAcT;
  
  #endif 	/* __ISetPLMNwAcT_FWD_DEFINED__ */
  
  
  #ifndef __IOem3GPPSupServices_FWD_DEFINED__
  #define __IOem3GPPSupServices_FWD_DEFINED__
  typedef interface IOem3GPPSupServices IOem3GPPSupServices;
  
  #endif 	/* __IOem3GPPSupServices_FWD_DEFINED__ */
  
  
  #ifndef __IGetCallForwardingCompletion_FWD_DEFINED__
  #define __IGetCallForwardingCompletion_FWD_DEFINED__
  typedef interface IGetCallForwardingCompletion IGetCallForwardingCompletion;
  
  #endif 	/* __IGetCallForwardingCompletion_FWD_DEFINED__ */
  
  
  #ifndef __ISimpleModemCompletion_FWD_DEFINED__
  #define __ISimpleModemCompletion_FWD_DEFINED__
  typedef interface ISimpleModemCompletion ISimpleModemCompletion;
  
  #endif 	/* __ISimpleModemCompletion_FWD_DEFINED__ */
  
  
  #ifndef __ICallWaitingSettingsCompletion_FWD_DEFINED__
  #define __ICallWaitingSettingsCompletion_FWD_DEFINED__
  typedef interface ICallWaitingSettingsCompletion ICallWaitingSettingsCompletion;
  
  #endif 	/* __ICallWaitingSettingsCompletion_FWD_DEFINED__ */
  
  
  #ifndef __IOemIMSStatusChange_FWD_DEFINED__
  #define __IOemIMSStatusChange_FWD_DEFINED__
  typedef interface IOemIMSStatusChange IOemIMSStatusChange;
  
  #endif 	/* __IOemIMSStatusChange_FWD_DEFINED__ */
  
  
  #ifndef __OemCellular_FWD_DEFINED__
  #define __OemCellular_FWD_DEFINED__
  
  #ifdef __cplusplus
  typedef class OemCellular OemCellular;
  #else
  typedef struct OemCellular OemCellular;
  #endif /* __cplusplus */
  
  #endif 	/* __OemCellular_FWD_DEFINED__ */
  
  
  /* header files for imported files */
  #include "oaidl.h"
  #include "ocidl.h"
  #include "RilAPITypes.h"
  
  #ifdef __cplusplus
  extern "C"{
  #endif 
  
  
  /* interface __MIDL_itf_cellularapi_oem_0000_0000 */
  /* [local] */ 
  
  //+-------------------------------------------------------------------------
  //
  //  Microsoft Windows
  //  Copyright (c) Microsoft Corporation. All rights reserved.
  //
  //--------------------------------------------------------------------------
  #if ( _MSC_VER >= 1020 )
  #pragma once
  #endif
  DEFINE_GUID(SID_3GPP_SUPSVCMODEL, 0xd7d08e07, 0xd767, 0x4478, 0xb1, 0x4a, 0xee, 0xcc, 0x87, 0xea, 0x12, 0xf7);
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  #define	MAXLENGTH_NAI	( 72 )
  
  
  enum MODEMPOWERSTATE
      {
          MODEM_POWER_OFF	= 0x1,
          MODEM_POWER_GOING_ON	= 0x2,
          MODEM_POWER_ON	= 0x3,
          MODEM_POWER_GOING_OFF	= 0x4,
          MODEM_POWER_SHUTING_DOWN	= 0x5
      } ;
  typedef enum RILSIDNIDPARAMMASK RILSIDNIDPARAMMASK;
  
  typedef struct RILSIDNID RILSIDNID;
  
  typedef struct RILSIDNID *LPRILSIDNID;
  
  typedef struct RILNAI NAI;
  
  typedef struct RILNAI *LPRILNAI;
  
  
  enum RILNAIPARAMMASK
      {
          RIL_PARAM_NAI_NAI	= 0x1,
          RIL_PARAM_NAI_ALL	= 0x1
      } ;
  struct RILNAI
      {
      DWORD cbSize;
      DWORD dwParams;
      WCHAR wszNAI[ 73 ];
      } ;
  
  enum RILSIDNIDPARAMMASK
      {
          RIL_PARAM_SIDNID_SID	= 0x1,
          RIL_PARAM_SIDNID_NID	= 0x2,
          RIL_PARAM_SIDNID_ALL	= 0x3
      } ;
  struct RILSIDNID
      {
      DWORD cbSize;
      DWORD dwParams;
      DWORD dwSid;
      DWORD dwNid;
      } ;
  typedef enum UICCDATASTOREACCESSMODE UICCDATASTOREACCESSMODE;
  
  
  enum UICCDATASTOREACCESSMODE
      {
          UICCDATASTORE_PUBLIC	= 0x1,
          UICCDATASTORE_PRIVATE	= 0x2
      } ;
  #define	MAXLENGTH_UICCDATASTORE	( 10 )
  
  struct UICCDATASTOREENTRY
      {
      DWORD position;
      DWORD lengthIccId;
      BYTE iccId[ 10 ];
      } ;
  typedef struct UICCDATASTOREINFO UICCDATASTOREINFO;
  
  struct UICCDATASTOREINFO
      {
      DWORD dwCount;
      struct UICCDATASTOREENTRY entries[ 10 ];
      } ;
  
  
  extern RPC_IF_HANDLE __MIDL_itf_cellularapi_oem_0000_0000_v0_0_c_ifspec;
  extern RPC_IF_HANDLE __MIDL_itf_cellularapi_oem_0000_0000_v0_0_s_ifspec;
  
  #ifndef __IOemCellular_INTERFACE_DEFINED__
  #define __IOemCellular_INTERFACE_DEFINED__
  
  /* interface IOemCellular */
  /* [uuid][oleautomation][object] */ 
  
  
  EXTERN_C const IID IID_IOemCellular;
  
  #if defined(__cplusplus) && !defined(CINTERFACE)
      
      MIDL_INTERFACE("17AE6DC1-3723-4085-99BA-7160CDB8BFC1")
      IOemCellular : public IUnknown
      {
      public:
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RegisterForOemModemExistenceChanges( 
              /* [in] */ __RPC__in_opt IOemCellularModemExistenceChange *pCallback) = 0;
          
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UnregisterForOemModemExistenceChanges( 
              /* [in] */ __RPC__in_opt IOemCellularModemExistenceChange *pCallback) = 0;
          
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Destroy( void) = 0;
          
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE WaitForDestroyCompletion( void) = 0;
          
      };
      
      
  #else 	/* C style interface */
  
      typedef struct IOemCellularVtbl
      {
          BEGIN_INTERFACE
          
          HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
              __RPC__in IOemCellular * This,
              /* [in] */ __RPC__in REFIID riid,
              /* [annotation][iid_is][out] */ 
              _COM_Outptr_  void **ppvObject);
          
          ULONG ( STDMETHODCALLTYPE *AddRef )( 
              __RPC__in IOemCellular * This);
          
          ULONG ( STDMETHODCALLTYPE *Release )( 
              __RPC__in IOemCellular * This);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RegisterForOemModemExistenceChanges )( 
              __RPC__in IOemCellular * This,
              /* [in] */ __RPC__in_opt IOemCellularModemExistenceChange *pCallback);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UnregisterForOemModemExistenceChanges )( 
              __RPC__in IOemCellular * This,
              /* [in] */ __RPC__in_opt IOemCellularModemExistenceChange *pCallback);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Destroy )( 
              __RPC__in IOemCellular * This);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *WaitForDestroyCompletion )( 
              __RPC__in IOemCellular * This);
          
          END_INTERFACE
      } IOemCellularVtbl;
  
      interface IOemCellular
      {
          CONST_VTBL struct IOemCellularVtbl *lpVtbl;
      };
  
      
  
  #ifdef COBJMACROS
  
  
  #define IOemCellular_QueryInterface(This,riid,ppvObject)	\
      ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
  
  #define IOemCellular_AddRef(This)	\
      ( (This)->lpVtbl -> AddRef(This) ) 
  
  #define IOemCellular_Release(This)	\
      ( (This)->lpVtbl -> Release(This) ) 
  
  
  #define IOemCellular_RegisterForOemModemExistenceChanges(This,pCallback)	\
      ( (This)->lpVtbl -> RegisterForOemModemExistenceChanges(This,pCallback) ) 
  
  #define IOemCellular_UnregisterForOemModemExistenceChanges(This,pCallback)	\
      ( (This)->lpVtbl -> UnregisterForOemModemExistenceChanges(This,pCallback) ) 
  
  #define IOemCellular_Destroy(This)	\
      ( (This)->lpVtbl -> Destroy(This) ) 
  
  #define IOemCellular_WaitForDestroyCompletion(This)	\
      ( (This)->lpVtbl -> WaitForDestroyCompletion(This) ) 
  
  #endif /* COBJMACROS */
  
  
  #endif 	/* C style interface */
  
  
  
  
  #endif 	/* __IOemCellular_INTERFACE_DEFINED__ */
  
  
  #ifndef __IOemCellularDataStore_INTERFACE_DEFINED__
  #define __IOemCellularDataStore_INTERFACE_DEFINED__
  
  /* interface IOemCellularDataStore */
  /* [uuid][oleautomation][object] */ 
  
  
  EXTERN_C const IID IID_IOemCellularDataStore;
  
  #if defined(__cplusplus) && !defined(CINTERFACE)
      
      MIDL_INTERFACE("b470078a-2784-4d09-ad35-42b2290abc54")
      IOemCellularDataStore : public IUnknown
      {
      public:
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetNamedValue( 
              /* [in] */ __RPC__in const BYTE *pIccId,
              /* [in] */ DWORD lengthIccId,
              /* [in] */ __RPC__in LPCWSTR pClientId,
              /* [in] */ __RPC__in LPCWSTR pPropertyName,
              /* [in] */ __RPC__in const BYTE *pPropertyValue,
              /* [in] */ DWORD lengthValue,
              /* [in] */ UICCDATASTOREACCESSMODE accessMode) = 0;
          
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetNamedValue( 
              /* [in] */ __RPC__in const BYTE *pIccId,
              /* [in] */ DWORD lengthIccId,
              /* [in] */ __RPC__in LPCWSTR pClientId,
              /* [in] */ __RPC__in LPCWSTR pPropertyName,
              /* [out] */ __RPC__out BYTE *pPropertyValue,
              /* [out][in] */ __RPC__inout DWORD *pLengthValue,
              /* [in] */ UICCDATASTOREACCESSMODE accessMode) = 0;
          
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetUiccDataStoreInfo( 
              /* [out][in] */ __RPC__inout struct UICCDATASTOREINFO *pDatastoreInfo) = 0;
          
      };
      
      
  #else 	/* C style interface */
  
      typedef struct IOemCellularDataStoreVtbl
      {
          BEGIN_INTERFACE
          
          HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
              __RPC__in IOemCellularDataStore * This,
              /* [in] */ __RPC__in REFIID riid,
              /* [annotation][iid_is][out] */ 
              _COM_Outptr_  void **ppvObject);
          
          ULONG ( STDMETHODCALLTYPE *AddRef )( 
              __RPC__in IOemCellularDataStore * This);
          
          ULONG ( STDMETHODCALLTYPE *Release )( 
              __RPC__in IOemCellularDataStore * This);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetNamedValue )( 
              __RPC__in IOemCellularDataStore * This,
              /* [in] */ __RPC__in const BYTE *pIccId,
              /* [in] */ DWORD lengthIccId,
              /* [in] */ __RPC__in LPCWSTR pClientId,
              /* [in] */ __RPC__in LPCWSTR pPropertyName,
              /* [in] */ __RPC__in const BYTE *pPropertyValue,
              /* [in] */ DWORD lengthValue,
              /* [in] */ UICCDATASTOREACCESSMODE accessMode);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetNamedValue )( 
              __RPC__in IOemCellularDataStore * This,
              /* [in] */ __RPC__in const BYTE *pIccId,
              /* [in] */ DWORD lengthIccId,
              /* [in] */ __RPC__in LPCWSTR pClientId,
              /* [in] */ __RPC__in LPCWSTR pPropertyName,
              /* [out] */ __RPC__out BYTE *pPropertyValue,
              /* [out][in] */ __RPC__inout DWORD *pLengthValue,
              /* [in] */ UICCDATASTOREACCESSMODE accessMode);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetUiccDataStoreInfo )( 
              __RPC__in IOemCellularDataStore * This,
              /* [out][in] */ __RPC__inout struct UICCDATASTOREINFO *pDatastoreInfo);
          
          END_INTERFACE
      } IOemCellularDataStoreVtbl;
  
      interface IOemCellularDataStore
      {
          CONST_VTBL struct IOemCellularDataStoreVtbl *lpVtbl;
      };
  
      
  
  #ifdef COBJMACROS
  
  
  #define IOemCellularDataStore_QueryInterface(This,riid,ppvObject)	\
      ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
  
  #define IOemCellularDataStore_AddRef(This)	\
      ( (This)->lpVtbl -> AddRef(This) ) 
  
  #define IOemCellularDataStore_Release(This)	\
      ( (This)->lpVtbl -> Release(This) ) 
  
  
  #define IOemCellularDataStore_SetNamedValue(This,pIccId,lengthIccId,pClientId,pPropertyName,pPropertyValue,lengthValue,accessMode)	\
      ( (This)->lpVtbl -> SetNamedValue(This,pIccId,lengthIccId,pClientId,pPropertyName,pPropertyValue,lengthValue,accessMode) ) 
  
  #define IOemCellularDataStore_GetNamedValue(This,pIccId,lengthIccId,pClientId,pPropertyName,pPropertyValue,pLengthValue,accessMode)	\
      ( (This)->lpVtbl -> GetNamedValue(This,pIccId,lengthIccId,pClientId,pPropertyName,pPropertyValue,pLengthValue,accessMode) ) 
  
  #define IOemCellularDataStore_GetUiccDataStoreInfo(This,pDatastoreInfo)	\
      ( (This)->lpVtbl -> GetUiccDataStoreInfo(This,pDatastoreInfo) ) 
  
  #endif /* COBJMACROS */
  
  
  #endif 	/* C style interface */
  
  
  
  
  #endif 	/* __IOemCellularDataStore_INTERFACE_DEFINED__ */
  
  
  #ifndef __IOemCellularModem_INTERFACE_DEFINED__
  #define __IOemCellularModem_INTERFACE_DEFINED__
  
  /* interface IOemCellularModem */
  /* [uuid][oleautomation][object] */ 
  
  
  EXTERN_C const IID IID_IOemCellularModem;
  
  #if defined(__cplusplus) && !defined(CINTERFACE)
      
      MIDL_INTERFACE("82F4E49E-1E6B-43C9-8769-FE3D437AE8A9")
      IOemCellularModem : public IUnknown
      {
      public:
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RegisterForOemCanAvailabilityChanges( 
              /* [in] */ __RPC__in_opt IOemCellularCanAvailabilityChange *pCallBack) = 0;
          
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UnregisterForOemCanAvailabilityChanges( 
              /* [in] */ __RPC__in_opt IOemCellularCanAvailabilityChange *pCallback) = 0;
          
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RegisterForOemSlotChanges( 
              /* [in] */ __RPC__in_opt IOemSlotChange *pCallback) = 0;
          
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UnregisterForOemSlotChanges( 
              /* [in] */ __RPC__in_opt IOemSlotChange *pCallback) = 0;
          
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RegisterForPowerStateChanges( 
              /* [in] */ __RPC__in_opt IPowerStateChange *pCallback,
              /* [in] */ INT_PTR context) = 0;
          
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UnregisterForPowerStateChanges( 
              /* [in] */ __RPC__in_opt IPowerStateChange *pCallback) = 0;
          
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SendModemOpaqueCommand( 
              /* [in] */ __RPC__in_opt IModemOpaqueCommandCompletion *pCallback,
              /* [size_is][in] */ __RPC__in_ecount_full(cbSize) BYTE *pOpaquePayload,
              /* [in] */ DWORD cbSize,
              /* [in] */ INT_PTR context) = 0;
          
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RegisterForOpaqueModemNotifications( 
              /* [in] */ __RPC__in_opt IOpaqueModemNotifications *pCallback) = 0;
          
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UnRegisterForOpaqueModemNotifications( 
              /* [in] */ __RPC__in_opt IOpaqueModemNotifications *pCallback) = 0;
          
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetRFState( 
              /* [in] */ __RPC__in_opt ISetRFStateCompletion *pCallback,
              /* [in] */ DWORD dwRFPowerState,
              /* [in] */ INT_PTR context) = 0;
          
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetRFState( 
              /* [in] */ __RPC__in_opt IGetRFStateCompletion *pCallback,
              /* [in] */ INT_PTR context) = 0;
          
      };
      
      
  #else 	/* C style interface */
  
      typedef struct IOemCellularModemVtbl
      {
          BEGIN_INTERFACE
          
          HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
              __RPC__in IOemCellularModem * This,
              /* [in] */ __RPC__in REFIID riid,
              /* [annotation][iid_is][out] */ 
              _COM_Outptr_  void **ppvObject);
          
          ULONG ( STDMETHODCALLTYPE *AddRef )( 
              __RPC__in IOemCellularModem * This);
          
          ULONG ( STDMETHODCALLTYPE *Release )( 
              __RPC__in IOemCellularModem * This);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RegisterForOemCanAvailabilityChanges )( 
              __RPC__in IOemCellularModem * This,
              /* [in] */ __RPC__in_opt IOemCellularCanAvailabilityChange *pCallBack);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UnregisterForOemCanAvailabilityChanges )( 
              __RPC__in IOemCellularModem * This,
              /* [in] */ __RPC__in_opt IOemCellularCanAvailabilityChange *pCallback);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RegisterForOemSlotChanges )( 
              __RPC__in IOemCellularModem * This,
              /* [in] */ __RPC__in_opt IOemSlotChange *pCallback);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UnregisterForOemSlotChanges )( 
              __RPC__in IOemCellularModem * This,
              /* [in] */ __RPC__in_opt IOemSlotChange *pCallback);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RegisterForPowerStateChanges )( 
              __RPC__in IOemCellularModem * This,
              /* [in] */ __RPC__in_opt IPowerStateChange *pCallback,
              /* [in] */ INT_PTR context);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UnregisterForPowerStateChanges )( 
              __RPC__in IOemCellularModem * This,
              /* [in] */ __RPC__in_opt IPowerStateChange *pCallback);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SendModemOpaqueCommand )( 
              __RPC__in IOemCellularModem * This,
              /* [in] */ __RPC__in_opt IModemOpaqueCommandCompletion *pCallback,
              /* [size_is][in] */ __RPC__in_ecount_full(cbSize) BYTE *pOpaquePayload,
              /* [in] */ DWORD cbSize,
              /* [in] */ INT_PTR context);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RegisterForOpaqueModemNotifications )( 
              __RPC__in IOemCellularModem * This,
              /* [in] */ __RPC__in_opt IOpaqueModemNotifications *pCallback);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UnRegisterForOpaqueModemNotifications )( 
              __RPC__in IOemCellularModem * This,
              /* [in] */ __RPC__in_opt IOpaqueModemNotifications *pCallback);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetRFState )( 
              __RPC__in IOemCellularModem * This,
              /* [in] */ __RPC__in_opt ISetRFStateCompletion *pCallback,
              /* [in] */ DWORD dwRFPowerState,
              /* [in] */ INT_PTR context);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRFState )( 
              __RPC__in IOemCellularModem * This,
              /* [in] */ __RPC__in_opt IGetRFStateCompletion *pCallback,
              /* [in] */ INT_PTR context);
          
          END_INTERFACE
      } IOemCellularModemVtbl;
  
      interface IOemCellularModem
      {
          CONST_VTBL struct IOemCellularModemVtbl *lpVtbl;
      };
  
      
  
  #ifdef COBJMACROS
  
  
  #define IOemCellularModem_QueryInterface(This,riid,ppvObject)	\
      ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
  
  #define IOemCellularModem_AddRef(This)	\
      ( (This)->lpVtbl -> AddRef(This) ) 
  
  #define IOemCellularModem_Release(This)	\
      ( (This)->lpVtbl -> Release(This) ) 
  
  
  #define IOemCellularModem_RegisterForOemCanAvailabilityChanges(This,pCallBack)	\
      ( (This)->lpVtbl -> RegisterForOemCanAvailabilityChanges(This,pCallBack) ) 
  
  #define IOemCellularModem_UnregisterForOemCanAvailabilityChanges(This,pCallback)	\
      ( (This)->lpVtbl -> UnregisterForOemCanAvailabilityChanges(This,pCallback) ) 
  
  #define IOemCellularModem_RegisterForOemSlotChanges(This,pCallback)	\
      ( (This)->lpVtbl -> RegisterForOemSlotChanges(This,pCallback) ) 
  
  #define IOemCellularModem_UnregisterForOemSlotChanges(This,pCallback)	\
      ( (This)->lpVtbl -> UnregisterForOemSlotChanges(This,pCallback) ) 
  
  #define IOemCellularModem_RegisterForPowerStateChanges(This,pCallback,context)	\
      ( (This)->lpVtbl -> RegisterForPowerStateChanges(This,pCallback,context) ) 
  
  #define IOemCellularModem_UnregisterForPowerStateChanges(This,pCallback)	\
      ( (This)->lpVtbl -> UnregisterForPowerStateChanges(This,pCallback) ) 
  
  #define IOemCellularModem_SendModemOpaqueCommand(This,pCallback,pOpaquePayload,cbSize,context)	\
      ( (This)->lpVtbl -> SendModemOpaqueCommand(This,pCallback,pOpaquePayload,cbSize,context) ) 
  
  #define IOemCellularModem_RegisterForOpaqueModemNotifications(This,pCallback)	\
      ( (This)->lpVtbl -> RegisterForOpaqueModemNotifications(This,pCallback) ) 
  
  #define IOemCellularModem_UnRegisterForOpaqueModemNotifications(This,pCallback)	\
      ( (This)->lpVtbl -> UnRegisterForOpaqueModemNotifications(This,pCallback) ) 
  
  #define IOemCellularModem_SetRFState(This,pCallback,dwRFPowerState,context)	\
      ( (This)->lpVtbl -> SetRFState(This,pCallback,dwRFPowerState,context) ) 
  
  #define IOemCellularModem_GetRFState(This,pCallback,context)	\
      ( (This)->lpVtbl -> GetRFState(This,pCallback,context) ) 
  
  #endif /* COBJMACROS */
  
  
  #endif 	/* C style interface */
  
  
  
  
  #endif 	/* __IOemCellularModem_INTERFACE_DEFINED__ */
  
  
  #ifndef __IOemCellularModemEx_INTERFACE_DEFINED__
  #define __IOemCellularModemEx_INTERFACE_DEFINED__
  
  /* interface IOemCellularModemEx */
  /* [uuid][oleautomation][object] */ 
  
  
  EXTERN_C const IID IID_IOemCellularModemEx;
  
  #if defined(__cplusplus) && !defined(CINTERFACE)
      
      MIDL_INTERFACE("1902f624-534e-4624-a815-3546021f0854")
      IOemCellularModemEx : public IUnknown
      {
      public:
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetRFState( 
              /* [in] */ __RPC__in_opt ISetRFStateCompletion *pCallback,
              /* [in] */ __RPC__in LPRILRFSTATE lpRFState,
              /* [in] */ INT_PTR context) = 0;
          
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetRFState( 
              /* [in] */ __RPC__in_opt IGetRFStateExCompletion *pCallback,
              /* [in] */ INT_PTR context) = 0;
          
      };
      
      
  #else 	/* C style interface */
  
      typedef struct IOemCellularModemExVtbl
      {
          BEGIN_INTERFACE
          
          HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
              __RPC__in IOemCellularModemEx * This,
              /* [in] */ __RPC__in REFIID riid,
              /* [annotation][iid_is][out] */ 
              _COM_Outptr_  void **ppvObject);
          
          ULONG ( STDMETHODCALLTYPE *AddRef )( 
              __RPC__in IOemCellularModemEx * This);
          
          ULONG ( STDMETHODCALLTYPE *Release )( 
              __RPC__in IOemCellularModemEx * This);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetRFState )( 
              __RPC__in IOemCellularModemEx * This,
              /* [in] */ __RPC__in_opt ISetRFStateCompletion *pCallback,
              /* [in] */ __RPC__in LPRILRFSTATE lpRFState,
              /* [in] */ INT_PTR context);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRFState )( 
              __RPC__in IOemCellularModemEx * This,
              /* [in] */ __RPC__in_opt IGetRFStateExCompletion *pCallback,
              /* [in] */ INT_PTR context);
          
          END_INTERFACE
      } IOemCellularModemExVtbl;
  
      interface IOemCellularModemEx
      {
          CONST_VTBL struct IOemCellularModemExVtbl *lpVtbl;
      };
  
      
  
  #ifdef COBJMACROS
  
  
  #define IOemCellularModemEx_QueryInterface(This,riid,ppvObject)	\
      ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
  
  #define IOemCellularModemEx_AddRef(This)	\
      ( (This)->lpVtbl -> AddRef(This) ) 
  
  #define IOemCellularModemEx_Release(This)	\
      ( (This)->lpVtbl -> Release(This) ) 
  
  
  #define IOemCellularModemEx_SetRFState(This,pCallback,lpRFState,context)	\
      ( (This)->lpVtbl -> SetRFState(This,pCallback,lpRFState,context) ) 
  
  #define IOemCellularModemEx_GetRFState(This,pCallback,context)	\
      ( (This)->lpVtbl -> GetRFState(This,pCallback,context) ) 
  
  #endif /* COBJMACROS */
  
  
  #endif 	/* C style interface */
  
  
  
  
  #endif 	/* __IOemCellularModemEx_INTERFACE_DEFINED__ */
  
  
  #ifndef __IOemCan_INTERFACE_DEFINED__
  #define __IOemCan_INTERFACE_DEFINED__
  
  /* interface IOemCan */
  /* [uuid][oleautomation][object] */ 
  
  
  EXTERN_C const IID IID_IOemCan;
  
  #if defined(__cplusplus) && !defined(CINTERFACE)
      
      MIDL_INTERFACE("A3822E4E-FFB5-4E46-8980-0182B8454E2E")
      IOemCan : public IUnknown
      {
      public:
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RegisterForOemCanRegistrationChanges( 
              /* [in] */ __RPC__in_opt IOemCanRegistrationStateChange *pCallback) = 0;
          
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UnregisterForOemCanRegistrationChanges( 
              /* [in] */ __RPC__in_opt IOemCanRegistrationStateChange *pCallback) = 0;
          
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetInfo( 
              /* [in] */ enum RILDEVICEINFORMATION deviceInfo,
              /* [in] */ __RPC__in_opt ICanInfoCompletion *pCallback,
              /* [in] */ INT_PTR context) = 0;
          
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPositionInfo( 
              /* [in] */ __RPC__in_opt IPositionInfoCompletion *pCallback,
              /* [in] */ INT_PTR context) = 0;
          
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryService( 
              /* [in] */ __RPC__in REFGUID guidService,
              /* [in] */ __RPC__in REFIID riid,
              /* [iid_is][out] */ __RPC__deref_out_opt void **ppv) = 0;
          
      };
      
      
  #else 	/* C style interface */
  
      typedef struct IOemCanVtbl
      {
          BEGIN_INTERFACE
          
          HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
              __RPC__in IOemCan * This,
              /* [in] */ __RPC__in REFIID riid,
              /* [annotation][iid_is][out] */ 
              _COM_Outptr_  void **ppvObject);
          
          ULONG ( STDMETHODCALLTYPE *AddRef )( 
              __RPC__in IOemCan * This);
          
          ULONG ( STDMETHODCALLTYPE *Release )( 
              __RPC__in IOemCan * This);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RegisterForOemCanRegistrationChanges )( 
              __RPC__in IOemCan * This,
              /* [in] */ __RPC__in_opt IOemCanRegistrationStateChange *pCallback);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UnregisterForOemCanRegistrationChanges )( 
              __RPC__in IOemCan * This,
              /* [in] */ __RPC__in_opt IOemCanRegistrationStateChange *pCallback);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetInfo )( 
              __RPC__in IOemCan * This,
              /* [in] */ enum RILDEVICEINFORMATION deviceInfo,
              /* [in] */ __RPC__in_opt ICanInfoCompletion *pCallback,
              /* [in] */ INT_PTR context);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPositionInfo )( 
              __RPC__in IOemCan * This,
              /* [in] */ __RPC__in_opt IPositionInfoCompletion *pCallback,
              /* [in] */ INT_PTR context);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *QueryService )( 
              __RPC__in IOemCan * This,
              /* [in] */ __RPC__in REFGUID guidService,
              /* [in] */ __RPC__in REFIID riid,
              /* [iid_is][out] */ __RPC__deref_out_opt void **ppv);
          
          END_INTERFACE
      } IOemCanVtbl;
  
      interface IOemCan
      {
          CONST_VTBL struct IOemCanVtbl *lpVtbl;
      };
  
      
  
  #ifdef COBJMACROS
  
  
  #define IOemCan_QueryInterface(This,riid,ppvObject)	\
      ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
  
  #define IOemCan_AddRef(This)	\
      ( (This)->lpVtbl -> AddRef(This) ) 
  
  #define IOemCan_Release(This)	\
      ( (This)->lpVtbl -> Release(This) ) 
  
  
  #define IOemCan_RegisterForOemCanRegistrationChanges(This,pCallback)	\
      ( (This)->lpVtbl -> RegisterForOemCanRegistrationChanges(This,pCallback) ) 
  
  #define IOemCan_UnregisterForOemCanRegistrationChanges(This,pCallback)	\
      ( (This)->lpVtbl -> UnregisterForOemCanRegistrationChanges(This,pCallback) ) 
  
  #define IOemCan_GetInfo(This,deviceInfo,pCallback,context)	\
      ( (This)->lpVtbl -> GetInfo(This,deviceInfo,pCallback,context) ) 
  
  #define IOemCan_GetPositionInfo(This,pCallback,context)	\
      ( (This)->lpVtbl -> GetPositionInfo(This,pCallback,context) ) 
  
  #define IOemCan_QueryService(This,guidService,riid,ppv)	\
      ( (This)->lpVtbl -> QueryService(This,guidService,riid,ppv) ) 
  
  #endif /* COBJMACROS */
  
  
  #endif 	/* C style interface */
  
  
  
  
  #endif 	/* __IOemCan_INTERFACE_DEFINED__ */
  
  
  #ifndef __IOemCanExtForIMS_INTERFACE_DEFINED__
  #define __IOemCanExtForIMS_INTERFACE_DEFINED__
  
  /* interface IOemCanExtForIMS */
  /* [uuid][oleautomation][object] */ 
  
  
  EXTERN_C const IID IID_IOemCanExtForIMS;
  
  #if defined(__cplusplus) && !defined(CINTERFACE)
      
      MIDL_INTERFACE("C5310A1A-E885-4450-B823-84AD7FD15CBF")
      IOemCanExtForIMS : public IUnknown
      {
      public:
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RegisterForOemIMSStatusChanges( 
              /* [in] */ __RPC__in_opt IOemIMSStatusChange *pCallback) = 0;
          
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UnregisterForOemIMSStatusChanges( 
              /* [in] */ __RPC__in_opt IOemIMSStatusChange *pCallback) = 0;
          
      };
      
      
  #else 	/* C style interface */
  
      typedef struct IOemCanExtForIMSVtbl
      {
          BEGIN_INTERFACE
          
          HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
              __RPC__in IOemCanExtForIMS * This,
              /* [in] */ __RPC__in REFIID riid,
              /* [annotation][iid_is][out] */ 
              _COM_Outptr_  void **ppvObject);
          
          ULONG ( STDMETHODCALLTYPE *AddRef )( 
              __RPC__in IOemCanExtForIMS * This);
          
          ULONG ( STDMETHODCALLTYPE *Release )( 
              __RPC__in IOemCanExtForIMS * This);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RegisterForOemIMSStatusChanges )( 
              __RPC__in IOemCanExtForIMS * This,
              /* [in] */ __RPC__in_opt IOemIMSStatusChange *pCallback);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UnregisterForOemIMSStatusChanges )( 
              __RPC__in IOemCanExtForIMS * This,
              /* [in] */ __RPC__in_opt IOemIMSStatusChange *pCallback);
          
          END_INTERFACE
      } IOemCanExtForIMSVtbl;
  
      interface IOemCanExtForIMS
      {
          CONST_VTBL struct IOemCanExtForIMSVtbl *lpVtbl;
      };
  
      
  
  #ifdef COBJMACROS
  
  
  #define IOemCanExtForIMS_QueryInterface(This,riid,ppvObject)	\
      ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
  
  #define IOemCanExtForIMS_AddRef(This)	\
      ( (This)->lpVtbl -> AddRef(This) ) 
  
  #define IOemCanExtForIMS_Release(This)	\
      ( (This)->lpVtbl -> Release(This) ) 
  
  
  #define IOemCanExtForIMS_RegisterForOemIMSStatusChanges(This,pCallback)	\
      ( (This)->lpVtbl -> RegisterForOemIMSStatusChanges(This,pCallback) ) 
  
  #define IOemCanExtForIMS_UnregisterForOemIMSStatusChanges(This,pCallback)	\
      ( (This)->lpVtbl -> UnregisterForOemIMSStatusChanges(This,pCallback) ) 
  
  #endif /* COBJMACROS */
  
  
  #endif 	/* C style interface */
  
  
  
  
  #endif 	/* __IOemCanExtForIMS_INTERFACE_DEFINED__ */
  
  
  #ifndef __IOemSlot_INTERFACE_DEFINED__
  #define __IOemSlot_INTERFACE_DEFINED__
  
  /* interface IOemSlot */
  /* [uuid][oleautomation][object] */ 
  
  
  EXTERN_C const IID IID_IOemSlot;
  
  #if defined(__cplusplus) && !defined(CINTERFACE)
      
      MIDL_INTERFACE("DAE67DE6-0C18-4158-9323-CF7FB14EC216")
      IOemSlot : public IUnknown
      {
      public:
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RegisterForOemSlotChanges( 
              /* [in] */ __RPC__in_opt IOemSlotStateChange *pCallback) = 0;
          
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UnregisterForOemSlotChanges( 
              /* [in] */ __RPC__in_opt IOemSlotStateChange *pCallback) = 0;
          
      };
      
      
  #else 	/* C style interface */
  
      typedef struct IOemSlotVtbl
      {
          BEGIN_INTERFACE
          
          HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
              __RPC__in IOemSlot * This,
              /* [in] */ __RPC__in REFIID riid,
              /* [annotation][iid_is][out] */ 
              _COM_Outptr_  void **ppvObject);
          
          ULONG ( STDMETHODCALLTYPE *AddRef )( 
              __RPC__in IOemSlot * This);
          
          ULONG ( STDMETHODCALLTYPE *Release )( 
              __RPC__in IOemSlot * This);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RegisterForOemSlotChanges )( 
              __RPC__in IOemSlot * This,
              /* [in] */ __RPC__in_opt IOemSlotStateChange *pCallback);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UnregisterForOemSlotChanges )( 
              __RPC__in IOemSlot * This,
              /* [in] */ __RPC__in_opt IOemSlotStateChange *pCallback);
          
          END_INTERFACE
      } IOemSlotVtbl;
  
      interface IOemSlot
      {
          CONST_VTBL struct IOemSlotVtbl *lpVtbl;
      };
  
      
  
  #ifdef COBJMACROS
  
  
  #define IOemSlot_QueryInterface(This,riid,ppvObject)	\
      ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
  
  #define IOemSlot_AddRef(This)	\
      ( (This)->lpVtbl -> AddRef(This) ) 
  
  #define IOemSlot_Release(This)	\
      ( (This)->lpVtbl -> Release(This) ) 
  
  
  #define IOemSlot_RegisterForOemSlotChanges(This,pCallback)	\
      ( (This)->lpVtbl -> RegisterForOemSlotChanges(This,pCallback) ) 
  
  #define IOemSlot_UnregisterForOemSlotChanges(This,pCallback)	\
      ( (This)->lpVtbl -> UnregisterForOemSlotChanges(This,pCallback) ) 
  
  #endif /* COBJMACROS */
  
  
  #endif 	/* C style interface */
  
  
  
  
  #endif 	/* __IOemSlot_INTERFACE_DEFINED__ */
  
  
  #ifndef __IOemUicc_INTERFACE_DEFINED__
  #define __IOemUicc_INTERFACE_DEFINED__
  
  /* interface IOemUicc */
  /* [uuid][oleautomation][object] */ 
  
  
  EXTERN_C const IID IID_IOemUicc;
  
  #if defined(__cplusplus) && !defined(CINTERFACE)
      
      MIDL_INTERFACE("FD5DBCF6-810D-4CE8-AC06-1B8628808950")
      IOemUicc : public IUnknown
      {
      public:
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RegisterForOemUiccChanges( 
              /* [in] */ __RPC__in_opt IOemUiccChange *pCallback) = 0;
          
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UnregisterForOemUiccChanges( 
              /* [in] */ __RPC__in_opt IOemUiccChange *pCallback) = 0;
          
      };
      
      
  #else 	/* C style interface */
  
      typedef struct IOemUiccVtbl
      {
          BEGIN_INTERFACE
          
          HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
              __RPC__in IOemUicc * This,
              /* [in] */ __RPC__in REFIID riid,
              /* [annotation][iid_is][out] */ 
              _COM_Outptr_  void **ppvObject);
          
          ULONG ( STDMETHODCALLTYPE *AddRef )( 
              __RPC__in IOemUicc * This);
          
          ULONG ( STDMETHODCALLTYPE *Release )( 
              __RPC__in IOemUicc * This);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RegisterForOemUiccChanges )( 
              __RPC__in IOemUicc * This,
              /* [in] */ __RPC__in_opt IOemUiccChange *pCallback);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UnregisterForOemUiccChanges )( 
              __RPC__in IOemUicc * This,
              /* [in] */ __RPC__in_opt IOemUiccChange *pCallback);
          
          END_INTERFACE
      } IOemUiccVtbl;
  
      interface IOemUicc
      {
          CONST_VTBL struct IOemUiccVtbl *lpVtbl;
      };
  
      
  
  #ifdef COBJMACROS
  
  
  #define IOemUicc_QueryInterface(This,riid,ppvObject)	\
      ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
  
  #define IOemUicc_AddRef(This)	\
      ( (This)->lpVtbl -> AddRef(This) ) 
  
  #define IOemUicc_Release(This)	\
      ( (This)->lpVtbl -> Release(This) ) 
  
  
  #define IOemUicc_RegisterForOemUiccChanges(This,pCallback)	\
      ( (This)->lpVtbl -> RegisterForOemUiccChanges(This,pCallback) ) 
  
  #define IOemUicc_UnregisterForOemUiccChanges(This,pCallback)	\
      ( (This)->lpVtbl -> UnregisterForOemUiccChanges(This,pCallback) ) 
  
  #endif /* COBJMACROS */
  
  
  #endif 	/* C style interface */
  
  
  
  
  #endif 	/* __IOemUicc_INTERFACE_DEFINED__ */
  
  
  #ifndef __IOemUiccApp_INTERFACE_DEFINED__
  #define __IOemUiccApp_INTERFACE_DEFINED__
  
  /* interface IOemUiccApp */
  /* [uuid][oleautomation][object] */ 
  
  
  EXTERN_C const IID IID_IOemUiccApp;
  
  #if defined(__cplusplus) && !defined(CINTERFACE)
      
      MIDL_INTERFACE("2D00BFEE-AA9F-48FD-9D2B-E8D3D3EDDC60")
      IOemUiccApp : public IUnknown
      {
      public:
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAppId( 
              /* [out] */ __RPC__out BYTE *appId,
              /* [out][in] */ __RPC__inout DWORD *length) = 0;
          
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetType( 
              /* [out] */ __RPC__out RILUICCAPPTYPE *pType) = 0;
          
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPinLockState( 
              /* [in] */ __RPC__in_opt IPinLockStateCompletion *pCallback,
              /* [in] */ INT_PTR context) = 0;
          
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ReadRecord( 
              /* [in] */ __RPC__in_opt IReadRecordCompletion *pCallback,
              /* [in] */ DWORD fileID,
              /* [in] */ DWORD recordIndex,
              /* [in] */ INT_PTR context) = 0;
          
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE WriteRecord( 
              /* [in] */ __RPC__in_opt IWriteRecordCompletion *pCallback,
              /* [in] */ DWORD fileID,
              /* [in] */ DWORD recordIndex,
              /* [in] */ __RPC__in const BYTE *bData,
              /* [in] */ DWORD cbSize,
              /* [in] */ INT_PTR context) = 0;
          
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetRecordStatusOnFilePath( 
              /* [in] */ __RPC__in_opt IGetRecordStatusCompletion *pCallback,
              /* [size_is][in] */ __RPC__in_ecount_full(filePathLen) const WORD *uiccFilePath,
              /* [in] */ DWORD filePathLen,
              /* [in] */ INT_PTR context) = 0;
          
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ReadRecordOnFilePath( 
              /* [in] */ __RPC__in_opt IReadRecordCompletion *pCallback,
              /* [size_is][in] */ __RPC__in_ecount_full(filePathLen) const WORD *uiccFilePath,
              /* [in] */ DWORD filePathLen,
              /* [in] */ DWORD recordIndex,
              /* [in] */ INT_PTR context) = 0;
          
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE WriteRecordOnFilePath( 
              /* [in] */ __RPC__in_opt IWriteRecordCompletion *pCallback,
              /* [size_is][in] */ __RPC__in_ecount_full(filePathLen) const WORD *uiccFilePath,
              /* [in] */ DWORD filePathLen,
              /* [in] */ DWORD recordIndex,
              /* [in] */ __RPC__in const BYTE *bData,
              /* [in] */ DWORD cbSize,
              /* [in] */ INT_PTR context) = 0;
          
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetIMSI( 
              /* [in] */ __RPC__in_opt IIMSICompletion *pCallback,
              /* [in] */ INT_PTR context) = 0;
          
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetSIDNID( 
              /* [in] */ __RPC__in_opt IGetSIDNIDCompletion *pCallback,
              /* [in] */ INT_PTR context) = 0;
          
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetSubscriberNumbers( 
              /* [in] */ __RPC__in_opt ISubscriberNumbersCompletion *pCallback,
              /* [in] */ INT_PTR context) = 0;
          
      };
      
      
  #else 	/* C style interface */
  
      typedef struct IOemUiccAppVtbl
      {
          BEGIN_INTERFACE
          
          HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
              __RPC__in IOemUiccApp * This,
              /* [in] */ __RPC__in REFIID riid,
              /* [annotation][iid_is][out] */ 
              _COM_Outptr_  void **ppvObject);
          
          ULONG ( STDMETHODCALLTYPE *AddRef )( 
              __RPC__in IOemUiccApp * This);
          
          ULONG ( STDMETHODCALLTYPE *Release )( 
              __RPC__in IOemUiccApp * This);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAppId )( 
              __RPC__in IOemUiccApp * This,
              /* [out] */ __RPC__out BYTE *appId,
              /* [out][in] */ __RPC__inout DWORD *length);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetType )( 
              __RPC__in IOemUiccApp * This,
              /* [out] */ __RPC__out RILUICCAPPTYPE *pType);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPinLockState )( 
              __RPC__in IOemUiccApp * This,
              /* [in] */ __RPC__in_opt IPinLockStateCompletion *pCallback,
              /* [in] */ INT_PTR context);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ReadRecord )( 
              __RPC__in IOemUiccApp * This,
              /* [in] */ __RPC__in_opt IReadRecordCompletion *pCallback,
              /* [in] */ DWORD fileID,
              /* [in] */ DWORD recordIndex,
              /* [in] */ INT_PTR context);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *WriteRecord )( 
              __RPC__in IOemUiccApp * This,
              /* [in] */ __RPC__in_opt IWriteRecordCompletion *pCallback,
              /* [in] */ DWORD fileID,
              /* [in] */ DWORD recordIndex,
              /* [in] */ __RPC__in const BYTE *bData,
              /* [in] */ DWORD cbSize,
              /* [in] */ INT_PTR context);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRecordStatusOnFilePath )( 
              __RPC__in IOemUiccApp * This,
              /* [in] */ __RPC__in_opt IGetRecordStatusCompletion *pCallback,
              /* [size_is][in] */ __RPC__in_ecount_full(filePathLen) const WORD *uiccFilePath,
              /* [in] */ DWORD filePathLen,
              /* [in] */ INT_PTR context);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ReadRecordOnFilePath )( 
              __RPC__in IOemUiccApp * This,
              /* [in] */ __RPC__in_opt IReadRecordCompletion *pCallback,
              /* [size_is][in] */ __RPC__in_ecount_full(filePathLen) const WORD *uiccFilePath,
              /* [in] */ DWORD filePathLen,
              /* [in] */ DWORD recordIndex,
              /* [in] */ INT_PTR context);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *WriteRecordOnFilePath )( 
              __RPC__in IOemUiccApp * This,
              /* [in] */ __RPC__in_opt IWriteRecordCompletion *pCallback,
              /* [size_is][in] */ __RPC__in_ecount_full(filePathLen) const WORD *uiccFilePath,
              /* [in] */ DWORD filePathLen,
              /* [in] */ DWORD recordIndex,
              /* [in] */ __RPC__in const BYTE *bData,
              /* [in] */ DWORD cbSize,
              /* [in] */ INT_PTR context);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetIMSI )( 
              __RPC__in IOemUiccApp * This,
              /* [in] */ __RPC__in_opt IIMSICompletion *pCallback,
              /* [in] */ INT_PTR context);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetSIDNID )( 
              __RPC__in IOemUiccApp * This,
              /* [in] */ __RPC__in_opt IGetSIDNIDCompletion *pCallback,
              /* [in] */ INT_PTR context);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetSubscriberNumbers )( 
              __RPC__in IOemUiccApp * This,
              /* [in] */ __RPC__in_opt ISubscriberNumbersCompletion *pCallback,
              /* [in] */ INT_PTR context);
          
          END_INTERFACE
      } IOemUiccAppVtbl;
  
      interface IOemUiccApp
      {
          CONST_VTBL struct IOemUiccAppVtbl *lpVtbl;
      };
  
      
  
  #ifdef COBJMACROS
  
  
  #define IOemUiccApp_QueryInterface(This,riid,ppvObject)	\
      ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
  
  #define IOemUiccApp_AddRef(This)	\
      ( (This)->lpVtbl -> AddRef(This) ) 
  
  #define IOemUiccApp_Release(This)	\
      ( (This)->lpVtbl -> Release(This) ) 
  
  
  #define IOemUiccApp_GetAppId(This,appId,length)	\
      ( (This)->lpVtbl -> GetAppId(This,appId,length) ) 
  
  #define IOemUiccApp_GetType(This,pType)	\
      ( (This)->lpVtbl -> GetType(This,pType) ) 
  
  #define IOemUiccApp_GetPinLockState(This,pCallback,context)	\
      ( (This)->lpVtbl -> GetPinLockState(This,pCallback,context) ) 
  
  #define IOemUiccApp_ReadRecord(This,pCallback,fileID,recordIndex,context)	\
      ( (This)->lpVtbl -> ReadRecord(This,pCallback,fileID,recordIndex,context) ) 
  
  #define IOemUiccApp_WriteRecord(This,pCallback,fileID,recordIndex,bData,cbSize,context)	\
      ( (This)->lpVtbl -> WriteRecord(This,pCallback,fileID,recordIndex,bData,cbSize,context) ) 
  
  #define IOemUiccApp_GetRecordStatusOnFilePath(This,pCallback,uiccFilePath,filePathLen,context)	\
      ( (This)->lpVtbl -> GetRecordStatusOnFilePath(This,pCallback,uiccFilePath,filePathLen,context) ) 
  
  #define IOemUiccApp_ReadRecordOnFilePath(This,pCallback,uiccFilePath,filePathLen,recordIndex,context)	\
      ( (This)->lpVtbl -> ReadRecordOnFilePath(This,pCallback,uiccFilePath,filePathLen,recordIndex,context) ) 
  
  #define IOemUiccApp_WriteRecordOnFilePath(This,pCallback,uiccFilePath,filePathLen,recordIndex,bData,cbSize,context)	\
      ( (This)->lpVtbl -> WriteRecordOnFilePath(This,pCallback,uiccFilePath,filePathLen,recordIndex,bData,cbSize,context) ) 
  
  #define IOemUiccApp_GetIMSI(This,pCallback,context)	\
      ( (This)->lpVtbl -> GetIMSI(This,pCallback,context) ) 
  
  #define IOemUiccApp_GetSIDNID(This,pCallback,context)	\
      ( (This)->lpVtbl -> GetSIDNID(This,pCallback,context) ) 
  
  #define IOemUiccApp_GetSubscriberNumbers(This,pCallback,context)	\
      ( (This)->lpVtbl -> GetSubscriberNumbers(This,pCallback,context) ) 
  
  #endif /* COBJMACROS */
  
  
  #endif 	/* C style interface */
  
  
  
  
  #endif 	/* __IOemUiccApp_INTERFACE_DEFINED__ */
  
  
  #ifndef __IOemUiccAppEx_INTERFACE_DEFINED__
  #define __IOemUiccAppEx_INTERFACE_DEFINED__
  
  /* interface IOemUiccAppEx */
  /* [uuid][oleautomation][object] */ 
  
  
  EXTERN_C const IID IID_IOemUiccAppEx;
  
  #if defined(__cplusplus) && !defined(CINTERFACE)
      
      MIDL_INTERFACE("0C50366C-D5ED-4F00-AA54-1537A63D8A01")
      IOemUiccAppEx : public IUnknown
      {
      public:
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPreferredOperatorList( 
              /* [in] */ __RPC__in_opt IGetPLMNwAcT *pResponseHandler) = 0;
          
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetPreferredOperatorList( 
              /* [in] */ __RPC__in_opt ISetPLMNwAcT *pResponseHandler,
              /* [size_is][in] */ __RPC__in_ecount_full(dwLength) RILOPERATORNAMES *pOperatorList,
              /* [in] */ DWORD dwLength) = 0;
          
      };
      
      
  #else 	/* C style interface */
  
      typedef struct IOemUiccAppExVtbl
      {
          BEGIN_INTERFACE
          
          HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
              __RPC__in IOemUiccAppEx * This,
              /* [in] */ __RPC__in REFIID riid,
              /* [annotation][iid_is][out] */ 
              _COM_Outptr_  void **ppvObject);
          
          ULONG ( STDMETHODCALLTYPE *AddRef )( 
              __RPC__in IOemUiccAppEx * This);
          
          ULONG ( STDMETHODCALLTYPE *Release )( 
              __RPC__in IOemUiccAppEx * This);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPreferredOperatorList )( 
              __RPC__in IOemUiccAppEx * This,
              /* [in] */ __RPC__in_opt IGetPLMNwAcT *pResponseHandler);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetPreferredOperatorList )( 
              __RPC__in IOemUiccAppEx * This,
              /* [in] */ __RPC__in_opt ISetPLMNwAcT *pResponseHandler,
              /* [size_is][in] */ __RPC__in_ecount_full(dwLength) RILOPERATORNAMES *pOperatorList,
              /* [in] */ DWORD dwLength);
          
          END_INTERFACE
      } IOemUiccAppExVtbl;
  
      interface IOemUiccAppEx
      {
          CONST_VTBL struct IOemUiccAppExVtbl *lpVtbl;
      };
  
      
  
  #ifdef COBJMACROS
  
  
  #define IOemUiccAppEx_QueryInterface(This,riid,ppvObject)	\
      ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
  
  #define IOemUiccAppEx_AddRef(This)	\
      ( (This)->lpVtbl -> AddRef(This) ) 
  
  #define IOemUiccAppEx_Release(This)	\
      ( (This)->lpVtbl -> Release(This) ) 
  
  
  #define IOemUiccAppEx_GetPreferredOperatorList(This,pResponseHandler)	\
      ( (This)->lpVtbl -> GetPreferredOperatorList(This,pResponseHandler) ) 
  
  #define IOemUiccAppEx_SetPreferredOperatorList(This,pResponseHandler,pOperatorList,dwLength)	\
      ( (This)->lpVtbl -> SetPreferredOperatorList(This,pResponseHandler,pOperatorList,dwLength) ) 
  
  #endif /* COBJMACROS */
  
  
  #endif 	/* C style interface */
  
  
  
  
  #endif 	/* __IOemUiccAppEx_INTERFACE_DEFINED__ */
  
  
  #ifndef __IOemUiccAppEx2_INTERFACE_DEFINED__
  #define __IOemUiccAppEx2_INTERFACE_DEFINED__
  
  /* interface IOemUiccAppEx2 */
  /* [uuid][oleautomation][object] */ 
  
  
  EXTERN_C const IID IID_IOemUiccAppEx2;
  
  #if defined(__cplusplus) && !defined(CINTERFACE)
      
      MIDL_INTERFACE("C9772450-A940-4E27-A3EA-AFCC5ECC7556")
      IOemUiccAppEx2 : public IUnknown
      {
      public:
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetNAI( 
              /* [in] */ __RPC__in_opt IGetNAICompletion *pCallback,
              /* [in] */ INT_PTR context) = 0;
          
      };
      
      
  #else 	/* C style interface */
  
      typedef struct IOemUiccAppEx2Vtbl
      {
          BEGIN_INTERFACE
          
          HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
              __RPC__in IOemUiccAppEx2 * This,
              /* [in] */ __RPC__in REFIID riid,
              /* [annotation][iid_is][out] */ 
              _COM_Outptr_  void **ppvObject);
          
          ULONG ( STDMETHODCALLTYPE *AddRef )( 
              __RPC__in IOemUiccAppEx2 * This);
          
          ULONG ( STDMETHODCALLTYPE *Release )( 
              __RPC__in IOemUiccAppEx2 * This);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetNAI )( 
              __RPC__in IOemUiccAppEx2 * This,
              /* [in] */ __RPC__in_opt IGetNAICompletion *pCallback,
              /* [in] */ INT_PTR context);
          
          END_INTERFACE
      } IOemUiccAppEx2Vtbl;
  
      interface IOemUiccAppEx2
      {
          CONST_VTBL struct IOemUiccAppEx2Vtbl *lpVtbl;
      };
  
      
  
  #ifdef COBJMACROS
  
  
  #define IOemUiccAppEx2_QueryInterface(This,riid,ppvObject)	\
      ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
  
  #define IOemUiccAppEx2_AddRef(This)	\
      ( (This)->lpVtbl -> AddRef(This) ) 
  
  #define IOemUiccAppEx2_Release(This)	\
      ( (This)->lpVtbl -> Release(This) ) 
  
  
  #define IOemUiccAppEx2_GetNAI(This,pCallback,context)	\
      ( (This)->lpVtbl -> GetNAI(This,pCallback,context) ) 
  
  #endif /* COBJMACROS */
  
  
  #endif 	/* C style interface */
  
  
  
  
  #endif 	/* __IOemUiccAppEx2_INTERFACE_DEFINED__ */
  
  
  #ifndef __IOem3GPPSupServices_INTERFACE_DEFINED__
  #define __IOem3GPPSupServices_INTERFACE_DEFINED__
  
  /* interface IOem3GPPSupServices */
  /* [uuid][oleautomation][object] */ 
  
  
  EXTERN_C const IID IID_IOem3GPPSupServices;
  
  #if defined(__cplusplus) && !defined(CINTERFACE)
      
      MIDL_INTERFACE("138820C5-299D-4d1d-80B9-1664A17B1B41")
      IOem3GPPSupServices : public IUnknown
      {
      public:
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetCallForwardingSettings( 
              /* [in] */ __RPC__in_opt IGetCallForwardingCompletion *pCallback,
              /* [in] */ INT_PTR context,
              /* [in] */ RILCALLFORWARDINGSETTINGSREASON reason,
              /* [in] */ BOOL allClasses,
              /* [in] */ DWORD infoClasses) = 0;
          
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetCallForwardingStatus( 
              /* [in] */ __RPC__in_opt ISimpleModemCompletion *pCallback,
              /* [in] */ INT_PTR context,
              /* [in] */ RILCALLFORWARDINGSETTINGSREASON dwReason,
              /* [in] */ BOOL fAllClasses,
              /* [in] */ DWORD dwInfoClasses,
              /* [in] */ RILSERVICESETTINGSSTATUS dwStatus) = 0;
          
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddCallForwarding( 
              /* [in] */ __RPC__in_opt ISimpleModemCompletion *pCallback,
              /* [in] */ INT_PTR context,
              /* [in] */ RILCALLFORWARDINGSETTINGSREASON dwReason,
              /* [in] */ __RPC__in const RILCALLFORWARDINGSETTINGS *lpSettings) = 0;
          
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveCallForwarding( 
              /* [in] */ __RPC__in_opt ISimpleModemCompletion *pCallback,
              /* [in] */ INT_PTR context,
              /* [in] */ RILCALLFORWARDINGSETTINGSREASON dwReason,
              /* [in] */ DWORD dwInfoClasses) = 0;
          
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetCallWaitingSettings( 
              /* [in] */ __RPC__in_opt ICallWaitingSettingsCompletion *pCallback,
              /* [in] */ INT_PTR context,
              /* [in] */ BOOL fAllClasses,
              /* [in] */ DWORD dwInfoClasses) = 0;
          
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetCallWaitingSettings( 
              /* [in] */ __RPC__in_opt ISimpleModemCompletion *pCallback,
              /* [in] */ INT_PTR context,
              /* [in] */ BOOL fAllClasses,
              /* [in] */ DWORD dwInfoClasses,
              /* [in] */ RILSERVICESETTINGSSTATUS dwStatus) = 0;
          
      };
      
      
  #else 	/* C style interface */
  
      typedef struct IOem3GPPSupServicesVtbl
      {
          BEGIN_INTERFACE
          
          HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
              __RPC__in IOem3GPPSupServices * This,
              /* [in] */ __RPC__in REFIID riid,
              /* [annotation][iid_is][out] */ 
              _COM_Outptr_  void **ppvObject);
          
          ULONG ( STDMETHODCALLTYPE *AddRef )( 
              __RPC__in IOem3GPPSupServices * This);
          
          ULONG ( STDMETHODCALLTYPE *Release )( 
              __RPC__in IOem3GPPSupServices * This);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetCallForwardingSettings )( 
              __RPC__in IOem3GPPSupServices * This,
              /* [in] */ __RPC__in_opt IGetCallForwardingCompletion *pCallback,
              /* [in] */ INT_PTR context,
              /* [in] */ RILCALLFORWARDINGSETTINGSREASON reason,
              /* [in] */ BOOL allClasses,
              /* [in] */ DWORD infoClasses);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetCallForwardingStatus )( 
              __RPC__in IOem3GPPSupServices * This,
              /* [in] */ __RPC__in_opt ISimpleModemCompletion *pCallback,
              /* [in] */ INT_PTR context,
              /* [in] */ RILCALLFORWARDINGSETTINGSREASON dwReason,
              /* [in] */ BOOL fAllClasses,
              /* [in] */ DWORD dwInfoClasses,
              /* [in] */ RILSERVICESETTINGSSTATUS dwStatus);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddCallForwarding )( 
              __RPC__in IOem3GPPSupServices * This,
              /* [in] */ __RPC__in_opt ISimpleModemCompletion *pCallback,
              /* [in] */ INT_PTR context,
              /* [in] */ RILCALLFORWARDINGSETTINGSREASON dwReason,
              /* [in] */ __RPC__in const RILCALLFORWARDINGSETTINGS *lpSettings);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveCallForwarding )( 
              __RPC__in IOem3GPPSupServices * This,
              /* [in] */ __RPC__in_opt ISimpleModemCompletion *pCallback,
              /* [in] */ INT_PTR context,
              /* [in] */ RILCALLFORWARDINGSETTINGSREASON dwReason,
              /* [in] */ DWORD dwInfoClasses);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetCallWaitingSettings )( 
              __RPC__in IOem3GPPSupServices * This,
              /* [in] */ __RPC__in_opt ICallWaitingSettingsCompletion *pCallback,
              /* [in] */ INT_PTR context,
              /* [in] */ BOOL fAllClasses,
              /* [in] */ DWORD dwInfoClasses);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetCallWaitingSettings )( 
              __RPC__in IOem3GPPSupServices * This,
              /* [in] */ __RPC__in_opt ISimpleModemCompletion *pCallback,
              /* [in] */ INT_PTR context,
              /* [in] */ BOOL fAllClasses,
              /* [in] */ DWORD dwInfoClasses,
              /* [in] */ RILSERVICESETTINGSSTATUS dwStatus);
          
          END_INTERFACE
      } IOem3GPPSupServicesVtbl;
  
      interface IOem3GPPSupServices
      {
          CONST_VTBL struct IOem3GPPSupServicesVtbl *lpVtbl;
      };
  
      
  
  #ifdef COBJMACROS
  
  
  #define IOem3GPPSupServices_QueryInterface(This,riid,ppvObject)	\
      ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
  
  #define IOem3GPPSupServices_AddRef(This)	\
      ( (This)->lpVtbl -> AddRef(This) ) 
  
  #define IOem3GPPSupServices_Release(This)	\
      ( (This)->lpVtbl -> Release(This) ) 
  
  
  #define IOem3GPPSupServices_GetCallForwardingSettings(This,pCallback,context,reason,allClasses,infoClasses)	\
      ( (This)->lpVtbl -> GetCallForwardingSettings(This,pCallback,context,reason,allClasses,infoClasses) ) 
  
  #define IOem3GPPSupServices_SetCallForwardingStatus(This,pCallback,context,dwReason,fAllClasses,dwInfoClasses,dwStatus)	\
      ( (This)->lpVtbl -> SetCallForwardingStatus(This,pCallback,context,dwReason,fAllClasses,dwInfoClasses,dwStatus) ) 
  
  #define IOem3GPPSupServices_AddCallForwarding(This,pCallback,context,dwReason,lpSettings)	\
      ( (This)->lpVtbl -> AddCallForwarding(This,pCallback,context,dwReason,lpSettings) ) 
  
  #define IOem3GPPSupServices_RemoveCallForwarding(This,pCallback,context,dwReason,dwInfoClasses)	\
      ( (This)->lpVtbl -> RemoveCallForwarding(This,pCallback,context,dwReason,dwInfoClasses) ) 
  
  #define IOem3GPPSupServices_GetCallWaitingSettings(This,pCallback,context,fAllClasses,dwInfoClasses)	\
      ( (This)->lpVtbl -> GetCallWaitingSettings(This,pCallback,context,fAllClasses,dwInfoClasses) ) 
  
  #define IOem3GPPSupServices_SetCallWaitingSettings(This,pCallback,context,fAllClasses,dwInfoClasses,dwStatus)	\
      ( (This)->lpVtbl -> SetCallWaitingSettings(This,pCallback,context,fAllClasses,dwInfoClasses,dwStatus) ) 
  
  #endif /* COBJMACROS */
  
  
  #endif 	/* C style interface */
  
  
  
  
  #endif 	/* __IOem3GPPSupServices_INTERFACE_DEFINED__ */
  
  
  #ifndef __IOemCellularModemExistenceChange_INTERFACE_DEFINED__
  #define __IOemCellularModemExistenceChange_INTERFACE_DEFINED__
  
  /* interface IOemCellularModemExistenceChange */
  /* [uuid][oleautomation][object] */ 
  
  
  EXTERN_C const IID IID_IOemCellularModemExistenceChange;
  
  #if defined(__cplusplus) && !defined(CINTERFACE)
      
      MIDL_INTERFACE("A2CBC3C1-79D5-4F9D-A6F9-FDE497848EC1")
      IOemCellularModemExistenceChange : public IUnknown
      {
      public:
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnOemModemAdded( 
              /* [in] */ __RPC__in_opt IOemCellularModem *pModem) = 0;
          
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnOemModemRemoved( 
              /* [in] */ __RPC__in_opt IOemCellularModem *pModem) = 0;
          
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnOemModemExistenceDone( void) = 0;
          
      };
      
      
  #else 	/* C style interface */
  
      typedef struct IOemCellularModemExistenceChangeVtbl
      {
          BEGIN_INTERFACE
          
          HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
              __RPC__in IOemCellularModemExistenceChange * This,
              /* [in] */ __RPC__in REFIID riid,
              /* [annotation][iid_is][out] */ 
              _COM_Outptr_  void **ppvObject);
          
          ULONG ( STDMETHODCALLTYPE *AddRef )( 
              __RPC__in IOemCellularModemExistenceChange * This);
          
          ULONG ( STDMETHODCALLTYPE *Release )( 
              __RPC__in IOemCellularModemExistenceChange * This);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnOemModemAdded )( 
              __RPC__in IOemCellularModemExistenceChange * This,
              /* [in] */ __RPC__in_opt IOemCellularModem *pModem);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnOemModemRemoved )( 
              __RPC__in IOemCellularModemExistenceChange * This,
              /* [in] */ __RPC__in_opt IOemCellularModem *pModem);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnOemModemExistenceDone )( 
              __RPC__in IOemCellularModemExistenceChange * This);
          
          END_INTERFACE
      } IOemCellularModemExistenceChangeVtbl;
  
      interface IOemCellularModemExistenceChange
      {
          CONST_VTBL struct IOemCellularModemExistenceChangeVtbl *lpVtbl;
      };
  
      
  
  #ifdef COBJMACROS
  
  
  #define IOemCellularModemExistenceChange_QueryInterface(This,riid,ppvObject)	\
      ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
  
  #define IOemCellularModemExistenceChange_AddRef(This)	\
      ( (This)->lpVtbl -> AddRef(This) ) 
  
  #define IOemCellularModemExistenceChange_Release(This)	\
      ( (This)->lpVtbl -> Release(This) ) 
  
  
  #define IOemCellularModemExistenceChange_OnOemModemAdded(This,pModem)	\
      ( (This)->lpVtbl -> OnOemModemAdded(This,pModem) ) 
  
  #define IOemCellularModemExistenceChange_OnOemModemRemoved(This,pModem)	\
      ( (This)->lpVtbl -> OnOemModemRemoved(This,pModem) ) 
  
  #define IOemCellularModemExistenceChange_OnOemModemExistenceDone(This)	\
      ( (This)->lpVtbl -> OnOemModemExistenceDone(This) ) 
  
  #endif /* COBJMACROS */
  
  
  #endif 	/* C style interface */
  
  
  
  
  #endif 	/* __IOemCellularModemExistenceChange_INTERFACE_DEFINED__ */
  
  
  #ifndef __IOemCellularCanAvailabilityChange_INTERFACE_DEFINED__
  #define __IOemCellularCanAvailabilityChange_INTERFACE_DEFINED__
  
  /* interface IOemCellularCanAvailabilityChange */
  /* [uuid][oleautomation][object] */ 
  
  
  EXTERN_C const IID IID_IOemCellularCanAvailabilityChange;
  
  #if defined(__cplusplus) && !defined(CINTERFACE)
      
      MIDL_INTERFACE("CF34841C-A795-4EC6-B1BC-C3744A2D6DCA")
      IOemCellularCanAvailabilityChange : public IUnknown
      {
      public:
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnOemCanAdded( 
              /* [in] */ __RPC__in_opt IOemCan *pCan) = 0;
          
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnOemCanRemoved( 
              /* [in] */ __RPC__in_opt IOemCan *pCan) = 0;
          
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnOemCanDone( void) = 0;
          
      };
      
      
  #else 	/* C style interface */
  
      typedef struct IOemCellularCanAvailabilityChangeVtbl
      {
          BEGIN_INTERFACE
          
          HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
              __RPC__in IOemCellularCanAvailabilityChange * This,
              /* [in] */ __RPC__in REFIID riid,
              /* [annotation][iid_is][out] */ 
              _COM_Outptr_  void **ppvObject);
          
          ULONG ( STDMETHODCALLTYPE *AddRef )( 
              __RPC__in IOemCellularCanAvailabilityChange * This);
          
          ULONG ( STDMETHODCALLTYPE *Release )( 
              __RPC__in IOemCellularCanAvailabilityChange * This);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnOemCanAdded )( 
              __RPC__in IOemCellularCanAvailabilityChange * This,
              /* [in] */ __RPC__in_opt IOemCan *pCan);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnOemCanRemoved )( 
              __RPC__in IOemCellularCanAvailabilityChange * This,
              /* [in] */ __RPC__in_opt IOemCan *pCan);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnOemCanDone )( 
              __RPC__in IOemCellularCanAvailabilityChange * This);
          
          END_INTERFACE
      } IOemCellularCanAvailabilityChangeVtbl;
  
      interface IOemCellularCanAvailabilityChange
      {
          CONST_VTBL struct IOemCellularCanAvailabilityChangeVtbl *lpVtbl;
      };
  
      
  
  #ifdef COBJMACROS
  
  
  #define IOemCellularCanAvailabilityChange_QueryInterface(This,riid,ppvObject)	\
      ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
  
  #define IOemCellularCanAvailabilityChange_AddRef(This)	\
      ( (This)->lpVtbl -> AddRef(This) ) 
  
  #define IOemCellularCanAvailabilityChange_Release(This)	\
      ( (This)->lpVtbl -> Release(This) ) 
  
  
  #define IOemCellularCanAvailabilityChange_OnOemCanAdded(This,pCan)	\
      ( (This)->lpVtbl -> OnOemCanAdded(This,pCan) ) 
  
  #define IOemCellularCanAvailabilityChange_OnOemCanRemoved(This,pCan)	\
      ( (This)->lpVtbl -> OnOemCanRemoved(This,pCan) ) 
  
  #define IOemCellularCanAvailabilityChange_OnOemCanDone(This)	\
      ( (This)->lpVtbl -> OnOemCanDone(This) ) 
  
  #endif /* COBJMACROS */
  
  
  #endif 	/* C style interface */
  
  
  
  
  #endif 	/* __IOemCellularCanAvailabilityChange_INTERFACE_DEFINED__ */
  
  
  #ifndef __IOemSlotChange_INTERFACE_DEFINED__
  #define __IOemSlotChange_INTERFACE_DEFINED__
  
  /* interface IOemSlotChange */
  /* [uuid][oleautomation][object] */ 
  
  
  EXTERN_C const IID IID_IOemSlotChange;
  
  #if defined(__cplusplus) && !defined(CINTERFACE)
      
      MIDL_INTERFACE("20C4AF87-BC47-4150-BA97-4F53FFD95E48")
      IOemSlotChange : public IUnknown
      {
      public:
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnOemSlotAdded( 
              /* [in] */ __RPC__in_opt IOemSlot *pSlot,
              /* [in] */ __RPC__in_opt IOemCellularModem *pCellularModem) = 0;
          
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnOemSlotRemoved( 
              /* [in] */ __RPC__in_opt IOemSlot *pSlot,
              /* [in] */ __RPC__in_opt IOemCellularModem *pCellularModem) = 0;
          
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnOemSlotExistenceDone( 
              /* [in] */ __RPC__in_opt IOemCellularModem *pCellularModem) = 0;
          
      };
      
      
  #else 	/* C style interface */
  
      typedef struct IOemSlotChangeVtbl
      {
          BEGIN_INTERFACE
          
          HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
              __RPC__in IOemSlotChange * This,
              /* [in] */ __RPC__in REFIID riid,
              /* [annotation][iid_is][out] */ 
              _COM_Outptr_  void **ppvObject);
          
          ULONG ( STDMETHODCALLTYPE *AddRef )( 
              __RPC__in IOemSlotChange * This);
          
          ULONG ( STDMETHODCALLTYPE *Release )( 
              __RPC__in IOemSlotChange * This);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnOemSlotAdded )( 
              __RPC__in IOemSlotChange * This,
              /* [in] */ __RPC__in_opt IOemSlot *pSlot,
              /* [in] */ __RPC__in_opt IOemCellularModem *pCellularModem);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnOemSlotRemoved )( 
              __RPC__in IOemSlotChange * This,
              /* [in] */ __RPC__in_opt IOemSlot *pSlot,
              /* [in] */ __RPC__in_opt IOemCellularModem *pCellularModem);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnOemSlotExistenceDone )( 
              __RPC__in IOemSlotChange * This,
              /* [in] */ __RPC__in_opt IOemCellularModem *pCellularModem);
          
          END_INTERFACE
      } IOemSlotChangeVtbl;
  
      interface IOemSlotChange
      {
          CONST_VTBL struct IOemSlotChangeVtbl *lpVtbl;
      };
  
      
  
  #ifdef COBJMACROS
  
  
  #define IOemSlotChange_QueryInterface(This,riid,ppvObject)	\
      ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
  
  #define IOemSlotChange_AddRef(This)	\
      ( (This)->lpVtbl -> AddRef(This) ) 
  
  #define IOemSlotChange_Release(This)	\
      ( (This)->lpVtbl -> Release(This) ) 
  
  
  #define IOemSlotChange_OnOemSlotAdded(This,pSlot,pCellularModem)	\
      ( (This)->lpVtbl -> OnOemSlotAdded(This,pSlot,pCellularModem) ) 
  
  #define IOemSlotChange_OnOemSlotRemoved(This,pSlot,pCellularModem)	\
      ( (This)->lpVtbl -> OnOemSlotRemoved(This,pSlot,pCellularModem) ) 
  
  #define IOemSlotChange_OnOemSlotExistenceDone(This,pCellularModem)	\
      ( (This)->lpVtbl -> OnOemSlotExistenceDone(This,pCellularModem) ) 
  
  #endif /* COBJMACROS */
  
  
  #endif 	/* C style interface */
  
  
  
  
  #endif 	/* __IOemSlotChange_INTERFACE_DEFINED__ */
  
  
  #ifndef __IOemCanRegistrationStateChange_INTERFACE_DEFINED__
  #define __IOemCanRegistrationStateChange_INTERFACE_DEFINED__
  
  /* interface IOemCanRegistrationStateChange */
  /* [uuid][oleautomation][object] */ 
  
  
  EXTERN_C const IID IID_IOemCanRegistrationStateChange;
  
  #if defined(__cplusplus) && !defined(CINTERFACE)
      
      MIDL_INTERFACE("B8E5DF58-2329-400C-93C5-FFB951BF3415")
      IOemCanRegistrationStateChange : public IUnknown
      {
      public:
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnOemRegistrationStatusChanged( 
              /* [size_is][in] */ __RPC__in_ecount_full(cStatus) IOemRegistrationStatus **status,
              /* [in] */ DWORD cStatus) = 0;
          
      };
      
      
  #else 	/* C style interface */
  
      typedef struct IOemCanRegistrationStateChangeVtbl
      {
          BEGIN_INTERFACE
          
          HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
              __RPC__in IOemCanRegistrationStateChange * This,
              /* [in] */ __RPC__in REFIID riid,
              /* [annotation][iid_is][out] */ 
              _COM_Outptr_  void **ppvObject);
          
          ULONG ( STDMETHODCALLTYPE *AddRef )( 
              __RPC__in IOemCanRegistrationStateChange * This);
          
          ULONG ( STDMETHODCALLTYPE *Release )( 
              __RPC__in IOemCanRegistrationStateChange * This);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnOemRegistrationStatusChanged )( 
              __RPC__in IOemCanRegistrationStateChange * This,
              /* [size_is][in] */ __RPC__in_ecount_full(cStatus) IOemRegistrationStatus **status,
              /* [in] */ DWORD cStatus);
          
          END_INTERFACE
      } IOemCanRegistrationStateChangeVtbl;
  
      interface IOemCanRegistrationStateChange
      {
          CONST_VTBL struct IOemCanRegistrationStateChangeVtbl *lpVtbl;
      };
  
      
  
  #ifdef COBJMACROS
  
  
  #define IOemCanRegistrationStateChange_QueryInterface(This,riid,ppvObject)	\
      ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
  
  #define IOemCanRegistrationStateChange_AddRef(This)	\
      ( (This)->lpVtbl -> AddRef(This) ) 
  
  #define IOemCanRegistrationStateChange_Release(This)	\
      ( (This)->lpVtbl -> Release(This) ) 
  
  
  #define IOemCanRegistrationStateChange_OnOemRegistrationStatusChanged(This,status,cStatus)	\
      ( (This)->lpVtbl -> OnOemRegistrationStatusChanged(This,status,cStatus) ) 
  
  #endif /* COBJMACROS */
  
  
  #endif 	/* C style interface */
  
  
  
  
  #endif 	/* __IOemCanRegistrationStateChange_INTERFACE_DEFINED__ */
  
  
  #ifndef __IOemSlotStateChange_INTERFACE_DEFINED__
  #define __IOemSlotStateChange_INTERFACE_DEFINED__
  
  /* interface IOemSlotStateChange */
  /* [uuid][oleautomation][object] */ 
  
  
  EXTERN_C const IID IID_IOemSlotStateChange;
  
  #if defined(__cplusplus) && !defined(CINTERFACE)
      
      MIDL_INTERFACE("59BB79ED-5435-456C-A8D1-6680D56AAD1E")
      IOemSlotStateChange : public IUnknown
      {
      public:
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnOemSlotStateChanged( 
              /* [in] */ RILUICCSLOTSTATE currentSlotState,
              /* [in] */ __RPC__in_opt IOemSlot *pSlot) = 0;
          
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnOemUiccAdded( 
              /* [in] */ __RPC__in_opt IOemUicc *pUicc,
              /* [in] */ __RPC__in_opt IOemSlot *pSlot) = 0;
          
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnOemUiccRemoved( 
              /* [in] */ __RPC__in_opt IOemUicc *pUicc,
              /* [in] */ __RPC__in_opt IOemSlot *pSlot) = 0;
          
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnOemFirstSnapshotDone( 
              /* [in] */ __RPC__in_opt IOemSlot *pSlot) = 0;
          
      };
      
      
  #else 	/* C style interface */
  
      typedef struct IOemSlotStateChangeVtbl
      {
          BEGIN_INTERFACE
          
          HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
              __RPC__in IOemSlotStateChange * This,
              /* [in] */ __RPC__in REFIID riid,
              /* [annotation][iid_is][out] */ 
              _COM_Outptr_  void **ppvObject);
          
          ULONG ( STDMETHODCALLTYPE *AddRef )( 
              __RPC__in IOemSlotStateChange * This);
          
          ULONG ( STDMETHODCALLTYPE *Release )( 
              __RPC__in IOemSlotStateChange * This);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnOemSlotStateChanged )( 
              __RPC__in IOemSlotStateChange * This,
              /* [in] */ RILUICCSLOTSTATE currentSlotState,
              /* [in] */ __RPC__in_opt IOemSlot *pSlot);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnOemUiccAdded )( 
              __RPC__in IOemSlotStateChange * This,
              /* [in] */ __RPC__in_opt IOemUicc *pUicc,
              /* [in] */ __RPC__in_opt IOemSlot *pSlot);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnOemUiccRemoved )( 
              __RPC__in IOemSlotStateChange * This,
              /* [in] */ __RPC__in_opt IOemUicc *pUicc,
              /* [in] */ __RPC__in_opt IOemSlot *pSlot);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnOemFirstSnapshotDone )( 
              __RPC__in IOemSlotStateChange * This,
              /* [in] */ __RPC__in_opt IOemSlot *pSlot);
          
          END_INTERFACE
      } IOemSlotStateChangeVtbl;
  
      interface IOemSlotStateChange
      {
          CONST_VTBL struct IOemSlotStateChangeVtbl *lpVtbl;
      };
  
      
  
  #ifdef COBJMACROS
  
  
  #define IOemSlotStateChange_QueryInterface(This,riid,ppvObject)	\
      ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
  
  #define IOemSlotStateChange_AddRef(This)	\
      ( (This)->lpVtbl -> AddRef(This) ) 
  
  #define IOemSlotStateChange_Release(This)	\
      ( (This)->lpVtbl -> Release(This) ) 
  
  
  #define IOemSlotStateChange_OnOemSlotStateChanged(This,currentSlotState,pSlot)	\
      ( (This)->lpVtbl -> OnOemSlotStateChanged(This,currentSlotState,pSlot) ) 
  
  #define IOemSlotStateChange_OnOemUiccAdded(This,pUicc,pSlot)	\
      ( (This)->lpVtbl -> OnOemUiccAdded(This,pUicc,pSlot) ) 
  
  #define IOemSlotStateChange_OnOemUiccRemoved(This,pUicc,pSlot)	\
      ( (This)->lpVtbl -> OnOemUiccRemoved(This,pUicc,pSlot) ) 
  
  #define IOemSlotStateChange_OnOemFirstSnapshotDone(This,pSlot)	\
      ( (This)->lpVtbl -> OnOemFirstSnapshotDone(This,pSlot) ) 
  
  #endif /* COBJMACROS */
  
  
  #endif 	/* C style interface */
  
  
  
  
  #endif 	/* __IOemSlotStateChange_INTERFACE_DEFINED__ */
  
  
  #ifndef __IOemUiccChange_INTERFACE_DEFINED__
  #define __IOemUiccChange_INTERFACE_DEFINED__
  
  /* interface IOemUiccChange */
  /* [uuid][oleautomation][object] */ 
  
  
  EXTERN_C const IID IID_IOemUiccChange;
  
  #if defined(__cplusplus) && !defined(CINTERFACE)
      
      MIDL_INTERFACE("302739D6-299D-4B82-A12E-EF930FD8BD16")
      IOemUiccChange : public IUnknown
      {
      public:
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UiccIccId( 
              /* [in] */ __RPC__in BYTE *iccID,
              /* [in] */ DWORD length,
              /* [in] */ __RPC__in_opt IOemUicc *pUicc) = 0;
          
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnOemUiccAppAdded( 
              /* [in] */ __RPC__in_opt IOemUiccApp *uiccApp,
              /* [in] */ __RPC__in_opt IOemUicc *pUicc) = 0;
          
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnOemUiccAppRemoved( 
              /* [in] */ __RPC__in_opt IOemUiccApp *uiccApp,
              /* [in] */ __RPC__in_opt IOemUicc *pUicc) = 0;
          
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnOemUiccAppFetchDone( 
              /* [in] */ __RPC__in_opt IOemUicc *pUicc) = 0;
          
      };
      
      
  #else 	/* C style interface */
  
      typedef struct IOemUiccChangeVtbl
      {
          BEGIN_INTERFACE
          
          HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
              __RPC__in IOemUiccChange * This,
              /* [in] */ __RPC__in REFIID riid,
              /* [annotation][iid_is][out] */ 
              _COM_Outptr_  void **ppvObject);
          
          ULONG ( STDMETHODCALLTYPE *AddRef )( 
              __RPC__in IOemUiccChange * This);
          
          ULONG ( STDMETHODCALLTYPE *Release )( 
              __RPC__in IOemUiccChange * This);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UiccIccId )( 
              __RPC__in IOemUiccChange * This,
              /* [in] */ __RPC__in BYTE *iccID,
              /* [in] */ DWORD length,
              /* [in] */ __RPC__in_opt IOemUicc *pUicc);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnOemUiccAppAdded )( 
              __RPC__in IOemUiccChange * This,
              /* [in] */ __RPC__in_opt IOemUiccApp *uiccApp,
              /* [in] */ __RPC__in_opt IOemUicc *pUicc);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnOemUiccAppRemoved )( 
              __RPC__in IOemUiccChange * This,
              /* [in] */ __RPC__in_opt IOemUiccApp *uiccApp,
              /* [in] */ __RPC__in_opt IOemUicc *pUicc);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnOemUiccAppFetchDone )( 
              __RPC__in IOemUiccChange * This,
              /* [in] */ __RPC__in_opt IOemUicc *pUicc);
          
          END_INTERFACE
      } IOemUiccChangeVtbl;
  
      interface IOemUiccChange
      {
          CONST_VTBL struct IOemUiccChangeVtbl *lpVtbl;
      };
  
      
  
  #ifdef COBJMACROS
  
  
  #define IOemUiccChange_QueryInterface(This,riid,ppvObject)	\
      ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
  
  #define IOemUiccChange_AddRef(This)	\
      ( (This)->lpVtbl -> AddRef(This) ) 
  
  #define IOemUiccChange_Release(This)	\
      ( (This)->lpVtbl -> Release(This) ) 
  
  
  #define IOemUiccChange_UiccIccId(This,iccID,length,pUicc)	\
      ( (This)->lpVtbl -> UiccIccId(This,iccID,length,pUicc) ) 
  
  #define IOemUiccChange_OnOemUiccAppAdded(This,uiccApp,pUicc)	\
      ( (This)->lpVtbl -> OnOemUiccAppAdded(This,uiccApp,pUicc) ) 
  
  #define IOemUiccChange_OnOemUiccAppRemoved(This,uiccApp,pUicc)	\
      ( (This)->lpVtbl -> OnOemUiccAppRemoved(This,uiccApp,pUicc) ) 
  
  #define IOemUiccChange_OnOemUiccAppFetchDone(This,pUicc)	\
      ( (This)->lpVtbl -> OnOemUiccAppFetchDone(This,pUicc) ) 
  
  #endif /* COBJMACROS */
  
  
  #endif 	/* C style interface */
  
  
  
  
  #endif 	/* __IOemUiccChange_INTERFACE_DEFINED__ */
  
  
  #ifndef __IOemRegistrationStatus_INTERFACE_DEFINED__
  #define __IOemRegistrationStatus_INTERFACE_DEFINED__
  
  /* interface IOemRegistrationStatus */
  /* [uuid][oleautomation][object] */ 
  
  
  EXTERN_C const IID IID_IOemRegistrationStatus;
  
  #if defined(__cplusplus) && !defined(CINTERFACE)
      
      MIDL_INTERFACE("F8C3B6D1-4629-414B-8E38-DD396FEBE730")
      IOemRegistrationStatus : public IUnknown
      {
      public:
          virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Subscription( 
              /* [retval][out] */ __RPC__deref_out_opt IOemUiccApp **ret) = 0;
          
          virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SystemType( 
              /* [retval][out] */ __RPC__out enum RILSYSTEMTYPE *systemType) = 0;
          
          virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_RejectReason( 
              /* [retval][out] */ __RPC__out DWORD *reason) = 0;
          
          virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_OperatorName( 
              /* [retval][out] */ __RPC__out struct RILOPERATORNAMES *name) = 0;
          
          virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_RegistrationStatus( 
              /* [retval][out] */ __RPC__out enum RILREGSTAT *status) = 0;
          
          virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_NetworkCode( 
              /* [retval][out] */ __RPC__out struct RILNETWORKCODE *pNetworkCode) = 0;
          
      };
      
      
  #else 	/* C style interface */
  
      typedef struct IOemRegistrationStatusVtbl
      {
          BEGIN_INTERFACE
          
          HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
              __RPC__in IOemRegistrationStatus * This,
              /* [in] */ __RPC__in REFIID riid,
              /* [annotation][iid_is][out] */ 
              _COM_Outptr_  void **ppvObject);
          
          ULONG ( STDMETHODCALLTYPE *AddRef )( 
              __RPC__in IOemRegistrationStatus * This);
          
          ULONG ( STDMETHODCALLTYPE *Release )( 
              __RPC__in IOemRegistrationStatus * This);
          
          /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Subscription )( 
              __RPC__in IOemRegistrationStatus * This,
              /* [retval][out] */ __RPC__deref_out_opt IOemUiccApp **ret);
          
          /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SystemType )( 
              __RPC__in IOemRegistrationStatus * This,
              /* [retval][out] */ __RPC__out enum RILSYSTEMTYPE *systemType);
          
          /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RejectReason )( 
              __RPC__in IOemRegistrationStatus * This,
              /* [retval][out] */ __RPC__out DWORD *reason);
          
          /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OperatorName )( 
              __RPC__in IOemRegistrationStatus * This,
              /* [retval][out] */ __RPC__out struct RILOPERATORNAMES *name);
          
          /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RegistrationStatus )( 
              __RPC__in IOemRegistrationStatus * This,
              /* [retval][out] */ __RPC__out enum RILREGSTAT *status);
          
          /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_NetworkCode )( 
              __RPC__in IOemRegistrationStatus * This,
              /* [retval][out] */ __RPC__out struct RILNETWORKCODE *pNetworkCode);
          
          END_INTERFACE
      } IOemRegistrationStatusVtbl;
  
      interface IOemRegistrationStatus
      {
          CONST_VTBL struct IOemRegistrationStatusVtbl *lpVtbl;
      };
  
      
  
  #ifdef COBJMACROS
  
  
  #define IOemRegistrationStatus_QueryInterface(This,riid,ppvObject)	\
      ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
  
  #define IOemRegistrationStatus_AddRef(This)	\
      ( (This)->lpVtbl -> AddRef(This) ) 
  
  #define IOemRegistrationStatus_Release(This)	\
      ( (This)->lpVtbl -> Release(This) ) 
  
  
  #define IOemRegistrationStatus_get_Subscription(This,ret)	\
      ( (This)->lpVtbl -> get_Subscription(This,ret) ) 
  
  #define IOemRegistrationStatus_get_SystemType(This,systemType)	\
      ( (This)->lpVtbl -> get_SystemType(This,systemType) ) 
  
  #define IOemRegistrationStatus_get_RejectReason(This,reason)	\
      ( (This)->lpVtbl -> get_RejectReason(This,reason) ) 
  
  #define IOemRegistrationStatus_get_OperatorName(This,name)	\
      ( (This)->lpVtbl -> get_OperatorName(This,name) ) 
  
  #define IOemRegistrationStatus_get_RegistrationStatus(This,status)	\
      ( (This)->lpVtbl -> get_RegistrationStatus(This,status) ) 
  
  #define IOemRegistrationStatus_get_NetworkCode(This,pNetworkCode)	\
      ( (This)->lpVtbl -> get_NetworkCode(This,pNetworkCode) ) 
  
  #endif /* COBJMACROS */
  
  
  #endif 	/* C style interface */
  
  
  
  
  #endif 	/* __IOemRegistrationStatus_INTERFACE_DEFINED__ */
  
  
  #ifndef __IPowerStateChange_INTERFACE_DEFINED__
  #define __IPowerStateChange_INTERFACE_DEFINED__
  
  /* interface IPowerStateChange */
  /* [uuid][oleautomation][object] */ 
  
  
  EXTERN_C const IID IID_IPowerStateChange;
  
  #if defined(__cplusplus) && !defined(CINTERFACE)
      
      MIDL_INTERFACE("0e7d938e-d7fb-49a4-8cac-4db70d952c03")
      IPowerStateChange : public IUnknown
      {
      public:
          virtual HRESULT STDMETHODCALLTYPE OnPowerStateChange( 
              /* [in] */ enum MODEMPOWERSTATE state,
              /* [in] */ INT_PTR context) = 0;
          
      };
      
      
  #else 	/* C style interface */
  
      typedef struct IPowerStateChangeVtbl
      {
          BEGIN_INTERFACE
          
          HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
              __RPC__in IPowerStateChange * This,
              /* [in] */ __RPC__in REFIID riid,
              /* [annotation][iid_is][out] */ 
              _COM_Outptr_  void **ppvObject);
          
          ULONG ( STDMETHODCALLTYPE *AddRef )( 
              __RPC__in IPowerStateChange * This);
          
          ULONG ( STDMETHODCALLTYPE *Release )( 
              __RPC__in IPowerStateChange * This);
          
          HRESULT ( STDMETHODCALLTYPE *OnPowerStateChange )( 
              __RPC__in IPowerStateChange * This,
              /* [in] */ enum MODEMPOWERSTATE state,
              /* [in] */ INT_PTR context);
          
          END_INTERFACE
      } IPowerStateChangeVtbl;
  
      interface IPowerStateChange
      {
          CONST_VTBL struct IPowerStateChangeVtbl *lpVtbl;
      };
  
      
  
  #ifdef COBJMACROS
  
  
  #define IPowerStateChange_QueryInterface(This,riid,ppvObject)	\
      ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
  
  #define IPowerStateChange_AddRef(This)	\
      ( (This)->lpVtbl -> AddRef(This) ) 
  
  #define IPowerStateChange_Release(This)	\
      ( (This)->lpVtbl -> Release(This) ) 
  
  
  #define IPowerStateChange_OnPowerStateChange(This,state,context)	\
      ( (This)->lpVtbl -> OnPowerStateChange(This,state,context) ) 
  
  #endif /* COBJMACROS */
  
  
  #endif 	/* C style interface */
  
  
  
  
  #endif 	/* __IPowerStateChange_INTERFACE_DEFINED__ */
  
  
  #ifndef __IModemOpaqueCommandCompletion_INTERFACE_DEFINED__
  #define __IModemOpaqueCommandCompletion_INTERFACE_DEFINED__
  
  /* interface IModemOpaqueCommandCompletion */
  /* [uuid][oleautomation][object] */ 
  
  
  EXTERN_C const IID IID_IModemOpaqueCommandCompletion;
  
  #if defined(__cplusplus) && !defined(CINTERFACE)
      
      MIDL_INTERFACE("C9B4415B-0643-4855-BB04-A5354F038E62")
      IModemOpaqueCommandCompletion : public IUnknown
      {
      public:
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnModemOpaqueCommandCompletion( 
              /* [in] */ HRESULT result,
              /* [size_is][in] */ __RPC__in_ecount_full(cbSize) BYTE *pOpaqueResponse,
              /* [in] */ DWORD cbSize,
              /* [in] */ INT_PTR context) = 0;
          
      };
      
      
  #else 	/* C style interface */
  
      typedef struct IModemOpaqueCommandCompletionVtbl
      {
          BEGIN_INTERFACE
          
          HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
              __RPC__in IModemOpaqueCommandCompletion * This,
              /* [in] */ __RPC__in REFIID riid,
              /* [annotation][iid_is][out] */ 
              _COM_Outptr_  void **ppvObject);
          
          ULONG ( STDMETHODCALLTYPE *AddRef )( 
              __RPC__in IModemOpaqueCommandCompletion * This);
          
          ULONG ( STDMETHODCALLTYPE *Release )( 
              __RPC__in IModemOpaqueCommandCompletion * This);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnModemOpaqueCommandCompletion )( 
              __RPC__in IModemOpaqueCommandCompletion * This,
              /* [in] */ HRESULT result,
              /* [size_is][in] */ __RPC__in_ecount_full(cbSize) BYTE *pOpaqueResponse,
              /* [in] */ DWORD cbSize,
              /* [in] */ INT_PTR context);
          
          END_INTERFACE
      } IModemOpaqueCommandCompletionVtbl;
  
      interface IModemOpaqueCommandCompletion
      {
          CONST_VTBL struct IModemOpaqueCommandCompletionVtbl *lpVtbl;
      };
  
      
  
  #ifdef COBJMACROS
  
  
  #define IModemOpaqueCommandCompletion_QueryInterface(This,riid,ppvObject)	\
      ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
  
  #define IModemOpaqueCommandCompletion_AddRef(This)	\
      ( (This)->lpVtbl -> AddRef(This) ) 
  
  #define IModemOpaqueCommandCompletion_Release(This)	\
      ( (This)->lpVtbl -> Release(This) ) 
  
  
  #define IModemOpaqueCommandCompletion_OnModemOpaqueCommandCompletion(This,result,pOpaqueResponse,cbSize,context)	\
      ( (This)->lpVtbl -> OnModemOpaqueCommandCompletion(This,result,pOpaqueResponse,cbSize,context) ) 
  
  #endif /* COBJMACROS */
  
  
  #endif 	/* C style interface */
  
  
  
  
  #endif 	/* __IModemOpaqueCommandCompletion_INTERFACE_DEFINED__ */
  
  
  #ifndef __IOpaqueModemNotifications_INTERFACE_DEFINED__
  #define __IOpaqueModemNotifications_INTERFACE_DEFINED__
  
  /* interface IOpaqueModemNotifications */
  /* [uuid][oleautomation][object] */ 
  
  
  EXTERN_C const IID IID_IOpaqueModemNotifications;
  
  #if defined(__cplusplus) && !defined(CINTERFACE)
      
      MIDL_INTERFACE("85A26F4E-CD62-4B6E-90A1-0D5E2D6EE3FF")
      IOpaqueModemNotifications : public IUnknown
      {
      public:
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnOpaqueModemNotifications( 
              /* [in] */ DWORD dwCode,
              /* [in] */ __RPC__in BYTE *pOpaqueNotification,
              /* [in] */ DWORD cbSize) = 0;
          
      };
      
      
  #else 	/* C style interface */
  
      typedef struct IOpaqueModemNotificationsVtbl
      {
          BEGIN_INTERFACE
          
          HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
              __RPC__in IOpaqueModemNotifications * This,
              /* [in] */ __RPC__in REFIID riid,
              /* [annotation][iid_is][out] */ 
              _COM_Outptr_  void **ppvObject);
          
          ULONG ( STDMETHODCALLTYPE *AddRef )( 
              __RPC__in IOpaqueModemNotifications * This);
          
          ULONG ( STDMETHODCALLTYPE *Release )( 
              __RPC__in IOpaqueModemNotifications * This);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnOpaqueModemNotifications )( 
              __RPC__in IOpaqueModemNotifications * This,
              /* [in] */ DWORD dwCode,
              /* [in] */ __RPC__in BYTE *pOpaqueNotification,
              /* [in] */ DWORD cbSize);
          
          END_INTERFACE
      } IOpaqueModemNotificationsVtbl;
  
      interface IOpaqueModemNotifications
      {
          CONST_VTBL struct IOpaqueModemNotificationsVtbl *lpVtbl;
      };
  
      
  
  #ifdef COBJMACROS
  
  
  #define IOpaqueModemNotifications_QueryInterface(This,riid,ppvObject)	\
      ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
  
  #define IOpaqueModemNotifications_AddRef(This)	\
      ( (This)->lpVtbl -> AddRef(This) ) 
  
  #define IOpaqueModemNotifications_Release(This)	\
      ( (This)->lpVtbl -> Release(This) ) 
  
  
  #define IOpaqueModemNotifications_OnOpaqueModemNotifications(This,dwCode,pOpaqueNotification,cbSize)	\
      ( (This)->lpVtbl -> OnOpaqueModemNotifications(This,dwCode,pOpaqueNotification,cbSize) ) 
  
  #endif /* COBJMACROS */
  
  
  #endif 	/* C style interface */
  
  
  
  
  #endif 	/* __IOpaqueModemNotifications_INTERFACE_DEFINED__ */
  
  
  #ifndef __ISetRFStateCompletion_INTERFACE_DEFINED__
  #define __ISetRFStateCompletion_INTERFACE_DEFINED__
  
  /* interface ISetRFStateCompletion */
  /* [uuid][oleautomation][object] */ 
  
  
  EXTERN_C const IID IID_ISetRFStateCompletion;
  
  #if defined(__cplusplus) && !defined(CINTERFACE)
      
      MIDL_INTERFACE("340B4A01-07CE-4334-B367-05C87085CBB0")
      ISetRFStateCompletion : public IUnknown
      {
      public:
          virtual HRESULT STDMETHODCALLTYPE OnSetRFStateCompletion( 
              /* [in] */ HRESULT result,
              /* [in] */ INT_PTR context) = 0;
          
      };
      
      
  #else 	/* C style interface */
  
      typedef struct ISetRFStateCompletionVtbl
      {
          BEGIN_INTERFACE
          
          HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
              __RPC__in ISetRFStateCompletion * This,
              /* [in] */ __RPC__in REFIID riid,
              /* [annotation][iid_is][out] */ 
              _COM_Outptr_  void **ppvObject);
          
          ULONG ( STDMETHODCALLTYPE *AddRef )( 
              __RPC__in ISetRFStateCompletion * This);
          
          ULONG ( STDMETHODCALLTYPE *Release )( 
              __RPC__in ISetRFStateCompletion * This);
          
          HRESULT ( STDMETHODCALLTYPE *OnSetRFStateCompletion )( 
              __RPC__in ISetRFStateCompletion * This,
              /* [in] */ HRESULT result,
              /* [in] */ INT_PTR context);
          
          END_INTERFACE
      } ISetRFStateCompletionVtbl;
  
      interface ISetRFStateCompletion
      {
          CONST_VTBL struct ISetRFStateCompletionVtbl *lpVtbl;
      };
  
      
  
  #ifdef COBJMACROS
  
  
  #define ISetRFStateCompletion_QueryInterface(This,riid,ppvObject)	\
      ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
  
  #define ISetRFStateCompletion_AddRef(This)	\
      ( (This)->lpVtbl -> AddRef(This) ) 
  
  #define ISetRFStateCompletion_Release(This)	\
      ( (This)->lpVtbl -> Release(This) ) 
  
  
  #define ISetRFStateCompletion_OnSetRFStateCompletion(This,result,context)	\
      ( (This)->lpVtbl -> OnSetRFStateCompletion(This,result,context) ) 
  
  #endif /* COBJMACROS */
  
  
  #endif 	/* C style interface */
  
  
  
  
  #endif 	/* __ISetRFStateCompletion_INTERFACE_DEFINED__ */
  
  
  #ifndef __IGetRFStateCompletion_INTERFACE_DEFINED__
  #define __IGetRFStateCompletion_INTERFACE_DEFINED__
  
  /* interface IGetRFStateCompletion */
  /* [uuid][oleautomation][object] */ 
  
  
  EXTERN_C const IID IID_IGetRFStateCompletion;
  
  #if defined(__cplusplus) && !defined(CINTERFACE)
      
      MIDL_INTERFACE("4255DD18-D829-4C04-849A-624727B990A2")
      IGetRFStateCompletion : public IUnknown
      {
      public:
          virtual HRESULT STDMETHODCALLTYPE OnGetRFStateCompletion( 
              /* [in] */ HRESULT result,
              /* [in] */ __RPC__in DWORD *pRFState,
              /* [in] */ INT_PTR context) = 0;
          
      };
      
      
  #else 	/* C style interface */
  
      typedef struct IGetRFStateCompletionVtbl
      {
          BEGIN_INTERFACE
          
          HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
              __RPC__in IGetRFStateCompletion * This,
              /* [in] */ __RPC__in REFIID riid,
              /* [annotation][iid_is][out] */ 
              _COM_Outptr_  void **ppvObject);
          
          ULONG ( STDMETHODCALLTYPE *AddRef )( 
              __RPC__in IGetRFStateCompletion * This);
          
          ULONG ( STDMETHODCALLTYPE *Release )( 
              __RPC__in IGetRFStateCompletion * This);
          
          HRESULT ( STDMETHODCALLTYPE *OnGetRFStateCompletion )( 
              __RPC__in IGetRFStateCompletion * This,
              /* [in] */ HRESULT result,
              /* [in] */ __RPC__in DWORD *pRFState,
              /* [in] */ INT_PTR context);
          
          END_INTERFACE
      } IGetRFStateCompletionVtbl;
  
      interface IGetRFStateCompletion
      {
          CONST_VTBL struct IGetRFStateCompletionVtbl *lpVtbl;
      };
  
      
  
  #ifdef COBJMACROS
  
  
  #define IGetRFStateCompletion_QueryInterface(This,riid,ppvObject)	\
      ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
  
  #define IGetRFStateCompletion_AddRef(This)	\
      ( (This)->lpVtbl -> AddRef(This) ) 
  
  #define IGetRFStateCompletion_Release(This)	\
      ( (This)->lpVtbl -> Release(This) ) 
  
  
  #define IGetRFStateCompletion_OnGetRFStateCompletion(This,result,pRFState,context)	\
      ( (This)->lpVtbl -> OnGetRFStateCompletion(This,result,pRFState,context) ) 
  
  #endif /* COBJMACROS */
  
  
  #endif 	/* C style interface */
  
  
  
  
  #endif 	/* __IGetRFStateCompletion_INTERFACE_DEFINED__ */
  
  
  #ifndef __IGetRFStateExCompletion_INTERFACE_DEFINED__
  #define __IGetRFStateExCompletion_INTERFACE_DEFINED__
  
  /* interface IGetRFStateExCompletion */
  /* [uuid][oleautomation][object] */ 
  
  
  EXTERN_C const IID IID_IGetRFStateExCompletion;
  
  #if defined(__cplusplus) && !defined(CINTERFACE)
      
      MIDL_INTERFACE("74e511fd-f17b-48fc-bd56-93af42e71031")
      IGetRFStateExCompletion : public IUnknown
      {
      public:
          virtual HRESULT STDMETHODCALLTYPE OnGetRFStateCompletion( 
              /* [in] */ HRESULT result,
              /* [in] */ __RPC__in LPRILRFSTATE lpRFState,
              /* [in] */ INT_PTR context) = 0;
          
      };
      
      
  #else 	/* C style interface */
  
      typedef struct IGetRFStateExCompletionVtbl
      {
          BEGIN_INTERFACE
          
          HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
              __RPC__in IGetRFStateExCompletion * This,
              /* [in] */ __RPC__in REFIID riid,
              /* [annotation][iid_is][out] */ 
              _COM_Outptr_  void **ppvObject);
          
          ULONG ( STDMETHODCALLTYPE *AddRef )( 
              __RPC__in IGetRFStateExCompletion * This);
          
          ULONG ( STDMETHODCALLTYPE *Release )( 
              __RPC__in IGetRFStateExCompletion * This);
          
          HRESULT ( STDMETHODCALLTYPE *OnGetRFStateCompletion )( 
              __RPC__in IGetRFStateExCompletion * This,
              /* [in] */ HRESULT result,
              /* [in] */ __RPC__in LPRILRFSTATE lpRFState,
              /* [in] */ INT_PTR context);
          
          END_INTERFACE
      } IGetRFStateExCompletionVtbl;
  
      interface IGetRFStateExCompletion
      {
          CONST_VTBL struct IGetRFStateExCompletionVtbl *lpVtbl;
      };
  
      
  
  #ifdef COBJMACROS
  
  
  #define IGetRFStateExCompletion_QueryInterface(This,riid,ppvObject)	\
      ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
  
  #define IGetRFStateExCompletion_AddRef(This)	\
      ( (This)->lpVtbl -> AddRef(This) ) 
  
  #define IGetRFStateExCompletion_Release(This)	\
      ( (This)->lpVtbl -> Release(This) ) 
  
  
  #define IGetRFStateExCompletion_OnGetRFStateCompletion(This,result,lpRFState,context)	\
      ( (This)->lpVtbl -> OnGetRFStateCompletion(This,result,lpRFState,context) ) 
  
  #endif /* COBJMACROS */
  
  
  #endif 	/* C style interface */
  
  
  
  
  #endif 	/* __IGetRFStateExCompletion_INTERFACE_DEFINED__ */
  
  
  #ifndef __ICanInfoCompletion_INTERFACE_DEFINED__
  #define __ICanInfoCompletion_INTERFACE_DEFINED__
  
  /* interface ICanInfoCompletion */
  /* [uuid][oleautomation][object] */ 
  
  
  EXTERN_C const IID IID_ICanInfoCompletion;
  
  #if defined(__cplusplus) && !defined(CINTERFACE)
      
      MIDL_INTERFACE("b5bb6a5e-8d3f-4203-b58b-26c3d4e8eedc")
      ICanInfoCompletion : public IUnknown
      {
      public:
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnGetInfoCompletion( 
              /* [in] */ HRESULT result,
              /* [in] */ __RPC__in const WCHAR *value,
              /* [in] */ INT_PTR context) = 0;
          
      };
      
      
  #else 	/* C style interface */
  
      typedef struct ICanInfoCompletionVtbl
      {
          BEGIN_INTERFACE
          
          HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
              __RPC__in ICanInfoCompletion * This,
              /* [in] */ __RPC__in REFIID riid,
              /* [annotation][iid_is][out] */ 
              _COM_Outptr_  void **ppvObject);
          
          ULONG ( STDMETHODCALLTYPE *AddRef )( 
              __RPC__in ICanInfoCompletion * This);
          
          ULONG ( STDMETHODCALLTYPE *Release )( 
              __RPC__in ICanInfoCompletion * This);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnGetInfoCompletion )( 
              __RPC__in ICanInfoCompletion * This,
              /* [in] */ HRESULT result,
              /* [in] */ __RPC__in const WCHAR *value,
              /* [in] */ INT_PTR context);
          
          END_INTERFACE
      } ICanInfoCompletionVtbl;
  
      interface ICanInfoCompletion
      {
          CONST_VTBL struct ICanInfoCompletionVtbl *lpVtbl;
      };
  
      
  
  #ifdef COBJMACROS
  
  
  #define ICanInfoCompletion_QueryInterface(This,riid,ppvObject)	\
      ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
  
  #define ICanInfoCompletion_AddRef(This)	\
      ( (This)->lpVtbl -> AddRef(This) ) 
  
  #define ICanInfoCompletion_Release(This)	\
      ( (This)->lpVtbl -> Release(This) ) 
  
  
  #define ICanInfoCompletion_OnGetInfoCompletion(This,result,value,context)	\
      ( (This)->lpVtbl -> OnGetInfoCompletion(This,result,value,context) ) 
  
  #endif /* COBJMACROS */
  
  
  #endif 	/* C style interface */
  
  
  
  
  #endif 	/* __ICanInfoCompletion_INTERFACE_DEFINED__ */
  
  
  #ifndef __IPositionInfoCompletion_INTERFACE_DEFINED__
  #define __IPositionInfoCompletion_INTERFACE_DEFINED__
  
  /* interface IPositionInfoCompletion */
  /* [uuid][oleautomation][object] */ 
  
  
  EXTERN_C const IID IID_IPositionInfoCompletion;
  
  #if defined(__cplusplus) && !defined(CINTERFACE)
      
      MIDL_INTERFACE("03569923-a28f-47bd-9315-38d8fb11717d")
      IPositionInfoCompletion : public IUnknown
      {
      public:
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnGetPositionInfoCompletion( 
              /* [in] */ HRESULT result,
              /* [in] */ __RPC__in LPRILPOSITIONINFO lpPositionInfo,
              /* [in] */ INT_PTR context) = 0;
          
      };
      
      
  #else 	/* C style interface */
  
      typedef struct IPositionInfoCompletionVtbl
      {
          BEGIN_INTERFACE
          
          HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
              __RPC__in IPositionInfoCompletion * This,
              /* [in] */ __RPC__in REFIID riid,
              /* [annotation][iid_is][out] */ 
              _COM_Outptr_  void **ppvObject);
          
          ULONG ( STDMETHODCALLTYPE *AddRef )( 
              __RPC__in IPositionInfoCompletion * This);
          
          ULONG ( STDMETHODCALLTYPE *Release )( 
              __RPC__in IPositionInfoCompletion * This);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnGetPositionInfoCompletion )( 
              __RPC__in IPositionInfoCompletion * This,
              /* [in] */ HRESULT result,
              /* [in] */ __RPC__in LPRILPOSITIONINFO lpPositionInfo,
              /* [in] */ INT_PTR context);
          
          END_INTERFACE
      } IPositionInfoCompletionVtbl;
  
      interface IPositionInfoCompletion
      {
          CONST_VTBL struct IPositionInfoCompletionVtbl *lpVtbl;
      };
  
      
  
  #ifdef COBJMACROS
  
  
  #define IPositionInfoCompletion_QueryInterface(This,riid,ppvObject)	\
      ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
  
  #define IPositionInfoCompletion_AddRef(This)	\
      ( (This)->lpVtbl -> AddRef(This) ) 
  
  #define IPositionInfoCompletion_Release(This)	\
      ( (This)->lpVtbl -> Release(This) ) 
  
  
  #define IPositionInfoCompletion_OnGetPositionInfoCompletion(This,result,lpPositionInfo,context)	\
      ( (This)->lpVtbl -> OnGetPositionInfoCompletion(This,result,lpPositionInfo,context) ) 
  
  #endif /* COBJMACROS */
  
  
  #endif 	/* C style interface */
  
  
  
  
  #endif 	/* __IPositionInfoCompletion_INTERFACE_DEFINED__ */
  
  
  #ifndef __IPinLockStateCompletion_INTERFACE_DEFINED__
  #define __IPinLockStateCompletion_INTERFACE_DEFINED__
  
  /* interface IPinLockStateCompletion */
  /* [uuid][oleautomation][object] */ 
  
  
  EXTERN_C const IID IID_IPinLockStateCompletion;
  
  #if defined(__cplusplus) && !defined(CINTERFACE)
      
      MIDL_INTERFACE("3b2481a7-aee9-462f-bd38-31f15c15ff88")
      IPinLockStateCompletion : public IUnknown
      {
      public:
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnGetPinLockStateCompletion( 
              /* [in] */ HRESULT result,
              /* [in] */ __RPC__in LPRILUICCLOCKSTATE pUICCLockState,
              /* [in] */ DWORD length,
              /* [in] */ INT_PTR context) = 0;
          
      };
      
      
  #else 	/* C style interface */
  
      typedef struct IPinLockStateCompletionVtbl
      {
          BEGIN_INTERFACE
          
          HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
              __RPC__in IPinLockStateCompletion * This,
              /* [in] */ __RPC__in REFIID riid,
              /* [annotation][iid_is][out] */ 
              _COM_Outptr_  void **ppvObject);
          
          ULONG ( STDMETHODCALLTYPE *AddRef )( 
              __RPC__in IPinLockStateCompletion * This);
          
          ULONG ( STDMETHODCALLTYPE *Release )( 
              __RPC__in IPinLockStateCompletion * This);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnGetPinLockStateCompletion )( 
              __RPC__in IPinLockStateCompletion * This,
              /* [in] */ HRESULT result,
              /* [in] */ __RPC__in LPRILUICCLOCKSTATE pUICCLockState,
              /* [in] */ DWORD length,
              /* [in] */ INT_PTR context);
          
          END_INTERFACE
      } IPinLockStateCompletionVtbl;
  
      interface IPinLockStateCompletion
      {
          CONST_VTBL struct IPinLockStateCompletionVtbl *lpVtbl;
      };
  
      
  
  #ifdef COBJMACROS
  
  
  #define IPinLockStateCompletion_QueryInterface(This,riid,ppvObject)	\
      ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
  
  #define IPinLockStateCompletion_AddRef(This)	\
      ( (This)->lpVtbl -> AddRef(This) ) 
  
  #define IPinLockStateCompletion_Release(This)	\
      ( (This)->lpVtbl -> Release(This) ) 
  
  
  #define IPinLockStateCompletion_OnGetPinLockStateCompletion(This,result,pUICCLockState,length,context)	\
      ( (This)->lpVtbl -> OnGetPinLockStateCompletion(This,result,pUICCLockState,length,context) ) 
  
  #endif /* COBJMACROS */
  
  
  #endif 	/* C style interface */
  
  
  
  
  #endif 	/* __IPinLockStateCompletion_INTERFACE_DEFINED__ */
  
  
  #ifndef __IGetRecordStatusCompletion_INTERFACE_DEFINED__
  #define __IGetRecordStatusCompletion_INTERFACE_DEFINED__
  
  /* interface IGetRecordStatusCompletion */
  /* [uuid][oleautomation][object] */ 
  
  
  EXTERN_C const IID IID_IGetRecordStatusCompletion;
  
  #if defined(__cplusplus) && !defined(CINTERFACE)
      
      MIDL_INTERFACE("2d033fa3-ae5c-495c-bcf5-459ffa07036a")
      IGetRecordStatusCompletion : public IUnknown
      {
      public:
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnGetRecordStatusCompletion( 
              /* [in] */ HRESULT result,
              /* [in] */ __RPC__in LPRILUICCRECORDSTATUS recordStatus,
              /* [in] */ DWORD length,
              /* [in] */ INT_PTR context) = 0;
          
      };
      
      
  #else 	/* C style interface */
  
      typedef struct IGetRecordStatusCompletionVtbl
      {
          BEGIN_INTERFACE
          
          HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
              __RPC__in IGetRecordStatusCompletion * This,
              /* [in] */ __RPC__in REFIID riid,
              /* [annotation][iid_is][out] */ 
              _COM_Outptr_  void **ppvObject);
          
          ULONG ( STDMETHODCALLTYPE *AddRef )( 
              __RPC__in IGetRecordStatusCompletion * This);
          
          ULONG ( STDMETHODCALLTYPE *Release )( 
              __RPC__in IGetRecordStatusCompletion * This);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnGetRecordStatusCompletion )( 
              __RPC__in IGetRecordStatusCompletion * This,
              /* [in] */ HRESULT result,
              /* [in] */ __RPC__in LPRILUICCRECORDSTATUS recordStatus,
              /* [in] */ DWORD length,
              /* [in] */ INT_PTR context);
          
          END_INTERFACE
      } IGetRecordStatusCompletionVtbl;
  
      interface IGetRecordStatusCompletion
      {
          CONST_VTBL struct IGetRecordStatusCompletionVtbl *lpVtbl;
      };
  
      
  
  #ifdef COBJMACROS
  
  
  #define IGetRecordStatusCompletion_QueryInterface(This,riid,ppvObject)	\
      ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
  
  #define IGetRecordStatusCompletion_AddRef(This)	\
      ( (This)->lpVtbl -> AddRef(This) ) 
  
  #define IGetRecordStatusCompletion_Release(This)	\
      ( (This)->lpVtbl -> Release(This) ) 
  
  
  #define IGetRecordStatusCompletion_OnGetRecordStatusCompletion(This,result,recordStatus,length,context)	\
      ( (This)->lpVtbl -> OnGetRecordStatusCompletion(This,result,recordStatus,length,context) ) 
  
  #endif /* COBJMACROS */
  
  
  #endif 	/* C style interface */
  
  
  
  
  #endif 	/* __IGetRecordStatusCompletion_INTERFACE_DEFINED__ */
  
  
  #ifndef __IReadRecordCompletion_INTERFACE_DEFINED__
  #define __IReadRecordCompletion_INTERFACE_DEFINED__
  
  /* interface IReadRecordCompletion */
  /* [uuid][oleautomation][object] */ 
  
  
  EXTERN_C const IID IID_IReadRecordCompletion;
  
  #if defined(__cplusplus) && !defined(CINTERFACE)
      
      MIDL_INTERFACE("5a8c7c5f-aace-47b8-b38b-41785a9fc090")
      IReadRecordCompletion : public IUnknown
      {
      public:
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnReadRecordCompletion( 
              /* [in] */ HRESULT result,
              /* [in] */ __RPC__in BYTE *record,
              /* [in] */ DWORD cbSize,
              /* [in] */ INT_PTR context) = 0;
          
      };
      
      
  #else 	/* C style interface */
  
      typedef struct IReadRecordCompletionVtbl
      {
          BEGIN_INTERFACE
          
          HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
              __RPC__in IReadRecordCompletion * This,
              /* [in] */ __RPC__in REFIID riid,
              /* [annotation][iid_is][out] */ 
              _COM_Outptr_  void **ppvObject);
          
          ULONG ( STDMETHODCALLTYPE *AddRef )( 
              __RPC__in IReadRecordCompletion * This);
          
          ULONG ( STDMETHODCALLTYPE *Release )( 
              __RPC__in IReadRecordCompletion * This);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnReadRecordCompletion )( 
              __RPC__in IReadRecordCompletion * This,
              /* [in] */ HRESULT result,
              /* [in] */ __RPC__in BYTE *record,
              /* [in] */ DWORD cbSize,
              /* [in] */ INT_PTR context);
          
          END_INTERFACE
      } IReadRecordCompletionVtbl;
  
      interface IReadRecordCompletion
      {
          CONST_VTBL struct IReadRecordCompletionVtbl *lpVtbl;
      };
  
      
  
  #ifdef COBJMACROS
  
  
  #define IReadRecordCompletion_QueryInterface(This,riid,ppvObject)	\
      ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
  
  #define IReadRecordCompletion_AddRef(This)	\
      ( (This)->lpVtbl -> AddRef(This) ) 
  
  #define IReadRecordCompletion_Release(This)	\
      ( (This)->lpVtbl -> Release(This) ) 
  
  
  #define IReadRecordCompletion_OnReadRecordCompletion(This,result,record,cbSize,context)	\
      ( (This)->lpVtbl -> OnReadRecordCompletion(This,result,record,cbSize,context) ) 
  
  #endif /* COBJMACROS */
  
  
  #endif 	/* C style interface */
  
  
  
  
  #endif 	/* __IReadRecordCompletion_INTERFACE_DEFINED__ */
  
  
  #ifndef __IWriteRecordCompletion_INTERFACE_DEFINED__
  #define __IWriteRecordCompletion_INTERFACE_DEFINED__
  
  /* interface IWriteRecordCompletion */
  /* [uuid][oleautomation][object] */ 
  
  
  EXTERN_C const IID IID_IWriteRecordCompletion;
  
  #if defined(__cplusplus) && !defined(CINTERFACE)
      
      MIDL_INTERFACE("f9b2b7de-3ab4-4af8-bac0-fd9a83113242")
      IWriteRecordCompletion : public IUnknown
      {
      public:
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnWriteRecordCompletion( 
              /* [in] */ HRESULT result,
              /* [in] */ INT_PTR context) = 0;
          
      };
      
      
  #else 	/* C style interface */
  
      typedef struct IWriteRecordCompletionVtbl
      {
          BEGIN_INTERFACE
          
          HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
              __RPC__in IWriteRecordCompletion * This,
              /* [in] */ __RPC__in REFIID riid,
              /* [annotation][iid_is][out] */ 
              _COM_Outptr_  void **ppvObject);
          
          ULONG ( STDMETHODCALLTYPE *AddRef )( 
              __RPC__in IWriteRecordCompletion * This);
          
          ULONG ( STDMETHODCALLTYPE *Release )( 
              __RPC__in IWriteRecordCompletion * This);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnWriteRecordCompletion )( 
              __RPC__in IWriteRecordCompletion * This,
              /* [in] */ HRESULT result,
              /* [in] */ INT_PTR context);
          
          END_INTERFACE
      } IWriteRecordCompletionVtbl;
  
      interface IWriteRecordCompletion
      {
          CONST_VTBL struct IWriteRecordCompletionVtbl *lpVtbl;
      };
  
      
  
  #ifdef COBJMACROS
  
  
  #define IWriteRecordCompletion_QueryInterface(This,riid,ppvObject)	\
      ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
  
  #define IWriteRecordCompletion_AddRef(This)	\
      ( (This)->lpVtbl -> AddRef(This) ) 
  
  #define IWriteRecordCompletion_Release(This)	\
      ( (This)->lpVtbl -> Release(This) ) 
  
  
  #define IWriteRecordCompletion_OnWriteRecordCompletion(This,result,context)	\
      ( (This)->lpVtbl -> OnWriteRecordCompletion(This,result,context) ) 
  
  #endif /* COBJMACROS */
  
  
  #endif 	/* C style interface */
  
  
  
  
  #endif 	/* __IWriteRecordCompletion_INTERFACE_DEFINED__ */
  
  
  #ifndef __IIMSICompletion_INTERFACE_DEFINED__
  #define __IIMSICompletion_INTERFACE_DEFINED__
  
  /* interface IIMSICompletion */
  /* [uuid][oleautomation][object] */ 
  
  
  EXTERN_C const IID IID_IIMSICompletion;
  
  #if defined(__cplusplus) && !defined(CINTERFACE)
      
      MIDL_INTERFACE("A9342324-DA50-46B2-BA1C-2B1CB60C3817")
      IIMSICompletion : public IUnknown
      {
      public:
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnGetIMSICompletion( 
              /* [in] */ HRESULT result,
              /* [in] */ __RPC__in const LPRILIMSI rilImsi,
              /* [in] */ INT_PTR context) = 0;
          
      };
      
      
  #else 	/* C style interface */
  
      typedef struct IIMSICompletionVtbl
      {
          BEGIN_INTERFACE
          
          HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
              __RPC__in IIMSICompletion * This,
              /* [in] */ __RPC__in REFIID riid,
              /* [annotation][iid_is][out] */ 
              _COM_Outptr_  void **ppvObject);
          
          ULONG ( STDMETHODCALLTYPE *AddRef )( 
              __RPC__in IIMSICompletion * This);
          
          ULONG ( STDMETHODCALLTYPE *Release )( 
              __RPC__in IIMSICompletion * This);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnGetIMSICompletion )( 
              __RPC__in IIMSICompletion * This,
              /* [in] */ HRESULT result,
              /* [in] */ __RPC__in const LPRILIMSI rilImsi,
              /* [in] */ INT_PTR context);
          
          END_INTERFACE
      } IIMSICompletionVtbl;
  
      interface IIMSICompletion
      {
          CONST_VTBL struct IIMSICompletionVtbl *lpVtbl;
      };
  
      
  
  #ifdef COBJMACROS
  
  
  #define IIMSICompletion_QueryInterface(This,riid,ppvObject)	\
      ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
  
  #define IIMSICompletion_AddRef(This)	\
      ( (This)->lpVtbl -> AddRef(This) ) 
  
  #define IIMSICompletion_Release(This)	\
      ( (This)->lpVtbl -> Release(This) ) 
  
  
  #define IIMSICompletion_OnGetIMSICompletion(This,result,rilImsi,context)	\
      ( (This)->lpVtbl -> OnGetIMSICompletion(This,result,rilImsi,context) ) 
  
  #endif /* COBJMACROS */
  
  
  #endif 	/* C style interface */
  
  
  
  
  #endif 	/* __IIMSICompletion_INTERFACE_DEFINED__ */
  
  
  #ifndef __IGetSIDNIDCompletion_INTERFACE_DEFINED__
  #define __IGetSIDNIDCompletion_INTERFACE_DEFINED__
  
  /* interface IGetSIDNIDCompletion */
  /* [uuid][oleautomation][object] */ 
  
  
  EXTERN_C const IID IID_IGetSIDNIDCompletion;
  
  #if defined(__cplusplus) && !defined(CINTERFACE)
      
      MIDL_INTERFACE("e7d5d35e-a770-4adc-8bb1-a677ea6e89ac")
      IGetSIDNIDCompletion : public IUnknown
      {
      public:
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnGetSIDNIDCompletion( 
              /* [in] */ HRESULT result,
              /* [in] */ __RPC__in const LPRILSIDNID rilSidNid,
              /* [in] */ INT_PTR context) = 0;
          
      };
      
      
  #else 	/* C style interface */
  
      typedef struct IGetSIDNIDCompletionVtbl
      {
          BEGIN_INTERFACE
          
          HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
              __RPC__in IGetSIDNIDCompletion * This,
              /* [in] */ __RPC__in REFIID riid,
              /* [annotation][iid_is][out] */ 
              _COM_Outptr_  void **ppvObject);
          
          ULONG ( STDMETHODCALLTYPE *AddRef )( 
              __RPC__in IGetSIDNIDCompletion * This);
          
          ULONG ( STDMETHODCALLTYPE *Release )( 
              __RPC__in IGetSIDNIDCompletion * This);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnGetSIDNIDCompletion )( 
              __RPC__in IGetSIDNIDCompletion * This,
              /* [in] */ HRESULT result,
              /* [in] */ __RPC__in const LPRILSIDNID rilSidNid,
              /* [in] */ INT_PTR context);
          
          END_INTERFACE
      } IGetSIDNIDCompletionVtbl;
  
      interface IGetSIDNIDCompletion
      {
          CONST_VTBL struct IGetSIDNIDCompletionVtbl *lpVtbl;
      };
  
      
  
  #ifdef COBJMACROS
  
  
  #define IGetSIDNIDCompletion_QueryInterface(This,riid,ppvObject)	\
      ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
  
  #define IGetSIDNIDCompletion_AddRef(This)	\
      ( (This)->lpVtbl -> AddRef(This) ) 
  
  #define IGetSIDNIDCompletion_Release(This)	\
      ( (This)->lpVtbl -> Release(This) ) 
  
  
  #define IGetSIDNIDCompletion_OnGetSIDNIDCompletion(This,result,rilSidNid,context)	\
      ( (This)->lpVtbl -> OnGetSIDNIDCompletion(This,result,rilSidNid,context) ) 
  
  #endif /* COBJMACROS */
  
  
  #endif 	/* C style interface */
  
  
  
  
  #endif 	/* __IGetSIDNIDCompletion_INTERFACE_DEFINED__ */
  
  
  #ifndef __IGetNAICompletion_INTERFACE_DEFINED__
  #define __IGetNAICompletion_INTERFACE_DEFINED__
  
  /* interface IGetNAICompletion */
  /* [uuid][oleautomation][object] */ 
  
  
  EXTERN_C const IID IID_IGetNAICompletion;
  
  #if defined(__cplusplus) && !defined(CINTERFACE)
      
      MIDL_INTERFACE("4AFE7F70-7D1F-45D1-BC93-908161FEBC58")
      IGetNAICompletion : public IUnknown
      {
      public:
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnGetNAICompletion( 
              /* [in] */ HRESULT result,
              /* [in] */ __RPC__in const LPRILNAI rilNai,
              /* [in] */ INT_PTR context) = 0;
          
      };
      
      
  #else 	/* C style interface */
  
      typedef struct IGetNAICompletionVtbl
      {
          BEGIN_INTERFACE
          
          HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
              __RPC__in IGetNAICompletion * This,
              /* [in] */ __RPC__in REFIID riid,
              /* [annotation][iid_is][out] */ 
              _COM_Outptr_  void **ppvObject);
          
          ULONG ( STDMETHODCALLTYPE *AddRef )( 
              __RPC__in IGetNAICompletion * This);
          
          ULONG ( STDMETHODCALLTYPE *Release )( 
              __RPC__in IGetNAICompletion * This);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnGetNAICompletion )( 
              __RPC__in IGetNAICompletion * This,
              /* [in] */ HRESULT result,
              /* [in] */ __RPC__in const LPRILNAI rilNai,
              /* [in] */ INT_PTR context);
          
          END_INTERFACE
      } IGetNAICompletionVtbl;
  
      interface IGetNAICompletion
      {
          CONST_VTBL struct IGetNAICompletionVtbl *lpVtbl;
      };
  
      
  
  #ifdef COBJMACROS
  
  
  #define IGetNAICompletion_QueryInterface(This,riid,ppvObject)	\
      ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
  
  #define IGetNAICompletion_AddRef(This)	\
      ( (This)->lpVtbl -> AddRef(This) ) 
  
  #define IGetNAICompletion_Release(This)	\
      ( (This)->lpVtbl -> Release(This) ) 
  
  
  #define IGetNAICompletion_OnGetNAICompletion(This,result,rilNai,context)	\
      ( (This)->lpVtbl -> OnGetNAICompletion(This,result,rilNai,context) ) 
  
  #endif /* COBJMACROS */
  
  
  #endif 	/* C style interface */
  
  
  
  
  #endif 	/* __IGetNAICompletion_INTERFACE_DEFINED__ */
  
  
  #ifndef __ISubscriberNumbersCompletion_INTERFACE_DEFINED__
  #define __ISubscriberNumbersCompletion_INTERFACE_DEFINED__
  
  /* interface ISubscriberNumbersCompletion */
  /* [uuid][oleautomation][object] */ 
  
  
  EXTERN_C const IID IID_ISubscriberNumbersCompletion;
  
  #if defined(__cplusplus) && !defined(CINTERFACE)
      
      MIDL_INTERFACE("be6d7c2a-ba04-4fcc-a611-d33000643d4f")
      ISubscriberNumbersCompletion : public IUnknown
      {
      public:
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnGetSubscriberNumbersCompletion( 
              /* [in] */ HRESULT result,
              /* [in] */ __RPC__in LPRILUICCSUBSCRIBERNUMBERS pSubscriberNumbers,
              /* [in] */ DWORD length,
              /* [in] */ INT_PTR context) = 0;
          
      };
      
      
  #else 	/* C style interface */
  
      typedef struct ISubscriberNumbersCompletionVtbl
      {
          BEGIN_INTERFACE
          
          HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
              __RPC__in ISubscriberNumbersCompletion * This,
              /* [in] */ __RPC__in REFIID riid,
              /* [annotation][iid_is][out] */ 
              _COM_Outptr_  void **ppvObject);
          
          ULONG ( STDMETHODCALLTYPE *AddRef )( 
              __RPC__in ISubscriberNumbersCompletion * This);
          
          ULONG ( STDMETHODCALLTYPE *Release )( 
              __RPC__in ISubscriberNumbersCompletion * This);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnGetSubscriberNumbersCompletion )( 
              __RPC__in ISubscriberNumbersCompletion * This,
              /* [in] */ HRESULT result,
              /* [in] */ __RPC__in LPRILUICCSUBSCRIBERNUMBERS pSubscriberNumbers,
              /* [in] */ DWORD length,
              /* [in] */ INT_PTR context);
          
          END_INTERFACE
      } ISubscriberNumbersCompletionVtbl;
  
      interface ISubscriberNumbersCompletion
      {
          CONST_VTBL struct ISubscriberNumbersCompletionVtbl *lpVtbl;
      };
  
      
  
  #ifdef COBJMACROS
  
  
  #define ISubscriberNumbersCompletion_QueryInterface(This,riid,ppvObject)	\
      ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
  
  #define ISubscriberNumbersCompletion_AddRef(This)	\
      ( (This)->lpVtbl -> AddRef(This) ) 
  
  #define ISubscriberNumbersCompletion_Release(This)	\
      ( (This)->lpVtbl -> Release(This) ) 
  
  
  #define ISubscriberNumbersCompletion_OnGetSubscriberNumbersCompletion(This,result,pSubscriberNumbers,length,context)	\
      ( (This)->lpVtbl -> OnGetSubscriberNumbersCompletion(This,result,pSubscriberNumbers,length,context) ) 
  
  #endif /* COBJMACROS */
  
  
  #endif 	/* C style interface */
  
  
  
  
  #endif 	/* __ISubscriberNumbersCompletion_INTERFACE_DEFINED__ */
  
  
  #ifndef __IGetPLMNwAcT_INTERFACE_DEFINED__
  #define __IGetPLMNwAcT_INTERFACE_DEFINED__
  
  /* interface IGetPLMNwAcT */
  /* [uuid][oleautomation][object] */ 
  
  
  EXTERN_C const IID IID_IGetPLMNwAcT;
  
  #if defined(__cplusplus) && !defined(CINTERFACE)
      
      MIDL_INTERFACE("E9BEB716-6ADD-492B-BBEA-B2FE1068A86E")
      IGetPLMNwAcT : public IUnknown
      {
      public:
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnGetPreferredOperatorListCompletion( 
              /* [in] */ HRESULT result,
              /* [size_is][in] */ __RPC__in_ecount_full(dwLength) RILOPERATORNAMES *pOperatorList,
              /* [in] */ DWORD dwLength) = 0;
          
      };
      
      
  #else 	/* C style interface */
  
      typedef struct IGetPLMNwAcTVtbl
      {
          BEGIN_INTERFACE
          
          HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
              __RPC__in IGetPLMNwAcT * This,
              /* [in] */ __RPC__in REFIID riid,
              /* [annotation][iid_is][out] */ 
              _COM_Outptr_  void **ppvObject);
          
          ULONG ( STDMETHODCALLTYPE *AddRef )( 
              __RPC__in IGetPLMNwAcT * This);
          
          ULONG ( STDMETHODCALLTYPE *Release )( 
              __RPC__in IGetPLMNwAcT * This);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnGetPreferredOperatorListCompletion )( 
              __RPC__in IGetPLMNwAcT * This,
              /* [in] */ HRESULT result,
              /* [size_is][in] */ __RPC__in_ecount_full(dwLength) RILOPERATORNAMES *pOperatorList,
              /* [in] */ DWORD dwLength);
          
          END_INTERFACE
      } IGetPLMNwAcTVtbl;
  
      interface IGetPLMNwAcT
      {
          CONST_VTBL struct IGetPLMNwAcTVtbl *lpVtbl;
      };
  
      
  
  #ifdef COBJMACROS
  
  
  #define IGetPLMNwAcT_QueryInterface(This,riid,ppvObject)	\
      ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
  
  #define IGetPLMNwAcT_AddRef(This)	\
      ( (This)->lpVtbl -> AddRef(This) ) 
  
  #define IGetPLMNwAcT_Release(This)	\
      ( (This)->lpVtbl -> Release(This) ) 
  
  
  #define IGetPLMNwAcT_OnGetPreferredOperatorListCompletion(This,result,pOperatorList,dwLength)	\
      ( (This)->lpVtbl -> OnGetPreferredOperatorListCompletion(This,result,pOperatorList,dwLength) ) 
  
  #endif /* COBJMACROS */
  
  
  #endif 	/* C style interface */
  
  
  
  
  #endif 	/* __IGetPLMNwAcT_INTERFACE_DEFINED__ */
  
  
  #ifndef __ISetPLMNwAcT_INTERFACE_DEFINED__
  #define __ISetPLMNwAcT_INTERFACE_DEFINED__
  
  /* interface ISetPLMNwAcT */
  /* [uuid][oleautomation][object] */ 
  
  
  EXTERN_C const IID IID_ISetPLMNwAcT;
  
  #if defined(__cplusplus) && !defined(CINTERFACE)
      
      MIDL_INTERFACE("4E331477-F454-4DE7-8B18-5130B891B012")
      ISetPLMNwAcT : public IUnknown
      {
      public:
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnSetPreferredOperatorListCompletion( 
              /* [in] */ HRESULT result) = 0;
          
      };
      
      
  #else 	/* C style interface */
  
      typedef struct ISetPLMNwAcTVtbl
      {
          BEGIN_INTERFACE
          
          HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
              __RPC__in ISetPLMNwAcT * This,
              /* [in] */ __RPC__in REFIID riid,
              /* [annotation][iid_is][out] */ 
              _COM_Outptr_  void **ppvObject);
          
          ULONG ( STDMETHODCALLTYPE *AddRef )( 
              __RPC__in ISetPLMNwAcT * This);
          
          ULONG ( STDMETHODCALLTYPE *Release )( 
              __RPC__in ISetPLMNwAcT * This);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnSetPreferredOperatorListCompletion )( 
              __RPC__in ISetPLMNwAcT * This,
              /* [in] */ HRESULT result);
          
          END_INTERFACE
      } ISetPLMNwAcTVtbl;
  
      interface ISetPLMNwAcT
      {
          CONST_VTBL struct ISetPLMNwAcTVtbl *lpVtbl;
      };
  
      
  
  #ifdef COBJMACROS
  
  
  #define ISetPLMNwAcT_QueryInterface(This,riid,ppvObject)	\
      ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
  
  #define ISetPLMNwAcT_AddRef(This)	\
      ( (This)->lpVtbl -> AddRef(This) ) 
  
  #define ISetPLMNwAcT_Release(This)	\
      ( (This)->lpVtbl -> Release(This) ) 
  
  
  #define ISetPLMNwAcT_OnSetPreferredOperatorListCompletion(This,result)	\
      ( (This)->lpVtbl -> OnSetPreferredOperatorListCompletion(This,result) ) 
  
  #endif /* COBJMACROS */
  
  
  #endif 	/* C style interface */
  
  
  
  
  #endif 	/* __ISetPLMNwAcT_INTERFACE_DEFINED__ */
  
  
  #ifndef __IGetCallForwardingCompletion_INTERFACE_DEFINED__
  #define __IGetCallForwardingCompletion_INTERFACE_DEFINED__
  
  /* interface IGetCallForwardingCompletion */
  /* [uuid][oleautomation][object] */ 
  
  
  EXTERN_C const IID IID_IGetCallForwardingCompletion;
  
  #if defined(__cplusplus) && !defined(CINTERFACE)
      
      MIDL_INTERFACE("c329148f-3374-438b-8ed4-e1b9ab28eee3")
      IGetCallForwardingCompletion : public IUnknown
      {
      public:
          virtual HRESULT STDMETHODCALLTYPE OnGetCallForwardingSettingsCompletion( 
              /* [in] */ HRESULT result,
              /* [in] */ INT_PTR context,
              /* [in] */ __RPC__in RILCALLFORWARDINGSETTINGS *settings,
              /* [in] */ DWORD cSettings) = 0;
          
      };
      
      
  #else 	/* C style interface */
  
      typedef struct IGetCallForwardingCompletionVtbl
      {
          BEGIN_INTERFACE
          
          HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
              __RPC__in IGetCallForwardingCompletion * This,
              /* [in] */ __RPC__in REFIID riid,
              /* [annotation][iid_is][out] */ 
              _COM_Outptr_  void **ppvObject);
          
          ULONG ( STDMETHODCALLTYPE *AddRef )( 
              __RPC__in IGetCallForwardingCompletion * This);
          
          ULONG ( STDMETHODCALLTYPE *Release )( 
              __RPC__in IGetCallForwardingCompletion * This);
          
          HRESULT ( STDMETHODCALLTYPE *OnGetCallForwardingSettingsCompletion )( 
              __RPC__in IGetCallForwardingCompletion * This,
              /* [in] */ HRESULT result,
              /* [in] */ INT_PTR context,
              /* [in] */ __RPC__in RILCALLFORWARDINGSETTINGS *settings,
              /* [in] */ DWORD cSettings);
          
          END_INTERFACE
      } IGetCallForwardingCompletionVtbl;
  
      interface IGetCallForwardingCompletion
      {
          CONST_VTBL struct IGetCallForwardingCompletionVtbl *lpVtbl;
      };
  
      
  
  #ifdef COBJMACROS
  
  
  #define IGetCallForwardingCompletion_QueryInterface(This,riid,ppvObject)	\
      ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
  
  #define IGetCallForwardingCompletion_AddRef(This)	\
      ( (This)->lpVtbl -> AddRef(This) ) 
  
  #define IGetCallForwardingCompletion_Release(This)	\
      ( (This)->lpVtbl -> Release(This) ) 
  
  
  #define IGetCallForwardingCompletion_OnGetCallForwardingSettingsCompletion(This,result,context,settings,cSettings)	\
      ( (This)->lpVtbl -> OnGetCallForwardingSettingsCompletion(This,result,context,settings,cSettings) ) 
  
  #endif /* COBJMACROS */
  
  
  #endif 	/* C style interface */
  
  
  
  
  #endif 	/* __IGetCallForwardingCompletion_INTERFACE_DEFINED__ */
  
  
  #ifndef __ISimpleModemCompletion_INTERFACE_DEFINED__
  #define __ISimpleModemCompletion_INTERFACE_DEFINED__
  
  /* interface ISimpleModemCompletion */
  /* [uuid][oleautomation][object] */ 
  
  
  EXTERN_C const IID IID_ISimpleModemCompletion;
  
  #if defined(__cplusplus) && !defined(CINTERFACE)
      
      MIDL_INTERFACE("9A189741-DED1-4535-B116-B6D287BF70D2")
      ISimpleModemCompletion : public IUnknown
      {
      public:
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnFinished( 
              HRESULT result,
              /* [in] */ INT_PTR context) = 0;
          
      };
      
      
  #else 	/* C style interface */
  
      typedef struct ISimpleModemCompletionVtbl
      {
          BEGIN_INTERFACE
          
          HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
              __RPC__in ISimpleModemCompletion * This,
              /* [in] */ __RPC__in REFIID riid,
              /* [annotation][iid_is][out] */ 
              _COM_Outptr_  void **ppvObject);
          
          ULONG ( STDMETHODCALLTYPE *AddRef )( 
              __RPC__in ISimpleModemCompletion * This);
          
          ULONG ( STDMETHODCALLTYPE *Release )( 
              __RPC__in ISimpleModemCompletion * This);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnFinished )( 
              __RPC__in ISimpleModemCompletion * This,
              HRESULT result,
              /* [in] */ INT_PTR context);
          
          END_INTERFACE
      } ISimpleModemCompletionVtbl;
  
      interface ISimpleModemCompletion
      {
          CONST_VTBL struct ISimpleModemCompletionVtbl *lpVtbl;
      };
  
      
  
  #ifdef COBJMACROS
  
  
  #define ISimpleModemCompletion_QueryInterface(This,riid,ppvObject)	\
      ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
  
  #define ISimpleModemCompletion_AddRef(This)	\
      ( (This)->lpVtbl -> AddRef(This) ) 
  
  #define ISimpleModemCompletion_Release(This)	\
      ( (This)->lpVtbl -> Release(This) ) 
  
  
  #define ISimpleModemCompletion_OnFinished(This,result,context)	\
      ( (This)->lpVtbl -> OnFinished(This,result,context) ) 
  
  #endif /* COBJMACROS */
  
  
  #endif 	/* C style interface */
  
  
  
  
  #endif 	/* __ISimpleModemCompletion_INTERFACE_DEFINED__ */
  
  
  #ifndef __ICallWaitingSettingsCompletion_INTERFACE_DEFINED__
  #define __ICallWaitingSettingsCompletion_INTERFACE_DEFINED__
  
  /* interface ICallWaitingSettingsCompletion */
  /* [uuid][oleautomation][object] */ 
  
  
  EXTERN_C const IID IID_ICallWaitingSettingsCompletion;
  
  #if defined(__cplusplus) && !defined(CINTERFACE)
      
      MIDL_INTERFACE("f9581718-2283-4336-9397-1c6c067299d2")
      ICallWaitingSettingsCompletion : public IUnknown
      {
      public:
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnCallWaitingSettingsCompletion( 
              /* [in] */ HRESULT hr,
              /* [in] */ DWORD dwInfoClasses,
              /* [in] */ INT_PTR context) = 0;
          
      };
      
      
  #else 	/* C style interface */
  
      typedef struct ICallWaitingSettingsCompletionVtbl
      {
          BEGIN_INTERFACE
          
          HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
              __RPC__in ICallWaitingSettingsCompletion * This,
              /* [in] */ __RPC__in REFIID riid,
              /* [annotation][iid_is][out] */ 
              _COM_Outptr_  void **ppvObject);
          
          ULONG ( STDMETHODCALLTYPE *AddRef )( 
              __RPC__in ICallWaitingSettingsCompletion * This);
          
          ULONG ( STDMETHODCALLTYPE *Release )( 
              __RPC__in ICallWaitingSettingsCompletion * This);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnCallWaitingSettingsCompletion )( 
              __RPC__in ICallWaitingSettingsCompletion * This,
              /* [in] */ HRESULT hr,
              /* [in] */ DWORD dwInfoClasses,
              /* [in] */ INT_PTR context);
          
          END_INTERFACE
      } ICallWaitingSettingsCompletionVtbl;
  
      interface ICallWaitingSettingsCompletion
      {
          CONST_VTBL struct ICallWaitingSettingsCompletionVtbl *lpVtbl;
      };
  
      
  
  #ifdef COBJMACROS
  
  
  #define ICallWaitingSettingsCompletion_QueryInterface(This,riid,ppvObject)	\
      ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
  
  #define ICallWaitingSettingsCompletion_AddRef(This)	\
      ( (This)->lpVtbl -> AddRef(This) ) 
  
  #define ICallWaitingSettingsCompletion_Release(This)	\
      ( (This)->lpVtbl -> Release(This) ) 
  
  
  #define ICallWaitingSettingsCompletion_OnCallWaitingSettingsCompletion(This,hr,dwInfoClasses,context)	\
      ( (This)->lpVtbl -> OnCallWaitingSettingsCompletion(This,hr,dwInfoClasses,context) ) 
  
  #endif /* COBJMACROS */
  
  
  #endif 	/* C style interface */
  
  
  
  
  #endif 	/* __ICallWaitingSettingsCompletion_INTERFACE_DEFINED__ */
  
  
  #ifndef __IOemIMSStatusChange_INTERFACE_DEFINED__
  #define __IOemIMSStatusChange_INTERFACE_DEFINED__
  
  /* interface IOemIMSStatusChange */
  /* [uuid][oleautomation][object] */ 
  
  
  EXTERN_C const IID IID_IOemIMSStatusChange;
  
  #if defined(__cplusplus) && !defined(CINTERFACE)
      
      MIDL_INTERFACE("7d034a18-baef-4f86-ad84-bb0bbfb9f834")
      IOemIMSStatusChange : public IUnknown
      {
      public:
          virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnOemIMSStatusChanged( 
              /* [in] */ __RPC__in LPRILIMSSTATUS rilIMSStatus,
              /* [in] */ __RPC__in_opt IOemCanExtForIMS *pCan) = 0;
          
      };
      
      
  #else 	/* C style interface */
  
      typedef struct IOemIMSStatusChangeVtbl
      {
          BEGIN_INTERFACE
          
          HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
              __RPC__in IOemIMSStatusChange * This,
              /* [in] */ __RPC__in REFIID riid,
              /* [annotation][iid_is][out] */ 
              _COM_Outptr_  void **ppvObject);
          
          ULONG ( STDMETHODCALLTYPE *AddRef )( 
              __RPC__in IOemIMSStatusChange * This);
          
          ULONG ( STDMETHODCALLTYPE *Release )( 
              __RPC__in IOemIMSStatusChange * This);
          
          /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnOemIMSStatusChanged )( 
              __RPC__in IOemIMSStatusChange * This,
              /* [in] */ __RPC__in LPRILIMSSTATUS rilIMSStatus,
              /* [in] */ __RPC__in_opt IOemCanExtForIMS *pCan);
          
          END_INTERFACE
      } IOemIMSStatusChangeVtbl;
  
      interface IOemIMSStatusChange
      {
          CONST_VTBL struct IOemIMSStatusChangeVtbl *lpVtbl;
      };
  
      
  
  #ifdef COBJMACROS
  
  
  #define IOemIMSStatusChange_QueryInterface(This,riid,ppvObject)	\
      ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
  
  #define IOemIMSStatusChange_AddRef(This)	\
      ( (This)->lpVtbl -> AddRef(This) ) 
  
  #define IOemIMSStatusChange_Release(This)	\
      ( (This)->lpVtbl -> Release(This) ) 
  
  
  #define IOemIMSStatusChange_OnOemIMSStatusChanged(This,rilIMSStatus,pCan)	\
      ( (This)->lpVtbl -> OnOemIMSStatusChanged(This,rilIMSStatus,pCan) ) 
  
  #endif /* COBJMACROS */
  
  
  #endif 	/* C style interface */
  
  
  
  
  #endif 	/* __IOemIMSStatusChange_INTERFACE_DEFINED__ */
  
  
  
  #ifndef __OemCellularIF_LIBRARY_DEFINED__
  #define __OemCellularIF_LIBRARY_DEFINED__
  
  /* library OemCellularIF */
  /* [version][uuid] */ 
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  EXTERN_C const IID LIBID_OemCellularIF;
  
  EXTERN_C const CLSID CLSID_OemCellular;
  
  #ifdef __cplusplus
  
  class DECLSPEC_UUID("9D27B916-4F17-4EE8-A71C-D84222993D64")
  OemCellular;
  #endif
  #endif /* __OemCellularIF_LIBRARY_DEFINED__ */
  
  /* Additional Prototypes for ALL interfaces */
  
  /* end of Additional Prototypes */
  
  #ifdef __cplusplus
  }
  #endif
  
  #endif
  
  
  #pragma option pop /*P_O_Pop*/
  