Win32 API 日本語リファレンス
ホームDevices.Tapi › LINECALLPARAMS

LINECALLPARAMS

構造体
サイズx64: 176 バイト / x86: 176 バイトパッキング1

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

フィールド

フィールドサイズx64x86説明
dwTotalSizeDWORD4+0+0この構造体に割り当てられた総サイズをバイトで表す。
dwBearerModeDWORD4+4+4発信する呼のベアラモードを示す値。
dwMinRateDWORD4+8+8許容するデータ速度の最小値をbpsで表す。
dwMaxRateDWORD4+12+12許容するデータ速度の最大値をbpsで表す。
dwMediaModeDWORD4+16+16発信する呼のメディアモードを示す値。
dwCallParamFlagsDWORD4+20+20呼設定の属性を示すフラグの組み合わせ。
dwAddressModeDWORD4+24+24宛先アドレスの指定方式を示す値。
dwAddressIDDWORD4+28+28発信に使用するアドレスのIDを表す。
DialParamsLINEDIALPARAMS16+32+32発信に適用するダイヤルパラメータ。
dwOrigAddressSizeDWORD4+48+48発信元アドレス文字列のサイズをバイトで表す。
dwOrigAddressOffsetDWORD4+52+52発信元アドレス文字列までのオフセット。
dwDisplayableAddressSizeDWORD4+56+56表示用アドレス文字列のサイズをバイトで表す。
dwDisplayableAddressOffsetDWORD4+60+60表示用アドレス文字列までのオフセット。
dwCalledPartySizeDWORD4+64+64着信側相手情報文字列のサイズをバイトで表す。
dwCalledPartyOffsetDWORD4+68+68着信側相手情報文字列までのオフセット。
dwCommentSizeDWORD4+72+72コメント文字列のサイズをバイトで表す。
dwCommentOffsetDWORD4+76+76コメント文字列までのオフセットをバイトで表す。
dwUserUserInfoSizeDWORD4+80+80ユーザ間情報(UUI)のサイズをバイトで表す。
dwUserUserInfoOffsetDWORD4+84+84ユーザ間情報までのオフセットをバイトで表す。
dwHighLevelCompSizeDWORD4+88+88高位互換性情報のサイズをバイトで表す。
dwHighLevelCompOffsetDWORD4+92+92高位互換性情報までのオフセットをバイトで表す。
dwLowLevelCompSizeDWORD4+96+96低位互換性情報のサイズをバイトで表す。
dwLowLevelCompOffsetDWORD4+100+100低位互換性情報までのオフセットをバイトで表す。
dwDevSpecificSizeDWORD4+104+104デバイス固有情報のサイズをバイトで表す。
dwDevSpecificOffsetDWORD4+108+108デバイス固有情報までのオフセットをバイトで表す。
dwPredictiveAutoTransferStatesDWORD4+112+112予測自動転送をトリガする呼状態を示すフラグ。
dwTargetAddressSizeDWORD4+116+116転送先(ターゲット)アドレスのサイズをバイトで表す。
dwTargetAddressOffsetDWORD4+120+120転送先アドレス文字列までのオフセット。
dwSendingFlowspecSizeDWORD4+124+124送信フロー仕様のサイズをバイトで表す。
dwSendingFlowspecOffsetDWORD4+128+128送信フロー仕様までのオフセットをバイトで表す。
dwReceivingFlowspecSizeDWORD4+132+132受信フロー仕様のサイズをバイトで表す。
dwReceivingFlowspecOffsetDWORD4+136+136受信フロー仕様までのオフセットをバイトで表す。
dwDeviceClassSizeDWORD4+140+140デバイスクラス名文字列のサイズをバイトで表す。
dwDeviceClassOffsetDWORD4+144+144デバイスクラス名文字列までのオフセット。
dwDeviceConfigSizeDWORD4+148+148デバイス構成データのサイズをバイトで表す。
dwDeviceConfigOffsetDWORD4+152+152デバイス構成データまでのオフセット。
dwCallDataSizeDWORD4+156+156アプリ設定の呼データのサイズをバイトで表す。
dwCallDataOffsetDWORD4+160+160呼データまでのオフセットをバイトで表す。
dwNoAnswerTimeoutDWORD4+164+164無応答とみなすまでのタイムアウトを秒で表す。
dwCallingPartyIDSizeDWORD4+168+168発信者ID(発番号)文字列のサイズをバイトで表す。
dwCallingPartyIDOffsetDWORD4+172+172発信者ID文字列までのオフセットをバイトで表す。

各言語での定義

#include <windows.h>

// LINEDIALPARAMS  (x64 16 / x86 16 バイト)
#pragma pack(push, 1)
typedef struct LINEDIALPARAMS {
    DWORD dwDialPause;
    DWORD dwDialSpeed;
    DWORD dwDigitDuration;
    DWORD dwWaitForDialtone;
} LINEDIALPARAMS;
#pragma pack(pop)

// LINECALLPARAMS  (x64 176 / x86 176 バイト)
#pragma pack(push, 1)
typedef struct LINECALLPARAMS {
    DWORD dwTotalSize;
    DWORD dwBearerMode;
    DWORD dwMinRate;
    DWORD dwMaxRate;
    DWORD dwMediaMode;
    DWORD dwCallParamFlags;
    DWORD dwAddressMode;
    DWORD dwAddressID;
    LINEDIALPARAMS DialParams;
    DWORD dwOrigAddressSize;
    DWORD dwOrigAddressOffset;
    DWORD dwDisplayableAddressSize;
    DWORD dwDisplayableAddressOffset;
    DWORD dwCalledPartySize;
    DWORD dwCalledPartyOffset;
    DWORD dwCommentSize;
    DWORD dwCommentOffset;
    DWORD dwUserUserInfoSize;
    DWORD dwUserUserInfoOffset;
    DWORD dwHighLevelCompSize;
    DWORD dwHighLevelCompOffset;
    DWORD dwLowLevelCompSize;
    DWORD dwLowLevelCompOffset;
    DWORD dwDevSpecificSize;
    DWORD dwDevSpecificOffset;
    DWORD dwPredictiveAutoTransferStates;
    DWORD dwTargetAddressSize;
    DWORD dwTargetAddressOffset;
    DWORD dwSendingFlowspecSize;
    DWORD dwSendingFlowspecOffset;
    DWORD dwReceivingFlowspecSize;
    DWORD dwReceivingFlowspecOffset;
    DWORD dwDeviceClassSize;
    DWORD dwDeviceClassOffset;
    DWORD dwDeviceConfigSize;
    DWORD dwDeviceConfigOffset;
    DWORD dwCallDataSize;
    DWORD dwCallDataOffset;
    DWORD dwNoAnswerTimeout;
    DWORD dwCallingPartyIDSize;
    DWORD dwCallingPartyIDOffset;
} LINECALLPARAMS;
#pragma pack(pop)
using System;
using System.Runtime.InteropServices;

[StructLayout(LayoutKind.Sequential, Pack = 1, CharSet = CharSet.Unicode)]
public struct LINEDIALPARAMS
{
    public uint dwDialPause;
    public uint dwDialSpeed;
    public uint dwDigitDuration;
    public uint dwWaitForDialtone;
}

[StructLayout(LayoutKind.Sequential, Pack = 1, CharSet = CharSet.Unicode)]
public struct LINECALLPARAMS
{
    public uint dwTotalSize;
    public uint dwBearerMode;
    public uint dwMinRate;
    public uint dwMaxRate;
    public uint dwMediaMode;
    public uint dwCallParamFlags;
    public uint dwAddressMode;
    public uint dwAddressID;
    public LINEDIALPARAMS DialParams;
    public uint dwOrigAddressSize;
    public uint dwOrigAddressOffset;
    public uint dwDisplayableAddressSize;
    public uint dwDisplayableAddressOffset;
    public uint dwCalledPartySize;
    public uint dwCalledPartyOffset;
    public uint dwCommentSize;
    public uint dwCommentOffset;
    public uint dwUserUserInfoSize;
    public uint dwUserUserInfoOffset;
    public uint dwHighLevelCompSize;
    public uint dwHighLevelCompOffset;
    public uint dwLowLevelCompSize;
    public uint dwLowLevelCompOffset;
    public uint dwDevSpecificSize;
    public uint dwDevSpecificOffset;
    public uint dwPredictiveAutoTransferStates;
    public uint dwTargetAddressSize;
    public uint dwTargetAddressOffset;
    public uint dwSendingFlowspecSize;
    public uint dwSendingFlowspecOffset;
    public uint dwReceivingFlowspecSize;
    public uint dwReceivingFlowspecOffset;
    public uint dwDeviceClassSize;
    public uint dwDeviceClassOffset;
    public uint dwDeviceConfigSize;
    public uint dwDeviceConfigOffset;
    public uint dwCallDataSize;
    public uint dwCallDataOffset;
    public uint dwNoAnswerTimeout;
    public uint dwCallingPartyIDSize;
    public uint dwCallingPartyIDOffset;
}
Imports System.Runtime.InteropServices

<StructLayout(LayoutKind.Sequential, Pack:=1, CharSet:=CharSet.Unicode)>
Public Structure LINEDIALPARAMS
    Public dwDialPause As UInteger
    Public dwDialSpeed As UInteger
    Public dwDigitDuration As UInteger
    Public dwWaitForDialtone As UInteger
End Structure

<StructLayout(LayoutKind.Sequential, Pack:=1, CharSet:=CharSet.Unicode)>
Public Structure LINECALLPARAMS
    Public dwTotalSize As UInteger
    Public dwBearerMode As UInteger
    Public dwMinRate As UInteger
    Public dwMaxRate As UInteger
    Public dwMediaMode As UInteger
    Public dwCallParamFlags As UInteger
    Public dwAddressMode As UInteger
    Public dwAddressID As UInteger
    Public DialParams As LINEDIALPARAMS
    Public dwOrigAddressSize As UInteger
    Public dwOrigAddressOffset As UInteger
    Public dwDisplayableAddressSize As UInteger
    Public dwDisplayableAddressOffset As UInteger
    Public dwCalledPartySize As UInteger
    Public dwCalledPartyOffset As UInteger
    Public dwCommentSize As UInteger
    Public dwCommentOffset As UInteger
    Public dwUserUserInfoSize As UInteger
    Public dwUserUserInfoOffset As UInteger
    Public dwHighLevelCompSize As UInteger
    Public dwHighLevelCompOffset As UInteger
    Public dwLowLevelCompSize As UInteger
    Public dwLowLevelCompOffset As UInteger
    Public dwDevSpecificSize As UInteger
    Public dwDevSpecificOffset As UInteger
    Public dwPredictiveAutoTransferStates As UInteger
    Public dwTargetAddressSize As UInteger
    Public dwTargetAddressOffset As UInteger
    Public dwSendingFlowspecSize As UInteger
    Public dwSendingFlowspecOffset As UInteger
    Public dwReceivingFlowspecSize As UInteger
    Public dwReceivingFlowspecOffset As UInteger
    Public dwDeviceClassSize As UInteger
    Public dwDeviceClassOffset As UInteger
    Public dwDeviceConfigSize As UInteger
    Public dwDeviceConfigOffset As UInteger
    Public dwCallDataSize As UInteger
    Public dwCallDataOffset As UInteger
    Public dwNoAnswerTimeout As UInteger
    Public dwCallingPartyIDSize As UInteger
    Public dwCallingPartyIDOffset As UInteger
End Structure
import ctypes
from ctypes import wintypes

class LINEDIALPARAMS(ctypes.Structure):
    _pack_ = 1
    _fields_ = [
        ("dwDialPause", wintypes.DWORD),
        ("dwDialSpeed", wintypes.DWORD),
        ("dwDigitDuration", wintypes.DWORD),
        ("dwWaitForDialtone", wintypes.DWORD),
    ]

class LINECALLPARAMS(ctypes.Structure):
    _pack_ = 1
    _fields_ = [
        ("dwTotalSize", wintypes.DWORD),
        ("dwBearerMode", wintypes.DWORD),
        ("dwMinRate", wintypes.DWORD),
        ("dwMaxRate", wintypes.DWORD),
        ("dwMediaMode", wintypes.DWORD),
        ("dwCallParamFlags", wintypes.DWORD),
        ("dwAddressMode", wintypes.DWORD),
        ("dwAddressID", wintypes.DWORD),
        ("DialParams", LINEDIALPARAMS),
        ("dwOrigAddressSize", wintypes.DWORD),
        ("dwOrigAddressOffset", wintypes.DWORD),
        ("dwDisplayableAddressSize", wintypes.DWORD),
        ("dwDisplayableAddressOffset", wintypes.DWORD),
        ("dwCalledPartySize", wintypes.DWORD),
        ("dwCalledPartyOffset", wintypes.DWORD),
        ("dwCommentSize", wintypes.DWORD),
        ("dwCommentOffset", wintypes.DWORD),
        ("dwUserUserInfoSize", wintypes.DWORD),
        ("dwUserUserInfoOffset", wintypes.DWORD),
        ("dwHighLevelCompSize", wintypes.DWORD),
        ("dwHighLevelCompOffset", wintypes.DWORD),
        ("dwLowLevelCompSize", wintypes.DWORD),
        ("dwLowLevelCompOffset", wintypes.DWORD),
        ("dwDevSpecificSize", wintypes.DWORD),
        ("dwDevSpecificOffset", wintypes.DWORD),
        ("dwPredictiveAutoTransferStates", wintypes.DWORD),
        ("dwTargetAddressSize", wintypes.DWORD),
        ("dwTargetAddressOffset", wintypes.DWORD),
        ("dwSendingFlowspecSize", wintypes.DWORD),
        ("dwSendingFlowspecOffset", wintypes.DWORD),
        ("dwReceivingFlowspecSize", wintypes.DWORD),
        ("dwReceivingFlowspecOffset", wintypes.DWORD),
        ("dwDeviceClassSize", wintypes.DWORD),
        ("dwDeviceClassOffset", wintypes.DWORD),
        ("dwDeviceConfigSize", wintypes.DWORD),
        ("dwDeviceConfigOffset", wintypes.DWORD),
        ("dwCallDataSize", wintypes.DWORD),
        ("dwCallDataOffset", wintypes.DWORD),
        ("dwNoAnswerTimeout", wintypes.DWORD),
        ("dwCallingPartyIDSize", wintypes.DWORD),
        ("dwCallingPartyIDOffset", wintypes.DWORD),
    ]
#[repr(C, packed(1))]
pub struct LINEDIALPARAMS {
    pub dwDialPause: u32,
    pub dwDialSpeed: u32,
    pub dwDigitDuration: u32,
    pub dwWaitForDialtone: u32,
}

#[repr(C, packed(1))]
pub struct LINECALLPARAMS {
    pub dwTotalSize: u32,
    pub dwBearerMode: u32,
    pub dwMinRate: u32,
    pub dwMaxRate: u32,
    pub dwMediaMode: u32,
    pub dwCallParamFlags: u32,
    pub dwAddressMode: u32,
    pub dwAddressID: u32,
    pub DialParams: LINEDIALPARAMS,
    pub dwOrigAddressSize: u32,
    pub dwOrigAddressOffset: u32,
    pub dwDisplayableAddressSize: u32,
    pub dwDisplayableAddressOffset: u32,
    pub dwCalledPartySize: u32,
    pub dwCalledPartyOffset: u32,
    pub dwCommentSize: u32,
    pub dwCommentOffset: u32,
    pub dwUserUserInfoSize: u32,
    pub dwUserUserInfoOffset: u32,
    pub dwHighLevelCompSize: u32,
    pub dwHighLevelCompOffset: u32,
    pub dwLowLevelCompSize: u32,
    pub dwLowLevelCompOffset: u32,
    pub dwDevSpecificSize: u32,
    pub dwDevSpecificOffset: u32,
    pub dwPredictiveAutoTransferStates: u32,
    pub dwTargetAddressSize: u32,
    pub dwTargetAddressOffset: u32,
    pub dwSendingFlowspecSize: u32,
    pub dwSendingFlowspecOffset: u32,
    pub dwReceivingFlowspecSize: u32,
    pub dwReceivingFlowspecOffset: u32,
    pub dwDeviceClassSize: u32,
    pub dwDeviceClassOffset: u32,
    pub dwDeviceConfigSize: u32,
    pub dwDeviceConfigOffset: u32,
    pub dwCallDataSize: u32,
    pub dwCallDataOffset: u32,
    pub dwNoAnswerTimeout: u32,
    pub dwCallingPartyIDSize: u32,
    pub dwCallingPartyIDOffset: u32,
}
import "golang.org/x/sys/windows"

type LINEDIALPARAMS struct {
	dwDialPause uint32
	dwDialSpeed uint32
	dwDigitDuration uint32
	dwWaitForDialtone uint32
}

type LINECALLPARAMS struct {
	dwTotalSize uint32
	dwBearerMode uint32
	dwMinRate uint32
	dwMaxRate uint32
	dwMediaMode uint32
	dwCallParamFlags uint32
	dwAddressMode uint32
	dwAddressID uint32
	DialParams LINEDIALPARAMS
	dwOrigAddressSize uint32
	dwOrigAddressOffset uint32
	dwDisplayableAddressSize uint32
	dwDisplayableAddressOffset uint32
	dwCalledPartySize uint32
	dwCalledPartyOffset uint32
	dwCommentSize uint32
	dwCommentOffset uint32
	dwUserUserInfoSize uint32
	dwUserUserInfoOffset uint32
	dwHighLevelCompSize uint32
	dwHighLevelCompOffset uint32
	dwLowLevelCompSize uint32
	dwLowLevelCompOffset uint32
	dwDevSpecificSize uint32
	dwDevSpecificOffset uint32
	dwPredictiveAutoTransferStates uint32
	dwTargetAddressSize uint32
	dwTargetAddressOffset uint32
	dwSendingFlowspecSize uint32
	dwSendingFlowspecOffset uint32
	dwReceivingFlowspecSize uint32
	dwReceivingFlowspecOffset uint32
	dwDeviceClassSize uint32
	dwDeviceClassOffset uint32
	dwDeviceConfigSize uint32
	dwDeviceConfigOffset uint32
	dwCallDataSize uint32
	dwCallDataOffset uint32
	dwNoAnswerTimeout uint32
	dwCallingPartyIDSize uint32
	dwCallingPartyIDOffset uint32
}
type
  LINEDIALPARAMS = packed record
    dwDialPause: DWORD;
    dwDialSpeed: DWORD;
    dwDigitDuration: DWORD;
    dwWaitForDialtone: DWORD;
  end;

  LINECALLPARAMS = packed record
    dwTotalSize: DWORD;
    dwBearerMode: DWORD;
    dwMinRate: DWORD;
    dwMaxRate: DWORD;
    dwMediaMode: DWORD;
    dwCallParamFlags: DWORD;
    dwAddressMode: DWORD;
    dwAddressID: DWORD;
    DialParams: LINEDIALPARAMS;
    dwOrigAddressSize: DWORD;
    dwOrigAddressOffset: DWORD;
    dwDisplayableAddressSize: DWORD;
    dwDisplayableAddressOffset: DWORD;
    dwCalledPartySize: DWORD;
    dwCalledPartyOffset: DWORD;
    dwCommentSize: DWORD;
    dwCommentOffset: DWORD;
    dwUserUserInfoSize: DWORD;
    dwUserUserInfoOffset: DWORD;
    dwHighLevelCompSize: DWORD;
    dwHighLevelCompOffset: DWORD;
    dwLowLevelCompSize: DWORD;
    dwLowLevelCompOffset: DWORD;
    dwDevSpecificSize: DWORD;
    dwDevSpecificOffset: DWORD;
    dwPredictiveAutoTransferStates: DWORD;
    dwTargetAddressSize: DWORD;
    dwTargetAddressOffset: DWORD;
    dwSendingFlowspecSize: DWORD;
    dwSendingFlowspecOffset: DWORD;
    dwReceivingFlowspecSize: DWORD;
    dwReceivingFlowspecOffset: DWORD;
    dwDeviceClassSize: DWORD;
    dwDeviceClassOffset: DWORD;
    dwDeviceConfigSize: DWORD;
    dwDeviceConfigOffset: DWORD;
    dwCallDataSize: DWORD;
    dwCallDataOffset: DWORD;
    dwNoAnswerTimeout: DWORD;
    dwCallingPartyIDSize: DWORD;
    dwCallingPartyIDOffset: DWORD;
  end;
const LINEDIALPARAMS = extern struct {
    dwDialPause: u32,
    dwDialSpeed: u32,
    dwDigitDuration: u32,
    dwWaitForDialtone: u32,
};

const LINECALLPARAMS = extern struct {
    dwTotalSize: u32,
    dwBearerMode: u32,
    dwMinRate: u32,
    dwMaxRate: u32,
    dwMediaMode: u32,
    dwCallParamFlags: u32,
    dwAddressMode: u32,
    dwAddressID: u32,
    DialParams: LINEDIALPARAMS,
    dwOrigAddressSize: u32,
    dwOrigAddressOffset: u32,
    dwDisplayableAddressSize: u32,
    dwDisplayableAddressOffset: u32,
    dwCalledPartySize: u32,
    dwCalledPartyOffset: u32,
    dwCommentSize: u32,
    dwCommentOffset: u32,
    dwUserUserInfoSize: u32,
    dwUserUserInfoOffset: u32,
    dwHighLevelCompSize: u32,
    dwHighLevelCompOffset: u32,
    dwLowLevelCompSize: u32,
    dwLowLevelCompOffset: u32,
    dwDevSpecificSize: u32,
    dwDevSpecificOffset: u32,
    dwPredictiveAutoTransferStates: u32,
    dwTargetAddressSize: u32,
    dwTargetAddressOffset: u32,
    dwSendingFlowspecSize: u32,
    dwSendingFlowspecOffset: u32,
    dwReceivingFlowspecSize: u32,
    dwReceivingFlowspecOffset: u32,
    dwDeviceClassSize: u32,
    dwDeviceClassOffset: u32,
    dwDeviceConfigSize: u32,
    dwDeviceConfigOffset: u32,
    dwCallDataSize: u32,
    dwCallDataOffset: u32,
    dwNoAnswerTimeout: u32,
    dwCallingPartyIDSize: u32,
    dwCallingPartyIDOffset: u32,
};
type
  LINEDIALPARAMS {.packed.} = object
    dwDialPause: uint32
    dwDialSpeed: uint32
    dwDigitDuration: uint32
    dwWaitForDialtone: uint32

  LINECALLPARAMS {.packed.} = object
    dwTotalSize: uint32
    dwBearerMode: uint32
    dwMinRate: uint32
    dwMaxRate: uint32
    dwMediaMode: uint32
    dwCallParamFlags: uint32
    dwAddressMode: uint32
    dwAddressID: uint32
    DialParams: LINEDIALPARAMS
    dwOrigAddressSize: uint32
    dwOrigAddressOffset: uint32
    dwDisplayableAddressSize: uint32
    dwDisplayableAddressOffset: uint32
    dwCalledPartySize: uint32
    dwCalledPartyOffset: uint32
    dwCommentSize: uint32
    dwCommentOffset: uint32
    dwUserUserInfoSize: uint32
    dwUserUserInfoOffset: uint32
    dwHighLevelCompSize: uint32
    dwHighLevelCompOffset: uint32
    dwLowLevelCompSize: uint32
    dwLowLevelCompOffset: uint32
    dwDevSpecificSize: uint32
    dwDevSpecificOffset: uint32
    dwPredictiveAutoTransferStates: uint32
    dwTargetAddressSize: uint32
    dwTargetAddressOffset: uint32
    dwSendingFlowspecSize: uint32
    dwSendingFlowspecOffset: uint32
    dwReceivingFlowspecSize: uint32
    dwReceivingFlowspecOffset: uint32
    dwDeviceClassSize: uint32
    dwDeviceClassOffset: uint32
    dwDeviceConfigSize: uint32
    dwDeviceConfigOffset: uint32
    dwCallDataSize: uint32
    dwCallDataOffset: uint32
    dwNoAnswerTimeout: uint32
    dwCallingPartyIDSize: uint32
    dwCallingPartyIDOffset: uint32
align(1)
struct LINEDIALPARAMS
{
    uint dwDialPause;
    uint dwDialSpeed;
    uint dwDigitDuration;
    uint dwWaitForDialtone;
}

align(1)
struct LINECALLPARAMS
{
    uint dwTotalSize;
    uint dwBearerMode;
    uint dwMinRate;
    uint dwMaxRate;
    uint dwMediaMode;
    uint dwCallParamFlags;
    uint dwAddressMode;
    uint dwAddressID;
    LINEDIALPARAMS DialParams;
    uint dwOrigAddressSize;
    uint dwOrigAddressOffset;
    uint dwDisplayableAddressSize;
    uint dwDisplayableAddressOffset;
    uint dwCalledPartySize;
    uint dwCalledPartyOffset;
    uint dwCommentSize;
    uint dwCommentOffset;
    uint dwUserUserInfoSize;
    uint dwUserUserInfoOffset;
    uint dwHighLevelCompSize;
    uint dwHighLevelCompOffset;
    uint dwLowLevelCompSize;
    uint dwLowLevelCompOffset;
    uint dwDevSpecificSize;
    uint dwDevSpecificOffset;
    uint dwPredictiveAutoTransferStates;
    uint dwTargetAddressSize;
    uint dwTargetAddressOffset;
    uint dwSendingFlowspecSize;
    uint dwSendingFlowspecOffset;
    uint dwReceivingFlowspecSize;
    uint dwReceivingFlowspecOffset;
    uint dwDeviceClassSize;
    uint dwDeviceClassOffset;
    uint dwDeviceConfigSize;
    uint dwDeviceConfigOffset;
    uint dwCallDataSize;
    uint dwCallDataOffset;
    uint dwNoAnswerTimeout;
    uint dwCallingPartyIDSize;
    uint dwCallingPartyIDOffset;
}

HSP用 定義

HSP3.7/3.8 は構造体機能が無いため4byte整数配列(dim)+peek/poke で操作(32/64bitでサイズ・位置が異なる場合はタブで分割)。IronHSP は NSTRUCT(#defstruct/stdim/->)で32/64bit共通。

; HSP3.7/3.8 は構造体機能が無いため、4byte整数の配列変数で操作します。(x64 レイアウト)
; LINECALLPARAMS サイズ: 176 バイト(x64)
dim st, 44    ; 4byte整数×44(構造体サイズ 176 / 4 切り上げ)
; dwTotalSize : DWORD (+0, 4byte)  st.0 = 値  /  値 = st.0   (lpoke/lpeek も可)
; dwBearerMode : DWORD (+4, 4byte)  st.1 = 値  /  値 = st.1   (lpoke/lpeek も可)
; dwMinRate : DWORD (+8, 4byte)  st.2 = 値  /  値 = st.2   (lpoke/lpeek も可)
; dwMaxRate : DWORD (+12, 4byte)  st.3 = 値  /  値 = st.3   (lpoke/lpeek も可)
; dwMediaMode : DWORD (+16, 4byte)  st.4 = 値  /  値 = st.4   (lpoke/lpeek も可)
; dwCallParamFlags : DWORD (+20, 4byte)  st.5 = 値  /  値 = st.5   (lpoke/lpeek も可)
; dwAddressMode : DWORD (+24, 4byte)  st.6 = 値  /  値 = st.6   (lpoke/lpeek も可)
; dwAddressID : DWORD (+28, 4byte)  st.7 = 値  /  値 = st.7   (lpoke/lpeek も可)
; DialParams : LINEDIALPARAMS (+32, 16byte)  varptr(st)+32 を基点に操作(16byte:入れ子/配列)
; dwOrigAddressSize : DWORD (+48, 4byte)  st.12 = 値  /  値 = st.12   (lpoke/lpeek も可)
; dwOrigAddressOffset : DWORD (+52, 4byte)  st.13 = 値  /  値 = st.13   (lpoke/lpeek も可)
; dwDisplayableAddressSize : DWORD (+56, 4byte)  st.14 = 値  /  値 = st.14   (lpoke/lpeek も可)
; dwDisplayableAddressOffset : DWORD (+60, 4byte)  st.15 = 値  /  値 = st.15   (lpoke/lpeek も可)
; dwCalledPartySize : DWORD (+64, 4byte)  st.16 = 値  /  値 = st.16   (lpoke/lpeek も可)
; dwCalledPartyOffset : DWORD (+68, 4byte)  st.17 = 値  /  値 = st.17   (lpoke/lpeek も可)
; dwCommentSize : DWORD (+72, 4byte)  st.18 = 値  /  値 = st.18   (lpoke/lpeek も可)
; dwCommentOffset : DWORD (+76, 4byte)  st.19 = 値  /  値 = st.19   (lpoke/lpeek も可)
; dwUserUserInfoSize : DWORD (+80, 4byte)  st.20 = 値  /  値 = st.20   (lpoke/lpeek も可)
; dwUserUserInfoOffset : DWORD (+84, 4byte)  st.21 = 値  /  値 = st.21   (lpoke/lpeek も可)
; dwHighLevelCompSize : DWORD (+88, 4byte)  st.22 = 値  /  値 = st.22   (lpoke/lpeek も可)
; dwHighLevelCompOffset : DWORD (+92, 4byte)  st.23 = 値  /  値 = st.23   (lpoke/lpeek も可)
; dwLowLevelCompSize : DWORD (+96, 4byte)  st.24 = 値  /  値 = st.24   (lpoke/lpeek も可)
; dwLowLevelCompOffset : DWORD (+100, 4byte)  st.25 = 値  /  値 = st.25   (lpoke/lpeek も可)
; dwDevSpecificSize : DWORD (+104, 4byte)  st.26 = 値  /  値 = st.26   (lpoke/lpeek も可)
; dwDevSpecificOffset : DWORD (+108, 4byte)  st.27 = 値  /  値 = st.27   (lpoke/lpeek も可)
; dwPredictiveAutoTransferStates : DWORD (+112, 4byte)  st.28 = 値  /  値 = st.28   (lpoke/lpeek も可)
; dwTargetAddressSize : DWORD (+116, 4byte)  st.29 = 値  /  値 = st.29   (lpoke/lpeek も可)
; dwTargetAddressOffset : DWORD (+120, 4byte)  st.30 = 値  /  値 = st.30   (lpoke/lpeek も可)
; dwSendingFlowspecSize : DWORD (+124, 4byte)  st.31 = 値  /  値 = st.31   (lpoke/lpeek も可)
; dwSendingFlowspecOffset : DWORD (+128, 4byte)  st.32 = 値  /  値 = st.32   (lpoke/lpeek も可)
; dwReceivingFlowspecSize : DWORD (+132, 4byte)  st.33 = 値  /  値 = st.33   (lpoke/lpeek も可)
; dwReceivingFlowspecOffset : DWORD (+136, 4byte)  st.34 = 値  /  値 = st.34   (lpoke/lpeek も可)
; dwDeviceClassSize : DWORD (+140, 4byte)  st.35 = 値  /  値 = st.35   (lpoke/lpeek も可)
; dwDeviceClassOffset : DWORD (+144, 4byte)  st.36 = 値  /  値 = st.36   (lpoke/lpeek も可)
; dwDeviceConfigSize : DWORD (+148, 4byte)  st.37 = 値  /  値 = st.37   (lpoke/lpeek も可)
; dwDeviceConfigOffset : DWORD (+152, 4byte)  st.38 = 値  /  値 = st.38   (lpoke/lpeek も可)
; dwCallDataSize : DWORD (+156, 4byte)  st.39 = 値  /  値 = st.39   (lpoke/lpeek も可)
; dwCallDataOffset : DWORD (+160, 4byte)  st.40 = 値  /  値 = st.40   (lpoke/lpeek も可)
; dwNoAnswerTimeout : DWORD (+164, 4byte)  st.41 = 値  /  値 = st.41   (lpoke/lpeek も可)
; dwCallingPartyIDSize : DWORD (+168, 4byte)  st.42 = 値  /  値 = st.42   (lpoke/lpeek も可)
; dwCallingPartyIDOffset : DWORD (+172, 4byte)  st.43 = 値  /  値 = st.43   (lpoke/lpeek も可)
; ※4byte境界の整数は添字 st.N(N=オフセット/4)で読み書き可。それ以外は peek/poke 系を使用。
; IronHSP は NSTRUCT(構造体)をサポート。32bit/64bit どちらでも同じコードで動作します。
; ※GUID・入れ子構造体はデフォルト型でないため、依存する #defstruct を先に定義(下記に同梱)。
#defstruct global LINEDIALPARAMS, pack=1
    #field int dwDialPause
    #field int dwDialSpeed
    #field int dwDigitDuration
    #field int dwWaitForDialtone
#endstruct

#defstruct global LINECALLPARAMS, pack=1
    #field int dwTotalSize
    #field int dwBearerMode
    #field int dwMinRate
    #field int dwMaxRate
    #field int dwMediaMode
    #field int dwCallParamFlags
    #field int dwAddressMode
    #field int dwAddressID
    #field LINEDIALPARAMS DialParams
    #field int dwOrigAddressSize
    #field int dwOrigAddressOffset
    #field int dwDisplayableAddressSize
    #field int dwDisplayableAddressOffset
    #field int dwCalledPartySize
    #field int dwCalledPartyOffset
    #field int dwCommentSize
    #field int dwCommentOffset
    #field int dwUserUserInfoSize
    #field int dwUserUserInfoOffset
    #field int dwHighLevelCompSize
    #field int dwHighLevelCompOffset
    #field int dwLowLevelCompSize
    #field int dwLowLevelCompOffset
    #field int dwDevSpecificSize
    #field int dwDevSpecificOffset
    #field int dwPredictiveAutoTransferStates
    #field int dwTargetAddressSize
    #field int dwTargetAddressOffset
    #field int dwSendingFlowspecSize
    #field int dwSendingFlowspecOffset
    #field int dwReceivingFlowspecSize
    #field int dwReceivingFlowspecOffset
    #field int dwDeviceClassSize
    #field int dwDeviceClassOffset
    #field int dwDeviceConfigSize
    #field int dwDeviceConfigOffset
    #field int dwCallDataSize
    #field int dwCallDataOffset
    #field int dwNoAnswerTimeout
    #field int dwCallingPartyIDSize
    #field int dwCallingPartyIDOffset
#endstruct

stdim st, LINECALLPARAMS        ; NSTRUCT 変数を確保
st->dwTotalSize = 100
mes "dwTotalSize=" + st->dwTotalSize