Jump to content


Photo

SimGetRecordInfo

- - - - -

  • Please log in to reply
14 replies to this topic

#1
othman20001

othman20001

    Newbie

  • Members
  • Pip
  • 11 posts
Hi everyone,

I have two problems using the SIM Manager API :

1. I want to read any record on the SIM Card. I'm using eVC4 with Smartphone 2003 emulator. Here's my code :

HSIM hSim;
HRESULT resOfGetReadRecord;
LPSIMRECORDINFO lpSimRecordInfo;
DWORD dwAddress = 0x06F07;
resOfGetReadRecord = SimGetRecordInfo(hSim, dwAddress, lpSimRecordInfo);

I always get the error code 80070057 (Invalid parameter)

2. If I want to write something on the SIM Card (with simWriteRecord), where can I write? ie wich address to give to the function in order to write.

Any Help would be really appreciated. It's been 2 weeks I'm working on these two functions ... :D

Edited by othman20001, 01 April 2005 - 07:47 AM.

  • 0

#2
nausea

nausea

    Regular

  • Members
  • PipPip
  • 109 posts
  • Devices:MPX220
Wheres the rest of your code?

You need to:

1) call simInitialize()
2) call simGetRecordInfo()
3) call simReadRecord()
4) call simDeinitialize()

8)

  • 0

#3
othman20001

othman20001

    Newbie

  • Members
  • Pip
  • 11 posts
Sorry the code wasn't complete. I call simInitialize before wich returns S_OK, the problem appears for simGetRecordInfo and simReadRecord wich returns 80070057.

  • 0

#4
othman20001

othman20001

    Newbie

  • Members
  • Pip
  • 11 posts
hi guys,

I sovled the problem, I had to use a privileged certificate as explained in http://msdn.microsof...ne_security.asp , because sim manager functions are privileged functions. :D

Cheers

  • 0

#5
pai

pai

    Newbie

  • Members
  • Pip
  • 28 posts
  • Location:Germany
  • Devices:SDA,XDA,XDAIIs

hi guys,

I sovled the problem, I had to use a privileged certificate as explained in http://msdn.microsof...ne_security.asp , because sim manager functions are privileged functions.  :D

Cheers

<{POST_SNAPBACK}>


i got the same error 0x80070057

I tried this

A Practical Guide to the Smartphone Application Security and Code Signing Model for Developers


but still not solved it

  • 0
Posted Image

#6
othman20001

othman20001

    Newbie

  • Members
  • Pip
  • 11 posts
In fact, this error is due to an invalid parameter in your function. Try changing the type of the record you access (TRANSPARENT,LINEAR, CYCLIC ...) or send us the piece of code you are using

  • 0

#7
pai

pai

    Newbie

  • Members
  • Pip
  • 28 posts
  • Location:Germany
  • Devices:SDA,XDA,XDAIIs
I am using
SimReadRecord(hSim, 0x2FE2, SIM_RECORDTYPE_TRANSPARENT, 0, ICCID, 10, &sizeRead)

and want to get the iccid.

I tried with your code
SimGetRecordInfo(hSim, dwAddress, lpSimRecordInfo);
not work neither

  • 0
Posted Image

#8
othman20001

othman20001

    Newbie

  • Members
  • Pip
  • 11 posts
What about this code :

SIMRECORDINFO simRecordInfo;
	simRecordInfo.dwRecordType= SIM_RECORDTYPE_TRANSPARENT; // Try different types here
	memset(&simRecordInfo,0,sizeof(simRecordInfo));
	simRecordInfo.cbSize = sizeof(simRecordInfo);
	res = SimGetRecordInfo(hSim, 0x2FE2, &simRecordInfo);

If not working try using this :

HRESULT res;
	BYTE bufferOfRead;
	DWORD sizeOfRead;
	DWORD bufferSize = 50;
	memset(&bufferOfRead,0,sizeof(bufferOfRead));
	res = SimReadRecord(hSim, 0x2FE2,SIM_RECORDTYPE_TRANSPARENT, 0, &bufferOfRead,bufferSize,&sizeOfRead);

Basically the error n° 57 is an invalid parameter, if the adress is wrong you would get 88000341, and if it's a signing problem you would have 80004005. Also, are u running your code on a device or emulator. If it is the emulator, some adresses are not working, on the device your sim must be unlocked, but I think you know that :D

  • 0

#9
pai

pai

    Newbie

  • Members
  • Pip
  • 28 posts
  • Location:Germany
  • Devices:SDA,XDA,XDAIIs
thanks othman20001,

for the addres 0x2FE2 it is working with my codes. only the value, which is become, is not right.

When i am trying get other values, like 0x6F07, then the error comes.

I am using Device for debugging.


what do you mind SIM-unluck? I am still a newbie in this world.

  • 0
Posted Image

#10
othman20001

othman20001

    Newbie

  • Members
  • Pip
  • 11 posts
When accessing 0x6F07 did you try all the record types ?

SIM unlock means that the access to SIM Card is locked by the operator to avoid malicious codes and other stuffs. There is a lot of topics on MoCaDo if you want to know how to unlock your sim.

  • 0

#11
pai

pai

    Newbie

  • Members
  • Pip
  • 28 posts
  • Location:Germany
  • Devices:SDA,XDA,XDAIIs
Thank you othman20001.

with
BYTE bufferOfRead;
	DWORD sizeOfRead;
	DWORD bufferSize = 50;
	memset(g_szICCID,0,sizeof(bufferOfRead));
	res = SimReadRecord(hSim, add,SIM_RECORDTYPE_TRANSPARENT, 0, g_szICCID,bufferSize,&sizeOfRead);
tested with unsigned short add = 0x6F07, 6f05, 6f20, 6f74


looks like don't work with 6D40 to get MSISDN.

But, can you get the correct IMSI with it? by here i got a value ,it is not my correct IMSI.

I will take a look at the SIM unlock in this forum.

  • 0
Posted Image

#12
pai

pai

    Newbie

  • Members
  • Pip
  • 28 posts
  • Location:Germany
  • Devices:SDA,XDA,XDAIIs
Now i see how to read these values.

It is in hex-value to read. 4bit -> one number,

THanks again

  • 0
Posted Image

#13
pai

pai

    Newbie

  • Members
  • Pip
  • 28 posts
  • Location:Germany
  • Devices:SDA,XDA,XDAIIs
I have another question,

what 's the meaning of Error 80070057 ?

  • 0
Posted Image

#14
othman20001

othman20001

    Newbie

  • Members
  • Pip
  • 11 posts

I have another question,

what 's the meaning of Error 80070057  ?

<{POST_SNAPBACK}>


It means Invalid parameter in your function.

  • 0

#15
mcfly9

mcfly9

    Newbie

  • Members
  • Pip
  • 1 posts
  • Devices:I-mate SP5
Hi,

I am trying to get the IMSI of the card in the phone, but get 80004004 error (E_ABORT). Any idea why that could be? The device is a WM5 SmartPhone using .net cf 2.0 sp1

UPDATE: created the 0000101b key in the Policies reg key and now I get past the SimGetRecordInfo, but get a 80070056 when doing SimReadRecord... any ideas?

Thanks,
András

Edited by mcfly9, 21 June 2007 - 04:40 PM.

  • 0




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users