ホーム › Devices.Tapi › LINECALLPARAMS
LINECALLPARAMS
構造体サイズ=各フィールドのバイト数(x64/x86 で異なる場合は x64/x86 と併記)。x64/x86 列=フィールドのバイトオフセット(HSPで dupptr / lpoke / wpoke 等に使用)。
フィールド
| フィールド | 型 | サイズ | x64 | x86 | 説明 |
|---|---|---|---|---|---|
| dwTotalSize | DWORD | 4 | +0 | +0 | この構造体に割り当てられた総サイズをバイトで表す。 |
| dwBearerMode | DWORD | 4 | +4 | +4 | 発信する呼のベアラモードを示す値。 |
| dwMinRate | DWORD | 4 | +8 | +8 | 許容するデータ速度の最小値をbpsで表す。 |
| dwMaxRate | DWORD | 4 | +12 | +12 | 許容するデータ速度の最大値をbpsで表す。 |
| dwMediaMode | DWORD | 4 | +16 | +16 | 発信する呼のメディアモードを示す値。 |
| dwCallParamFlags | DWORD | 4 | +20 | +20 | 呼設定の属性を示すフラグの組み合わせ。 |
| dwAddressMode | DWORD | 4 | +24 | +24 | 宛先アドレスの指定方式を示す値。 |
| dwAddressID | DWORD | 4 | +28 | +28 | 発信に使用するアドレスのIDを表す。 |
| DialParams | LINEDIALPARAMS | 16 | +32 | +32 | 発信に適用するダイヤルパラメータ。 |
| dwOrigAddressSize | DWORD | 4 | +48 | +48 | 発信元アドレス文字列のサイズをバイトで表す。 |
| dwOrigAddressOffset | DWORD | 4 | +52 | +52 | 発信元アドレス文字列までのオフセット。 |
| dwDisplayableAddressSize | DWORD | 4 | +56 | +56 | 表示用アドレス文字列のサイズをバイトで表す。 |
| dwDisplayableAddressOffset | DWORD | 4 | +60 | +60 | 表示用アドレス文字列までのオフセット。 |
| dwCalledPartySize | DWORD | 4 | +64 | +64 | 着信側相手情報文字列のサイズをバイトで表す。 |
| dwCalledPartyOffset | DWORD | 4 | +68 | +68 | 着信側相手情報文字列までのオフセット。 |
| dwCommentSize | DWORD | 4 | +72 | +72 | コメント文字列のサイズをバイトで表す。 |
| dwCommentOffset | DWORD | 4 | +76 | +76 | コメント文字列までのオフセットをバイトで表す。 |
| dwUserUserInfoSize | DWORD | 4 | +80 | +80 | ユーザ間情報(UUI)のサイズをバイトで表す。 |
| dwUserUserInfoOffset | DWORD | 4 | +84 | +84 | ユーザ間情報までのオフセットをバイトで表す。 |
| dwHighLevelCompSize | DWORD | 4 | +88 | +88 | 高位互換性情報のサイズをバイトで表す。 |
| dwHighLevelCompOffset | DWORD | 4 | +92 | +92 | 高位互換性情報までのオフセットをバイトで表す。 |
| dwLowLevelCompSize | DWORD | 4 | +96 | +96 | 低位互換性情報のサイズをバイトで表す。 |
| dwLowLevelCompOffset | DWORD | 4 | +100 | +100 | 低位互換性情報までのオフセットをバイトで表す。 |
| dwDevSpecificSize | DWORD | 4 | +104 | +104 | デバイス固有情報のサイズをバイトで表す。 |
| dwDevSpecificOffset | DWORD | 4 | +108 | +108 | デバイス固有情報までのオフセットをバイトで表す。 |
| dwPredictiveAutoTransferStates | DWORD | 4 | +112 | +112 | 予測自動転送をトリガする呼状態を示すフラグ。 |
| dwTargetAddressSize | DWORD | 4 | +116 | +116 | 転送先(ターゲット)アドレスのサイズをバイトで表す。 |
| dwTargetAddressOffset | DWORD | 4 | +120 | +120 | 転送先アドレス文字列までのオフセット。 |
| dwSendingFlowspecSize | DWORD | 4 | +124 | +124 | 送信フロー仕様のサイズをバイトで表す。 |
| dwSendingFlowspecOffset | DWORD | 4 | +128 | +128 | 送信フロー仕様までのオフセットをバイトで表す。 |
| dwReceivingFlowspecSize | DWORD | 4 | +132 | +132 | 受信フロー仕様のサイズをバイトで表す。 |
| dwReceivingFlowspecOffset | DWORD | 4 | +136 | +136 | 受信フロー仕様までのオフセットをバイトで表す。 |
| dwDeviceClassSize | DWORD | 4 | +140 | +140 | デバイスクラス名文字列のサイズをバイトで表す。 |
| dwDeviceClassOffset | DWORD | 4 | +144 | +144 | デバイスクラス名文字列までのオフセット。 |
| dwDeviceConfigSize | DWORD | 4 | +148 | +148 | デバイス構成データのサイズをバイトで表す。 |
| dwDeviceConfigOffset | DWORD | 4 | +152 | +152 | デバイス構成データまでのオフセット。 |
| dwCallDataSize | DWORD | 4 | +156 | +156 | アプリ設定の呼データのサイズをバイトで表す。 |
| dwCallDataOffset | DWORD | 4 | +160 | +160 | 呼データまでのオフセットをバイトで表す。 |
| dwNoAnswerTimeout | DWORD | 4 | +164 | +164 | 無応答とみなすまでのタイムアウトを秒で表す。 |
| dwCallingPartyIDSize | DWORD | 4 | +168 | +168 | 発信者ID(発番号)文字列のサイズをバイトで表す。 |
| dwCallingPartyIDOffset | DWORD | 4 | +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 Structureimport 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: uint32align(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