ホーム › NetworkManagement.MobileBroadband › __mbnapi_ReferenceRemainingTypes__
__mbnapi_ReferenceRemainingTypes__
構造体サイズ=各フィールドのバイト数(x64/x86 で異なる場合は x64/x86 と併記)。x64/x86 列=フィールドのバイトオフセット(HSPで dupptr / lpoke / wpoke 等に使用)。
フィールド
| フィールド | 型 | サイズ | x64 | x86 |
|---|---|---|---|---|
| bandClass | MBN_BAND_CLASS | 4 | +0 | +0 |
| contextConstants | MBN_CONTEXT_CONSTANTS | 4 | +4 | +4 |
| ctrlCaps | MBN_CTRL_CAPS | 4 | +8 | +8 |
| dataClass | MBN_DATA_CLASS | 4 | +12 | +12 |
| interfaceCapsConstants | MBN_INTERFACE_CAPS_CONSTANTS | 4 | +16 | +16 |
| pinConstants | MBN_PIN_CONSTANTS | 4 | +20 | +20 |
| providerConstants | MBN_PROVIDER_CONSTANTS | 4 | +24 | +24 |
| providerState | MBN_PROVIDER_STATE | 4 | +28 | +28 |
| registrationConstants | MBN_REGISTRATION_CONSTANTS | 4 | +32 | +32 |
| signalConstants | MBN_SIGNAL_CONSTANTS | 4 | +36 | +36 |
| smsCaps | MBN_SMS_CAPS | 4 | +40 | +40 |
| smsConstants | WWAEXT_SMS_CONSTANTS | 4 | +44 | +44 |
| wwaextSmsConstants | WWAEXT_SMS_CONSTANTS | 4 | +48 | +48 |
| smsStatusFlag | MBN_SMS_STATUS_FLAG | 4 | +52 | +52 |
各言語での定義
#include <windows.h>
// __mbnapi_ReferenceRemainingTypes__ (x64 56 / x86 56 バイト)
typedef struct __mbnapi_ReferenceRemainingTypes__ {
MBN_BAND_CLASS bandClass;
MBN_CONTEXT_CONSTANTS contextConstants;
MBN_CTRL_CAPS ctrlCaps;
MBN_DATA_CLASS dataClass;
MBN_INTERFACE_CAPS_CONSTANTS interfaceCapsConstants;
MBN_PIN_CONSTANTS pinConstants;
MBN_PROVIDER_CONSTANTS providerConstants;
MBN_PROVIDER_STATE providerState;
MBN_REGISTRATION_CONSTANTS registrationConstants;
MBN_SIGNAL_CONSTANTS signalConstants;
MBN_SMS_CAPS smsCaps;
WWAEXT_SMS_CONSTANTS smsConstants;
WWAEXT_SMS_CONSTANTS wwaextSmsConstants;
MBN_SMS_STATUS_FLAG smsStatusFlag;
} __mbnapi_ReferenceRemainingTypes__;using System;
using System.Runtime.InteropServices;
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct __mbnapi_ReferenceRemainingTypes__
{
public int bandClass;
public int contextConstants;
public int ctrlCaps;
public int dataClass;
public int interfaceCapsConstants;
public int pinConstants;
public int providerConstants;
public int providerState;
public int registrationConstants;
public int signalConstants;
public int smsCaps;
public int smsConstants;
public int wwaextSmsConstants;
public int smsStatusFlag;
}Imports System.Runtime.InteropServices
<StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Unicode)>
Public Structure __mbnapi_ReferenceRemainingTypes__
Public bandClass As Integer
Public contextConstants As Integer
Public ctrlCaps As Integer
Public dataClass As Integer
Public interfaceCapsConstants As Integer
Public pinConstants As Integer
Public providerConstants As Integer
Public providerState As Integer
Public registrationConstants As Integer
Public signalConstants As Integer
Public smsCaps As Integer
Public smsConstants As Integer
Public wwaextSmsConstants As Integer
Public smsStatusFlag As Integer
End Structureimport ctypes
from ctypes import wintypes
class __mbnapi_ReferenceRemainingTypes__(ctypes.Structure):
_fields_ = [
("bandClass", ctypes.c_int),
("contextConstants", ctypes.c_int),
("ctrlCaps", ctypes.c_int),
("dataClass", ctypes.c_int),
("interfaceCapsConstants", ctypes.c_int),
("pinConstants", ctypes.c_int),
("providerConstants", ctypes.c_int),
("providerState", ctypes.c_int),
("registrationConstants", ctypes.c_int),
("signalConstants", ctypes.c_int),
("smsCaps", ctypes.c_int),
("smsConstants", ctypes.c_int),
("wwaextSmsConstants", ctypes.c_int),
("smsStatusFlag", ctypes.c_int),
]#[repr(C)]
pub struct __mbnapi_ReferenceRemainingTypes__ {
pub bandClass: i32,
pub contextConstants: i32,
pub ctrlCaps: i32,
pub dataClass: i32,
pub interfaceCapsConstants: i32,
pub pinConstants: i32,
pub providerConstants: i32,
pub providerState: i32,
pub registrationConstants: i32,
pub signalConstants: i32,
pub smsCaps: i32,
pub smsConstants: i32,
pub wwaextSmsConstants: i32,
pub smsStatusFlag: i32,
}import "golang.org/x/sys/windows"
type __mbnapi_ReferenceRemainingTypes__ struct {
bandClass int32
contextConstants int32
ctrlCaps int32
dataClass int32
interfaceCapsConstants int32
pinConstants int32
providerConstants int32
providerState int32
registrationConstants int32
signalConstants int32
smsCaps int32
smsConstants int32
wwaextSmsConstants int32
smsStatusFlag int32
}type
__mbnapi_ReferenceRemainingTypes__ = record
bandClass: Integer;
contextConstants: Integer;
ctrlCaps: Integer;
dataClass: Integer;
interfaceCapsConstants: Integer;
pinConstants: Integer;
providerConstants: Integer;
providerState: Integer;
registrationConstants: Integer;
signalConstants: Integer;
smsCaps: Integer;
smsConstants: Integer;
wwaextSmsConstants: Integer;
smsStatusFlag: Integer;
end;const __mbnapi_ReferenceRemainingTypes__ = extern struct {
bandClass: i32,
contextConstants: i32,
ctrlCaps: i32,
dataClass: i32,
interfaceCapsConstants: i32,
pinConstants: i32,
providerConstants: i32,
providerState: i32,
registrationConstants: i32,
signalConstants: i32,
smsCaps: i32,
smsConstants: i32,
wwaextSmsConstants: i32,
smsStatusFlag: i32,
};type
__mbnapi_ReferenceRemainingTypes__ {.bycopy.} = object
bandClass: int32
contextConstants: int32
ctrlCaps: int32
dataClass: int32
interfaceCapsConstants: int32
pinConstants: int32
providerConstants: int32
providerState: int32
registrationConstants: int32
signalConstants: int32
smsCaps: int32
smsConstants: int32
wwaextSmsConstants: int32
smsStatusFlag: int32struct __mbnapi_ReferenceRemainingTypes__
{
int bandClass;
int contextConstants;
int ctrlCaps;
int dataClass;
int interfaceCapsConstants;
int pinConstants;
int providerConstants;
int providerState;
int registrationConstants;
int signalConstants;
int smsCaps;
int smsConstants;
int wwaextSmsConstants;
int smsStatusFlag;
}HSP用 定義
HSP3.7/3.8 は構造体機能が無いため4byte整数配列(dim)+peek/poke で操作(32/64bitでサイズ・位置が異なる場合はタブで分割)。IronHSP は NSTRUCT(#defstruct/stdim/->)で32/64bit共通。
; HSP3.7/3.8 は構造体機能が無いため、4byte整数の配列変数で操作します。(x64 レイアウト)
; __mbnapi_ReferenceRemainingTypes__ サイズ: 56 バイト(x64)
dim st, 14 ; 4byte整数×14(構造体サイズ 56 / 4 切り上げ)
; bandClass : MBN_BAND_CLASS (+0, 4byte) st.0 = 値 / 値 = st.0 (lpoke/lpeek も可)
; contextConstants : MBN_CONTEXT_CONSTANTS (+4, 4byte) st.1 = 値 / 値 = st.1 (lpoke/lpeek も可)
; ctrlCaps : MBN_CTRL_CAPS (+8, 4byte) st.2 = 値 / 値 = st.2 (lpoke/lpeek も可)
; dataClass : MBN_DATA_CLASS (+12, 4byte) st.3 = 値 / 値 = st.3 (lpoke/lpeek も可)
; interfaceCapsConstants : MBN_INTERFACE_CAPS_CONSTANTS (+16, 4byte) st.4 = 値 / 値 = st.4 (lpoke/lpeek も可)
; pinConstants : MBN_PIN_CONSTANTS (+20, 4byte) st.5 = 値 / 値 = st.5 (lpoke/lpeek も可)
; providerConstants : MBN_PROVIDER_CONSTANTS (+24, 4byte) st.6 = 値 / 値 = st.6 (lpoke/lpeek も可)
; providerState : MBN_PROVIDER_STATE (+28, 4byte) st.7 = 値 / 値 = st.7 (lpoke/lpeek も可)
; registrationConstants : MBN_REGISTRATION_CONSTANTS (+32, 4byte) st.8 = 値 / 値 = st.8 (lpoke/lpeek も可)
; signalConstants : MBN_SIGNAL_CONSTANTS (+36, 4byte) st.9 = 値 / 値 = st.9 (lpoke/lpeek も可)
; smsCaps : MBN_SMS_CAPS (+40, 4byte) st.10 = 値 / 値 = st.10 (lpoke/lpeek も可)
; smsConstants : WWAEXT_SMS_CONSTANTS (+44, 4byte) st.11 = 値 / 値 = st.11 (lpoke/lpeek も可)
; wwaextSmsConstants : WWAEXT_SMS_CONSTANTS (+48, 4byte) st.12 = 値 / 値 = st.12 (lpoke/lpeek も可)
; smsStatusFlag : MBN_SMS_STATUS_FLAG (+52, 4byte) st.13 = 値 / 値 = st.13 (lpoke/lpeek も可)
; ※4byte境界の整数は添字 st.N(N=オフセット/4)で読み書き可。それ以外は peek/poke 系を使用。; IronHSP は NSTRUCT(構造体)をサポート。32bit/64bit どちらでも同じコードで動作します。
#defstruct global __mbnapi_ReferenceRemainingTypes__
#field int bandClass
#field int contextConstants
#field int ctrlCaps
#field int dataClass
#field int interfaceCapsConstants
#field int pinConstants
#field int providerConstants
#field int providerState
#field int registrationConstants
#field int signalConstants
#field int smsCaps
#field int smsConstants
#field int wwaextSmsConstants
#field int smsStatusFlag
#endstruct
stdim st, __mbnapi_ReferenceRemainingTypes__ ; NSTRUCT 変数を確保
st->bandClass = 100
mes "bandClass=" + st->bandClass