📄 simmgr.h
字号:
#define SIM_RECORDTYPE_TRANSPARENT (0x00000001) // @constdefine A single veriable lengthed record
#define SIM_RECORDTYPE_CYCLIC (0x00000002) // @constdefine A cyclic set of records, each of the same length
#define SIM_RECORDTYPE_LINEAR (0x00000003) // @constdefine A linear set of records, each of the same length
#define SIM_RECORDTYPE_MASTER (0x00000004) // @constdefine Every SIM has a single master record, effectively the head node
#define SIM_RECORDTYPE_DEDICATED (0x00000005) // @constdefine Effectively a "directory" file which is a parent of other records
// -----------------------------------------------------------------------------
//
// @doc EXTERNAL
//
// @constants SIM Record Refresh | Different ways of being notified that SIM
// have been updated
//
// @comm None
//
// -----------------------------------------------------------------------------
#define SIMFILE_FULLFILECHANGE (0x00000001) // @constdefine All files have been changed
#define SIMFILE_FILECHANGE (0x00000002) // @constdefine Only a few files have been changed
#define SIMFILE_SIMINIT (0x00000004) // @constdefine SIM Initiailization
#define SIMFILE_SIMRESET (0x00000008) // @constdefine Reset the SIM
// -----------------------------------------------------------------------------
//
// @doc EXTERNAL
//
// @constants Max_Length | Maximum length constants
//
// @comm None
//
// -----------------------------------------------------------------------------
#define MAX_LENGTH_ADDRESS (256) // @constdefine Maximum length of an address
#define MAX_LENGTH_PHONEBOOKENTRYTEXT (256) // @constdefine Maximum length of text in a phonebook entry
#define MAX_LENGTH_HEADER (256) // @constdefine Maximum length of a SMS header
#define MAX_LENGTH_MESSAGE (256) // @constdefine Maximum length of a SMS message
#define MAX_FILES (32) // @constdefine Maximum number of files in a file change list
#define MAX_NUM_GROUPS (10) // @constdefine Maximum number of group ID's in a phonebook entry
// -----------------------------------------------------------------------------
//
// @doc EXTERNAL
//
// @struct HSIM | Handle to a SIM
//
// @comm None
//
// -----------------------------------------------------------------------------
typedef HANDLE HSIM, *LPHSIM;
// -----------------------------------------------------------------------------
//
// @doc EXTERNAL
//
// @struct SIMPHONEBOOKENTRY | A SIM phonebook entry
//
// @comm None
//
// -----------------------------------------------------------------------------
typedef struct simphonebookentry_tag {
DWORD cbSize; // @field Size of the structure in bytes
DWORD dwParams; // @field Indicates valid parameter values
TCHAR lpszAddress[MAX_LENGTH_ADDRESS]; // @field The actual phone number
DWORD dwAddressType; // @field A SIM_ADDRTYPE_* constant
DWORD dwNumPlan; // @field A SIM_NUMPLAN_* constant
TCHAR lpszText[MAX_LENGTH_PHONEBOOKENTRYTEXT]; // @field Text associated with the entry
} SIMPHONEBOOKENTRY, *LPSIMPHONEBOOKENTRY;
// -----------------------------------------------------------------------------
//
// @doc EXTERNAL
//
// @struct LPSIMPHONEBOOKADDITIONALNUMBER | An additional phone number item
// associated with a SIMPHONEBOOKENTRYEX structure.
//
// @comm None
//
// -----------------------------------------------------------------------------
typedef struct simphonebookadditionalnumber_tag {
DWORD cbSize; // @field Size of buffer in bytes.
DWORD dwParams; // @field @field Indicates valid parameter values in structure.
TCHAR lpszAddress[MAX_LENGTH_ADDRESS]; // @field The actual phone number
DWORD dwAddressType; // @field A SIM_ADDRTYPE_* constant
DWORD dwNumPlan; // @field A SIM_NUMPLAN_* constant
DWORD dwNumId; // @field The additional number type tag
} SIMPHONEBOOKADDITIONALNUMBER, *LPSIMPHONEBOOKADDITIONALNUMBER;
// -----------------------------------------------------------------------------
//
// @doc EXTERNAL
//
// @struct SIMPHONEBOOKEMAILADDRESS | An email address item associated with a
// SIMPHONEBOOKENTRYEX structure.
//
//
// @comm None
//
// -----------------------------------------------------------------------------
typedef struct simphonebookemailaddress_tag {
DWORD cbSize; // @field Size of buffer in bytes.
DWORD dwParams; // @field Indicates valid parameter values in structure.
TCHAR lpszAddress[MAX_LENGTH_PHONEBOOKENTRYTEXT]; // @field A string containing the email address. For MAX_LENGTH_PHONEBOOKTEXT see SIMPHONEBOOKENTRYEX lpszText.
} SIMPHONEBOOKEMAILADDRESS, *LPSIMPHONEBOOKEMAILADDRESS;
// -----------------------------------------------------------------------------
//
// @doc EXTERNAL
//
// @struct SIMPHONEBOOKENTRYEX | An extended SIM phonebook entry
//
// @comm None
//
// -----------------------------------------------------------------------------
typedef struct simphonebookentryex_tag {
DWORD cbSize; // @field Size of the structure in bytes
DWORD dwParams; // @field Indicates valid parameter values
TCHAR lpszAddress[MAX_LENGTH_ADDRESS]; // @field The actual phone number
DWORD dwAddressType; // @field A SIM_ADDRTYPE_* constant
DWORD dwNumPlan; // @field A SIM_NUMPLAN_* constant
TCHAR lpszText[MAX_LENGTH_PHONEBOOKENTRYTEXT]; // @field Text associated with the entry
TCHAR lpszSecondName[MAX_LENGTH_PHONEBOOKENTRYTEXT]; // @field Second text field associated with the entry
DWORD dwIndex; // @field Index of the entry
BOOL fHidden; // @field Indicates a hidden entry
DWORD dwGroupIdCount; // @field Count of valid group ID's
DWORD rgdwGroupId[MAX_NUM_GROUPS]; // @field Array of group ID's
DWORD dwUid; // @field Unique identifier of entry
DWORD dwAdditionalNumberCount; // @field Number of additional numbers in the array.
LPSIMPHONEBOOKADDITIONALNUMBER lpAdditionalNumbers; // @field Pointer to an array of SIMPHONEBOOKADDITIONALNUMBER structures
DWORD dwEmailCount; // @field Number of email addresses in the array.
LPSIMPHONEBOOKEMAILADDRESS lpEmailAddresses; // @field Pointer to an array of SIMPHONEBOOKEMAILADDRESS structures
} SIMPHONEBOOKENTRYEX, *LPSIMPHONEBOOKENTRYEX;
// -----------------------------------------------------------------------------
//
// @doc EXTERNAL
//
// @struct SIMMESSAGE | A SIM message entry
//
// @comm None
//
// -----------------------------------------------------------------------------
typedef struct simmessage_tag {
DWORD cbSize; // @field Size of the structure in bytes
DWORD dwParams; // @field Indicates valid parameter values
TCHAR lpszAddress[MAX_LENGTH_ADDRESS]; // @field The actual phone number
DWORD dwAddressType; // @field A SIM_ADDRTYPE_* constant
DWORD dwNumPlan; // @field A SIM_NUMPLAN_* constant
SYSTEMTIME stReceiveTime; // @field Timestamp for the incoming message
DWORD cbHdrLength; // @field Header length in bytes
BYTE rgbHeader[MAX_LENGTH_HEADER]; // @field The actual header data
TCHAR lpszMessage[MAX_LENGTH_MESSAGE]; // @field The actual message data
} SIMMESSAGE, FAR *LPSIMMESSAGE;
// -----------------------------------------------------------------------------
//
// @doc EXTERNAL
//
// @struct SIMLOCKINGPWDLENGTH | Minimum password length
//
// @comm None
//
// -----------------------------------------------------------------------------
typedef struct simlockingpwdlength
{
DWORD dwFacility; // @field The locking facility
DWORD dwPasswordLength; // @field The minimum password length
} SIMLOCKINGPWDLENGTH, FAR *LPSIMLOCKINGPWDLENGTH;
// -----------------------------------------------------------------------------
//
// @doc EXTERNAL
//
// @struct SIMCAPS | Capabilities of the SIM
//
// @comm None
//
// -----------------------------------------------------------------------------
typedef struct simcaps_tag {
DWORD cbSize; // @field Size of the structure in bytes
DWORD dwParams; // @field Indicates valid parameter values
DWORD dwPBStorages; // @field Supported phonebook storages
DWORD dwMinPBIndex; // @field Minimum phonebook storages
DWORD dwMaxPBIndex; // @field Maximum phonebook storages
DWORD dwMaxPBEAddressLength; // @field Maximum address length of phonebook entries
DWORD dwMaxPBETextLength; // @field Maximum text length of phonebook entries
DWORD dwLockFacilities; // @field Supported locking facilities
DWORD dwReadMsgStorages; // @field Supported read message stores
DWORD dwWriteMsgStorages; // @field Supported write message stores
DWORD dwNumLockingPwdLengths; // @field Number of entries in rgLockingPwdLengths
SIMLOCKINGPWDLENGTH rgLockingPwdLengths[SIM_NUMLOCKFACILITIES]; // @field Password lengths for each facility
} SIMCAPS, FAR *LPSIMCAPS;
// -----------------------------------------------------------------------------
//
// @doc EXTERNAL
//
// @struct SIMPHONEBOOKCAPS | Capabilities of the SIM Phonebook
//
// @comm None
//
// -----------------------------------------------------------------------------
typedef struct simphonebookcaps_tag {
DWORD cbSize; // @field Size of the structure in bytes
DWORD dwParams; // @field Indicates valid parameter values
DWORD dwStorages; // @field Supported phonebook storages
DWORD dwMinIndex; // @field Minimum phonebook storages
DWORD dwMaxIndex; // @field Maximum phonebook storages
DWORD dwMaxAddressLength; // @field Maximum address length of phonebook entries
DWORD dwMaxTextLength; // @field Maximum text length of phonebook entries
DWORD dwMaxSecondNameLength; // @field Maximum text length for the second name
DWORD dwMaxAdditionalNumberLength; // @field Maximum text length for additional numbers
DWORD dwMaxEmailAddressLength; // @field Maximum text length for email addresses
DWORD dwMaxGroupTagLength; // @field Maximum text length for group tag text
DWORD dwMaxAdditionalNumberTagLength; // @field Maximum text length for additional number tag text
DWORD dwAdditionalNumberCount; // @field Count of additional numbers supported per entry
DWORD dwEmailAddressCount; // @field Number of emails addresses supported per entry
DWORD dwMaxGroupTags; // @field Number of Group tags available
DWORD dwMaxAdditionalNumberTags; // @field Number of additional number tags available
BOOL fHidden; // @field Hidden flag is available
BOOL fUid; // @field Unique identifier is available
DWORD dwMaxGroupIdCount; // @field Number of groups supported per entry
} SIMPHONEBOOKCAPS, FAR *LPSIMPHONEBOOKCAPS;
// -----------------------------------------------------------------------------
//
// @doc EXTERNAL
//
// @struct SIMRECORDINFO | Information about a particular SIM file
//
// @comm None
//
// -----------------------------------------------------------------------------
typedef struct simrecordinfo_tag {
DWORD cbSize; // @field Size of the structure in bytes
DWORD dwParams; // @field Indicates valid parameter values
DWORD dwRecordType; // @field SIM_RECORDTYPE_* Constant
DWORD dwItemCount; // @field Number of items in the record
DWORD dwSize; // @field Size in bytes of each item
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -