Win32 API 日本語リファレンス
ホームNetworkManagement.MobileBroadband › __mbnapi_ReferenceRemainingTypes__

__mbnapi_ReferenceRemainingTypes__

構造体
サイズx64: 56 バイト / x86: 56 バイト

サイズ=各フィールドのバイト数(x64/x86 で異なる場合は x64/x86 と併記)。x64/x86 列=フィールドのバイトオフセット(HSPで dupptr / lpoke / wpoke 等に使用)。

フィールド

フィールドサイズx64x86
bandClassMBN_BAND_CLASS4+0+0
contextConstantsMBN_CONTEXT_CONSTANTS4+4+4
ctrlCapsMBN_CTRL_CAPS4+8+8
dataClassMBN_DATA_CLASS4+12+12
interfaceCapsConstantsMBN_INTERFACE_CAPS_CONSTANTS4+16+16
pinConstantsMBN_PIN_CONSTANTS4+20+20
providerConstantsMBN_PROVIDER_CONSTANTS4+24+24
providerStateMBN_PROVIDER_STATE4+28+28
registrationConstantsMBN_REGISTRATION_CONSTANTS4+32+32
signalConstantsMBN_SIGNAL_CONSTANTS4+36+36
smsCapsMBN_SMS_CAPS4+40+40
smsConstantsWWAEXT_SMS_CONSTANTS4+44+44
wwaextSmsConstantsWWAEXT_SMS_CONSTANTS4+48+48
smsStatusFlagMBN_SMS_STATUS_FLAG4+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 Structure
import 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: int32
struct __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