ホーム › Devices.Tapi › LINECALLINFO
LINECALLINFO
構造体サイズ=各フィールドのバイト数(x64/x86 で異なる場合は x64/x86 と併記)。x64/x86 列=フィールドのバイトオフセット(HSPで dupptr / lpoke / wpoke 等に使用)。
フィールド
| フィールド | 型 | サイズ | x64 | x86 | 説明 |
|---|---|---|---|---|---|
| dwTotalSize | DWORD | 4 | +0 | +0 | この構造体に割り当てられた総サイズをバイトで表す。 |
| dwNeededSize | DWORD | 4 | +4 | +4 | 全情報の格納に必要なサイズをバイトで表す。 |
| dwUsedSize | DWORD | 4 | +8 | +8 | 実際に使用されたサイズをバイトで表す。 |
| hLine | DWORD | 4 | +12 | +12 | この呼が属する回線のハンドル値を表す。 |
| dwLineDeviceID | DWORD | 4 | +16 | +16 | この呼が属する回線デバイスのIDを表す。 |
| dwAddressID | DWORD | 4 | +20 | +20 | この呼が属するアドレスのIDを表す。 |
| dwBearerMode | DWORD | 4 | +24 | +24 | 呼のベアラモード(音声/データ等)を示す値。 |
| dwRate | DWORD | 4 | +28 | +28 | 呼のデータ伝送速度をbpsで表す。 |
| dwMediaMode | DWORD | 4 | +32 | +32 | 呼のメディアモード(音声/FAX等)を示す値。 |
| dwAppSpecific | DWORD | 4 | +36 | +36 | アプリが自由に使用できる固有データ値。 |
| dwCallID | DWORD | 4 | +40 | +40 | この呼を識別するスイッチ提供の呼IDを表す。 |
| dwRelatedCallID | DWORD | 4 | +44 | +44 | 関連呼(会議/転送等)の呼IDを表す。 |
| dwCallParamFlags | DWORD | 4 | +48 | +48 | 呼パラメータの属性を示すフラグの組み合わせ。 |
| dwCallStates | DWORD | 4 | +52 | +52 | この呼で発生し得る呼状態を示すフラグ。 |
| dwMonitorDigitModes | DWORD | 4 | +56 | +56 | 監視対象のディジットモードを示すフラグ。 |
| dwMonitorMediaModes | DWORD | 4 | +60 | +60 | 監視対象のメディアモードを示すフラグ。 |
| DialParams | LINEDIALPARAMS | 16 | +64 | +64 | この呼に適用されるダイヤルパラメータ。 |
| dwOrigin | DWORD | 4 | +80 | +80 | 呼の発生元(内部/外部/不明)を示す値。 |
| dwReason | DWORD | 4 | +84 | +84 | 呼が発生または変化した理由を示す値。 |
| dwCompletionID | DWORD | 4 | +88 | +88 | 呼完了要求に対応する完了IDを表す。 |
| dwNumOwners | DWORD | 4 | +92 | +92 | この呼を所有しているアプリケーションの数を表す。 |
| dwNumMonitors | DWORD | 4 | +96 | +96 | この呼を監視しているアプリケーションの数を表す。 |
| dwCountryCode | DWORD | 4 | +100 | +100 | 宛先の国番号を表す。 |
| dwTrunk | DWORD | 4 | +104 | +104 | 呼に使用されているトランク番号を表す。 |
| dwCallerIDFlags | DWORD | 4 | +108 | +108 | 発信者ID情報の有効性を示すフラグ。 |
| dwCallerIDSize | DWORD | 4 | +112 | +112 | 発信者ID(番号)文字列のサイズをバイトで表す。 |
| dwCallerIDOffset | DWORD | 4 | +116 | +116 | 発信者ID文字列までのオフセットをバイトで表す。 |
| dwCallerIDNameSize | DWORD | 4 | +120 | +120 | 発信者名文字列のサイズをバイトで表す。 |
| dwCallerIDNameOffset | DWORD | 4 | +124 | +124 | 発信者名文字列までのオフセットをバイトで表す。 |
| dwCalledIDFlags | DWORD | 4 | +128 | +128 | 着信先ID情報の有効性を示すフラグ。 |
| dwCalledIDSize | DWORD | 4 | +132 | +132 | 着信先ID(番号)文字列のサイズをバイトで表す。 |
| dwCalledIDOffset | DWORD | 4 | +136 | +136 | 着信先ID文字列までのオフセットをバイトで表す。 |
| dwCalledIDNameSize | DWORD | 4 | +140 | +140 | 着信先名文字列のサイズをバイトで表す。 |
| dwCalledIDNameOffset | DWORD | 4 | +144 | +144 | 着信先名文字列までのオフセットをバイトで表す。 |
| dwConnectedIDFlags | DWORD | 4 | +148 | +148 | 接続先ID情報の有効性を示すフラグ。 |
| dwConnectedIDSize | DWORD | 4 | +152 | +152 | 接続先ID(番号)文字列のサイズをバイトで表す。 |
| dwConnectedIDOffset | DWORD | 4 | +156 | +156 | 接続先ID文字列までのオフセットをバイトで表す。 |
| dwConnectedIDNameSize | DWORD | 4 | +160 | +160 | 接続先名文字列のサイズをバイトで表す。 |
| dwConnectedIDNameOffset | DWORD | 4 | +164 | +164 | 接続先名文字列までのオフセットをバイトで表す。 |
| dwRedirectionIDFlags | DWORD | 4 | +168 | +168 | 転送先ID情報の有効性を示すフラグ。 |
| dwRedirectionIDSize | DWORD | 4 | +172 | +172 | 転送先ID(番号)文字列のサイズをバイトで表す。 |
| dwRedirectionIDOffset | DWORD | 4 | +176 | +176 | 転送先ID文字列までのオフセットをバイトで表す。 |
| dwRedirectionIDNameSize | DWORD | 4 | +180 | +180 | 転送先名文字列のサイズをバイトで表す。 |
| dwRedirectionIDNameOffset | DWORD | 4 | +184 | +184 | 転送先名文字列までのオフセットをバイトで表す。 |
| dwRedirectingIDFlags | DWORD | 4 | +188 | +188 | 転送元ID情報の有効性を示すフラグ。 |
| dwRedirectingIDSize | DWORD | 4 | +192 | +192 | 転送元ID(番号)文字列のサイズをバイトで表す。 |
| dwRedirectingIDOffset | DWORD | 4 | +196 | +196 | 転送元ID文字列までのオフセットをバイトで表す。 |
| dwRedirectingIDNameSize | DWORD | 4 | +200 | +200 | 転送元名文字列のサイズをバイトで表す。 |
| dwRedirectingIDNameOffset | DWORD | 4 | +204 | +204 | 転送元名文字列までのオフセットをバイトで表す。 |
| dwAppNameSize | DWORD | 4 | +208 | +208 | 呼を発したアプリ名文字列のサイズをバイトで表す。 |
| dwAppNameOffset | DWORD | 4 | +212 | +212 | アプリ名文字列までのオフセットをバイトで表す。 |
| dwDisplayableAddressSize | DWORD | 4 | +216 | +216 | 表示用アドレス文字列のサイズをバイトで表す。 |
| dwDisplayableAddressOffset | DWORD | 4 | +220 | +220 | 表示用アドレス文字列までのオフセット。 |
| dwCalledPartySize | DWORD | 4 | +224 | +224 | 着信側相手情報文字列のサイズをバイトで表す。 |
| dwCalledPartyOffset | DWORD | 4 | +228 | +228 | 着信側相手情報文字列までのオフセット。 |
| dwCommentSize | DWORD | 4 | +232 | +232 | 呼に付随するコメント文字列のサイズをバイトで表す。 |
| dwCommentOffset | DWORD | 4 | +236 | +236 | コメント文字列までのオフセットをバイトで表す。 |
| dwDisplaySize | DWORD | 4 | +240 | +240 | 表示情報(電話機表示)のサイズをバイトで表す。 |
| dwDisplayOffset | DWORD | 4 | +244 | +244 | 表示情報までのオフセットをバイトで表す。 |
| dwUserUserInfoSize | DWORD | 4 | +248 | +248 | ユーザ間情報(UUI)のサイズをバイトで表す。 |
| dwUserUserInfoOffset | DWORD | 4 | +252 | +252 | ユーザ間情報までのオフセットをバイトで表す。 |
| dwHighLevelCompSize | DWORD | 4 | +256 | +256 | 高位互換性情報のサイズをバイトで表す。 |
| dwHighLevelCompOffset | DWORD | 4 | +260 | +260 | 高位互換性情報までのオフセットをバイトで表す。 |
| dwLowLevelCompSize | DWORD | 4 | +264 | +264 | 低位互換性情報のサイズをバイトで表す。 |
| dwLowLevelCompOffset | DWORD | 4 | +268 | +268 | 低位互換性情報までのオフセットをバイトで表す。 |
| dwChargingInfoSize | DWORD | 4 | +272 | +272 | 課金情報のサイズをバイトで表す。 |
| dwChargingInfoOffset | DWORD | 4 | +276 | +276 | 課金情報までのオフセットをバイトで表す。 |
| dwTerminalModesSize | DWORD | 4 | +280 | +280 | 端末モード情報のサイズをバイトで表す。 |
| dwTerminalModesOffset | DWORD | 4 | +284 | +284 | 端末モード情報までのオフセットをバイトで表す。 |
| dwDevSpecificSize | DWORD | 4 | +288 | +288 | デバイス固有情報のサイズをバイトで表す。 |
| dwDevSpecificOffset | DWORD | 4 | +292 | +292 | デバイス固有情報までのオフセットをバイトで表す。 |
| dwCallTreatment | DWORD | 4 | +296 | +296 | 呼に適用される呼処理(トリートメント)の識別子。 |
| dwCallDataSize | DWORD | 4 | +300 | +300 | アプリ設定の呼データのサイズをバイトで表す。 |
| dwCallDataOffset | DWORD | 4 | +304 | +304 | 呼データまでのオフセットをバイトで表す。 |
| dwSendingFlowspecSize | DWORD | 4 | +308 | +308 | 送信フロー仕様のサイズをバイトで表す。 |
| dwSendingFlowspecOffset | DWORD | 4 | +312 | +312 | 送信フロー仕様までのオフセットをバイトで表す。 |
| dwReceivingFlowspecSize | DWORD | 4 | +316 | +316 | 受信フロー仕様のサイズをバイトで表す。 |
| dwReceivingFlowspecOffset | DWORD | 4 | +320 | +320 | 受信フロー仕様までのオフセットをバイトで表す。 |
各言語での定義
#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)
// LINECALLINFO (x64 324 / x86 324 バイト)
#pragma pack(push, 1)
typedef struct LINECALLINFO {
DWORD dwTotalSize;
DWORD dwNeededSize;
DWORD dwUsedSize;
DWORD hLine;
DWORD dwLineDeviceID;
DWORD dwAddressID;
DWORD dwBearerMode;
DWORD dwRate;
DWORD dwMediaMode;
DWORD dwAppSpecific;
DWORD dwCallID;
DWORD dwRelatedCallID;
DWORD dwCallParamFlags;
DWORD dwCallStates;
DWORD dwMonitorDigitModes;
DWORD dwMonitorMediaModes;
LINEDIALPARAMS DialParams;
DWORD dwOrigin;
DWORD dwReason;
DWORD dwCompletionID;
DWORD dwNumOwners;
DWORD dwNumMonitors;
DWORD dwCountryCode;
DWORD dwTrunk;
DWORD dwCallerIDFlags;
DWORD dwCallerIDSize;
DWORD dwCallerIDOffset;
DWORD dwCallerIDNameSize;
DWORD dwCallerIDNameOffset;
DWORD dwCalledIDFlags;
DWORD dwCalledIDSize;
DWORD dwCalledIDOffset;
DWORD dwCalledIDNameSize;
DWORD dwCalledIDNameOffset;
DWORD dwConnectedIDFlags;
DWORD dwConnectedIDSize;
DWORD dwConnectedIDOffset;
DWORD dwConnectedIDNameSize;
DWORD dwConnectedIDNameOffset;
DWORD dwRedirectionIDFlags;
DWORD dwRedirectionIDSize;
DWORD dwRedirectionIDOffset;
DWORD dwRedirectionIDNameSize;
DWORD dwRedirectionIDNameOffset;
DWORD dwRedirectingIDFlags;
DWORD dwRedirectingIDSize;
DWORD dwRedirectingIDOffset;
DWORD dwRedirectingIDNameSize;
DWORD dwRedirectingIDNameOffset;
DWORD dwAppNameSize;
DWORD dwAppNameOffset;
DWORD dwDisplayableAddressSize;
DWORD dwDisplayableAddressOffset;
DWORD dwCalledPartySize;
DWORD dwCalledPartyOffset;
DWORD dwCommentSize;
DWORD dwCommentOffset;
DWORD dwDisplaySize;
DWORD dwDisplayOffset;
DWORD dwUserUserInfoSize;
DWORD dwUserUserInfoOffset;
DWORD dwHighLevelCompSize;
DWORD dwHighLevelCompOffset;
DWORD dwLowLevelCompSize;
DWORD dwLowLevelCompOffset;
DWORD dwChargingInfoSize;
DWORD dwChargingInfoOffset;
DWORD dwTerminalModesSize;
DWORD dwTerminalModesOffset;
DWORD dwDevSpecificSize;
DWORD dwDevSpecificOffset;
DWORD dwCallTreatment;
DWORD dwCallDataSize;
DWORD dwCallDataOffset;
DWORD dwSendingFlowspecSize;
DWORD dwSendingFlowspecOffset;
DWORD dwReceivingFlowspecSize;
DWORD dwReceivingFlowspecOffset;
} LINECALLINFO;
#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 LINECALLINFO
{
public uint dwTotalSize;
public uint dwNeededSize;
public uint dwUsedSize;
public uint hLine;
public uint dwLineDeviceID;
public uint dwAddressID;
public uint dwBearerMode;
public uint dwRate;
public uint dwMediaMode;
public uint dwAppSpecific;
public uint dwCallID;
public uint dwRelatedCallID;
public uint dwCallParamFlags;
public uint dwCallStates;
public uint dwMonitorDigitModes;
public uint dwMonitorMediaModes;
public LINEDIALPARAMS DialParams;
public uint dwOrigin;
public uint dwReason;
public uint dwCompletionID;
public uint dwNumOwners;
public uint dwNumMonitors;
public uint dwCountryCode;
public uint dwTrunk;
public uint dwCallerIDFlags;
public uint dwCallerIDSize;
public uint dwCallerIDOffset;
public uint dwCallerIDNameSize;
public uint dwCallerIDNameOffset;
public uint dwCalledIDFlags;
public uint dwCalledIDSize;
public uint dwCalledIDOffset;
public uint dwCalledIDNameSize;
public uint dwCalledIDNameOffset;
public uint dwConnectedIDFlags;
public uint dwConnectedIDSize;
public uint dwConnectedIDOffset;
public uint dwConnectedIDNameSize;
public uint dwConnectedIDNameOffset;
public uint dwRedirectionIDFlags;
public uint dwRedirectionIDSize;
public uint dwRedirectionIDOffset;
public uint dwRedirectionIDNameSize;
public uint dwRedirectionIDNameOffset;
public uint dwRedirectingIDFlags;
public uint dwRedirectingIDSize;
public uint dwRedirectingIDOffset;
public uint dwRedirectingIDNameSize;
public uint dwRedirectingIDNameOffset;
public uint dwAppNameSize;
public uint dwAppNameOffset;
public uint dwDisplayableAddressSize;
public uint dwDisplayableAddressOffset;
public uint dwCalledPartySize;
public uint dwCalledPartyOffset;
public uint dwCommentSize;
public uint dwCommentOffset;
public uint dwDisplaySize;
public uint dwDisplayOffset;
public uint dwUserUserInfoSize;
public uint dwUserUserInfoOffset;
public uint dwHighLevelCompSize;
public uint dwHighLevelCompOffset;
public uint dwLowLevelCompSize;
public uint dwLowLevelCompOffset;
public uint dwChargingInfoSize;
public uint dwChargingInfoOffset;
public uint dwTerminalModesSize;
public uint dwTerminalModesOffset;
public uint dwDevSpecificSize;
public uint dwDevSpecificOffset;
public uint dwCallTreatment;
public uint dwCallDataSize;
public uint dwCallDataOffset;
public uint dwSendingFlowspecSize;
public uint dwSendingFlowspecOffset;
public uint dwReceivingFlowspecSize;
public uint dwReceivingFlowspecOffset;
}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 LINECALLINFO
Public dwTotalSize As UInteger
Public dwNeededSize As UInteger
Public dwUsedSize As UInteger
Public hLine As UInteger
Public dwLineDeviceID As UInteger
Public dwAddressID As UInteger
Public dwBearerMode As UInteger
Public dwRate As UInteger
Public dwMediaMode As UInteger
Public dwAppSpecific As UInteger
Public dwCallID As UInteger
Public dwRelatedCallID As UInteger
Public dwCallParamFlags As UInteger
Public dwCallStates As UInteger
Public dwMonitorDigitModes As UInteger
Public dwMonitorMediaModes As UInteger
Public DialParams As LINEDIALPARAMS
Public dwOrigin As UInteger
Public dwReason As UInteger
Public dwCompletionID As UInteger
Public dwNumOwners As UInteger
Public dwNumMonitors As UInteger
Public dwCountryCode As UInteger
Public dwTrunk As UInteger
Public dwCallerIDFlags As UInteger
Public dwCallerIDSize As UInteger
Public dwCallerIDOffset As UInteger
Public dwCallerIDNameSize As UInteger
Public dwCallerIDNameOffset As UInteger
Public dwCalledIDFlags As UInteger
Public dwCalledIDSize As UInteger
Public dwCalledIDOffset As UInteger
Public dwCalledIDNameSize As UInteger
Public dwCalledIDNameOffset As UInteger
Public dwConnectedIDFlags As UInteger
Public dwConnectedIDSize As UInteger
Public dwConnectedIDOffset As UInteger
Public dwConnectedIDNameSize As UInteger
Public dwConnectedIDNameOffset As UInteger
Public dwRedirectionIDFlags As UInteger
Public dwRedirectionIDSize As UInteger
Public dwRedirectionIDOffset As UInteger
Public dwRedirectionIDNameSize As UInteger
Public dwRedirectionIDNameOffset As UInteger
Public dwRedirectingIDFlags As UInteger
Public dwRedirectingIDSize As UInteger
Public dwRedirectingIDOffset As UInteger
Public dwRedirectingIDNameSize As UInteger
Public dwRedirectingIDNameOffset As UInteger
Public dwAppNameSize As UInteger
Public dwAppNameOffset 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 dwDisplaySize As UInteger
Public dwDisplayOffset 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 dwChargingInfoSize As UInteger
Public dwChargingInfoOffset As UInteger
Public dwTerminalModesSize As UInteger
Public dwTerminalModesOffset As UInteger
Public dwDevSpecificSize As UInteger
Public dwDevSpecificOffset As UInteger
Public dwCallTreatment As UInteger
Public dwCallDataSize As UInteger
Public dwCallDataOffset As UInteger
Public dwSendingFlowspecSize As UInteger
Public dwSendingFlowspecOffset As UInteger
Public dwReceivingFlowspecSize As UInteger
Public dwReceivingFlowspecOffset 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 LINECALLINFO(ctypes.Structure):
_pack_ = 1
_fields_ = [
("dwTotalSize", wintypes.DWORD),
("dwNeededSize", wintypes.DWORD),
("dwUsedSize", wintypes.DWORD),
("hLine", wintypes.DWORD),
("dwLineDeviceID", wintypes.DWORD),
("dwAddressID", wintypes.DWORD),
("dwBearerMode", wintypes.DWORD),
("dwRate", wintypes.DWORD),
("dwMediaMode", wintypes.DWORD),
("dwAppSpecific", wintypes.DWORD),
("dwCallID", wintypes.DWORD),
("dwRelatedCallID", wintypes.DWORD),
("dwCallParamFlags", wintypes.DWORD),
("dwCallStates", wintypes.DWORD),
("dwMonitorDigitModes", wintypes.DWORD),
("dwMonitorMediaModes", wintypes.DWORD),
("DialParams", LINEDIALPARAMS),
("dwOrigin", wintypes.DWORD),
("dwReason", wintypes.DWORD),
("dwCompletionID", wintypes.DWORD),
("dwNumOwners", wintypes.DWORD),
("dwNumMonitors", wintypes.DWORD),
("dwCountryCode", wintypes.DWORD),
("dwTrunk", wintypes.DWORD),
("dwCallerIDFlags", wintypes.DWORD),
("dwCallerIDSize", wintypes.DWORD),
("dwCallerIDOffset", wintypes.DWORD),
("dwCallerIDNameSize", wintypes.DWORD),
("dwCallerIDNameOffset", wintypes.DWORD),
("dwCalledIDFlags", wintypes.DWORD),
("dwCalledIDSize", wintypes.DWORD),
("dwCalledIDOffset", wintypes.DWORD),
("dwCalledIDNameSize", wintypes.DWORD),
("dwCalledIDNameOffset", wintypes.DWORD),
("dwConnectedIDFlags", wintypes.DWORD),
("dwConnectedIDSize", wintypes.DWORD),
("dwConnectedIDOffset", wintypes.DWORD),
("dwConnectedIDNameSize", wintypes.DWORD),
("dwConnectedIDNameOffset", wintypes.DWORD),
("dwRedirectionIDFlags", wintypes.DWORD),
("dwRedirectionIDSize", wintypes.DWORD),
("dwRedirectionIDOffset", wintypes.DWORD),
("dwRedirectionIDNameSize", wintypes.DWORD),
("dwRedirectionIDNameOffset", wintypes.DWORD),
("dwRedirectingIDFlags", wintypes.DWORD),
("dwRedirectingIDSize", wintypes.DWORD),
("dwRedirectingIDOffset", wintypes.DWORD),
("dwRedirectingIDNameSize", wintypes.DWORD),
("dwRedirectingIDNameOffset", wintypes.DWORD),
("dwAppNameSize", wintypes.DWORD),
("dwAppNameOffset", wintypes.DWORD),
("dwDisplayableAddressSize", wintypes.DWORD),
("dwDisplayableAddressOffset", wintypes.DWORD),
("dwCalledPartySize", wintypes.DWORD),
("dwCalledPartyOffset", wintypes.DWORD),
("dwCommentSize", wintypes.DWORD),
("dwCommentOffset", wintypes.DWORD),
("dwDisplaySize", wintypes.DWORD),
("dwDisplayOffset", wintypes.DWORD),
("dwUserUserInfoSize", wintypes.DWORD),
("dwUserUserInfoOffset", wintypes.DWORD),
("dwHighLevelCompSize", wintypes.DWORD),
("dwHighLevelCompOffset", wintypes.DWORD),
("dwLowLevelCompSize", wintypes.DWORD),
("dwLowLevelCompOffset", wintypes.DWORD),
("dwChargingInfoSize", wintypes.DWORD),
("dwChargingInfoOffset", wintypes.DWORD),
("dwTerminalModesSize", wintypes.DWORD),
("dwTerminalModesOffset", wintypes.DWORD),
("dwDevSpecificSize", wintypes.DWORD),
("dwDevSpecificOffset", wintypes.DWORD),
("dwCallTreatment", wintypes.DWORD),
("dwCallDataSize", wintypes.DWORD),
("dwCallDataOffset", wintypes.DWORD),
("dwSendingFlowspecSize", wintypes.DWORD),
("dwSendingFlowspecOffset", wintypes.DWORD),
("dwReceivingFlowspecSize", wintypes.DWORD),
("dwReceivingFlowspecOffset", 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 LINECALLINFO {
pub dwTotalSize: u32,
pub dwNeededSize: u32,
pub dwUsedSize: u32,
pub hLine: u32,
pub dwLineDeviceID: u32,
pub dwAddressID: u32,
pub dwBearerMode: u32,
pub dwRate: u32,
pub dwMediaMode: u32,
pub dwAppSpecific: u32,
pub dwCallID: u32,
pub dwRelatedCallID: u32,
pub dwCallParamFlags: u32,
pub dwCallStates: u32,
pub dwMonitorDigitModes: u32,
pub dwMonitorMediaModes: u32,
pub DialParams: LINEDIALPARAMS,
pub dwOrigin: u32,
pub dwReason: u32,
pub dwCompletionID: u32,
pub dwNumOwners: u32,
pub dwNumMonitors: u32,
pub dwCountryCode: u32,
pub dwTrunk: u32,
pub dwCallerIDFlags: u32,
pub dwCallerIDSize: u32,
pub dwCallerIDOffset: u32,
pub dwCallerIDNameSize: u32,
pub dwCallerIDNameOffset: u32,
pub dwCalledIDFlags: u32,
pub dwCalledIDSize: u32,
pub dwCalledIDOffset: u32,
pub dwCalledIDNameSize: u32,
pub dwCalledIDNameOffset: u32,
pub dwConnectedIDFlags: u32,
pub dwConnectedIDSize: u32,
pub dwConnectedIDOffset: u32,
pub dwConnectedIDNameSize: u32,
pub dwConnectedIDNameOffset: u32,
pub dwRedirectionIDFlags: u32,
pub dwRedirectionIDSize: u32,
pub dwRedirectionIDOffset: u32,
pub dwRedirectionIDNameSize: u32,
pub dwRedirectionIDNameOffset: u32,
pub dwRedirectingIDFlags: u32,
pub dwRedirectingIDSize: u32,
pub dwRedirectingIDOffset: u32,
pub dwRedirectingIDNameSize: u32,
pub dwRedirectingIDNameOffset: u32,
pub dwAppNameSize: u32,
pub dwAppNameOffset: u32,
pub dwDisplayableAddressSize: u32,
pub dwDisplayableAddressOffset: u32,
pub dwCalledPartySize: u32,
pub dwCalledPartyOffset: u32,
pub dwCommentSize: u32,
pub dwCommentOffset: u32,
pub dwDisplaySize: u32,
pub dwDisplayOffset: u32,
pub dwUserUserInfoSize: u32,
pub dwUserUserInfoOffset: u32,
pub dwHighLevelCompSize: u32,
pub dwHighLevelCompOffset: u32,
pub dwLowLevelCompSize: u32,
pub dwLowLevelCompOffset: u32,
pub dwChargingInfoSize: u32,
pub dwChargingInfoOffset: u32,
pub dwTerminalModesSize: u32,
pub dwTerminalModesOffset: u32,
pub dwDevSpecificSize: u32,
pub dwDevSpecificOffset: u32,
pub dwCallTreatment: u32,
pub dwCallDataSize: u32,
pub dwCallDataOffset: u32,
pub dwSendingFlowspecSize: u32,
pub dwSendingFlowspecOffset: u32,
pub dwReceivingFlowspecSize: u32,
pub dwReceivingFlowspecOffset: u32,
}import "golang.org/x/sys/windows"
type LINEDIALPARAMS struct {
dwDialPause uint32
dwDialSpeed uint32
dwDigitDuration uint32
dwWaitForDialtone uint32
}
type LINECALLINFO struct {
dwTotalSize uint32
dwNeededSize uint32
dwUsedSize uint32
hLine uint32
dwLineDeviceID uint32
dwAddressID uint32
dwBearerMode uint32
dwRate uint32
dwMediaMode uint32
dwAppSpecific uint32
dwCallID uint32
dwRelatedCallID uint32
dwCallParamFlags uint32
dwCallStates uint32
dwMonitorDigitModes uint32
dwMonitorMediaModes uint32
DialParams LINEDIALPARAMS
dwOrigin uint32
dwReason uint32
dwCompletionID uint32
dwNumOwners uint32
dwNumMonitors uint32
dwCountryCode uint32
dwTrunk uint32
dwCallerIDFlags uint32
dwCallerIDSize uint32
dwCallerIDOffset uint32
dwCallerIDNameSize uint32
dwCallerIDNameOffset uint32
dwCalledIDFlags uint32
dwCalledIDSize uint32
dwCalledIDOffset uint32
dwCalledIDNameSize uint32
dwCalledIDNameOffset uint32
dwConnectedIDFlags uint32
dwConnectedIDSize uint32
dwConnectedIDOffset uint32
dwConnectedIDNameSize uint32
dwConnectedIDNameOffset uint32
dwRedirectionIDFlags uint32
dwRedirectionIDSize uint32
dwRedirectionIDOffset uint32
dwRedirectionIDNameSize uint32
dwRedirectionIDNameOffset uint32
dwRedirectingIDFlags uint32
dwRedirectingIDSize uint32
dwRedirectingIDOffset uint32
dwRedirectingIDNameSize uint32
dwRedirectingIDNameOffset uint32
dwAppNameSize uint32
dwAppNameOffset uint32
dwDisplayableAddressSize uint32
dwDisplayableAddressOffset uint32
dwCalledPartySize uint32
dwCalledPartyOffset uint32
dwCommentSize uint32
dwCommentOffset uint32
dwDisplaySize uint32
dwDisplayOffset uint32
dwUserUserInfoSize uint32
dwUserUserInfoOffset uint32
dwHighLevelCompSize uint32
dwHighLevelCompOffset uint32
dwLowLevelCompSize uint32
dwLowLevelCompOffset uint32
dwChargingInfoSize uint32
dwChargingInfoOffset uint32
dwTerminalModesSize uint32
dwTerminalModesOffset uint32
dwDevSpecificSize uint32
dwDevSpecificOffset uint32
dwCallTreatment uint32
dwCallDataSize uint32
dwCallDataOffset uint32
dwSendingFlowspecSize uint32
dwSendingFlowspecOffset uint32
dwReceivingFlowspecSize uint32
dwReceivingFlowspecOffset uint32
}type
LINEDIALPARAMS = packed record
dwDialPause: DWORD;
dwDialSpeed: DWORD;
dwDigitDuration: DWORD;
dwWaitForDialtone: DWORD;
end;
LINECALLINFO = packed record
dwTotalSize: DWORD;
dwNeededSize: DWORD;
dwUsedSize: DWORD;
hLine: DWORD;
dwLineDeviceID: DWORD;
dwAddressID: DWORD;
dwBearerMode: DWORD;
dwRate: DWORD;
dwMediaMode: DWORD;
dwAppSpecific: DWORD;
dwCallID: DWORD;
dwRelatedCallID: DWORD;
dwCallParamFlags: DWORD;
dwCallStates: DWORD;
dwMonitorDigitModes: DWORD;
dwMonitorMediaModes: DWORD;
DialParams: LINEDIALPARAMS;
dwOrigin: DWORD;
dwReason: DWORD;
dwCompletionID: DWORD;
dwNumOwners: DWORD;
dwNumMonitors: DWORD;
dwCountryCode: DWORD;
dwTrunk: DWORD;
dwCallerIDFlags: DWORD;
dwCallerIDSize: DWORD;
dwCallerIDOffset: DWORD;
dwCallerIDNameSize: DWORD;
dwCallerIDNameOffset: DWORD;
dwCalledIDFlags: DWORD;
dwCalledIDSize: DWORD;
dwCalledIDOffset: DWORD;
dwCalledIDNameSize: DWORD;
dwCalledIDNameOffset: DWORD;
dwConnectedIDFlags: DWORD;
dwConnectedIDSize: DWORD;
dwConnectedIDOffset: DWORD;
dwConnectedIDNameSize: DWORD;
dwConnectedIDNameOffset: DWORD;
dwRedirectionIDFlags: DWORD;
dwRedirectionIDSize: DWORD;
dwRedirectionIDOffset: DWORD;
dwRedirectionIDNameSize: DWORD;
dwRedirectionIDNameOffset: DWORD;
dwRedirectingIDFlags: DWORD;
dwRedirectingIDSize: DWORD;
dwRedirectingIDOffset: DWORD;
dwRedirectingIDNameSize: DWORD;
dwRedirectingIDNameOffset: DWORD;
dwAppNameSize: DWORD;
dwAppNameOffset: DWORD;
dwDisplayableAddressSize: DWORD;
dwDisplayableAddressOffset: DWORD;
dwCalledPartySize: DWORD;
dwCalledPartyOffset: DWORD;
dwCommentSize: DWORD;
dwCommentOffset: DWORD;
dwDisplaySize: DWORD;
dwDisplayOffset: DWORD;
dwUserUserInfoSize: DWORD;
dwUserUserInfoOffset: DWORD;
dwHighLevelCompSize: DWORD;
dwHighLevelCompOffset: DWORD;
dwLowLevelCompSize: DWORD;
dwLowLevelCompOffset: DWORD;
dwChargingInfoSize: DWORD;
dwChargingInfoOffset: DWORD;
dwTerminalModesSize: DWORD;
dwTerminalModesOffset: DWORD;
dwDevSpecificSize: DWORD;
dwDevSpecificOffset: DWORD;
dwCallTreatment: DWORD;
dwCallDataSize: DWORD;
dwCallDataOffset: DWORD;
dwSendingFlowspecSize: DWORD;
dwSendingFlowspecOffset: DWORD;
dwReceivingFlowspecSize: DWORD;
dwReceivingFlowspecOffset: DWORD;
end;const LINEDIALPARAMS = extern struct {
dwDialPause: u32,
dwDialSpeed: u32,
dwDigitDuration: u32,
dwWaitForDialtone: u32,
};
const LINECALLINFO = extern struct {
dwTotalSize: u32,
dwNeededSize: u32,
dwUsedSize: u32,
hLine: u32,
dwLineDeviceID: u32,
dwAddressID: u32,
dwBearerMode: u32,
dwRate: u32,
dwMediaMode: u32,
dwAppSpecific: u32,
dwCallID: u32,
dwRelatedCallID: u32,
dwCallParamFlags: u32,
dwCallStates: u32,
dwMonitorDigitModes: u32,
dwMonitorMediaModes: u32,
DialParams: LINEDIALPARAMS,
dwOrigin: u32,
dwReason: u32,
dwCompletionID: u32,
dwNumOwners: u32,
dwNumMonitors: u32,
dwCountryCode: u32,
dwTrunk: u32,
dwCallerIDFlags: u32,
dwCallerIDSize: u32,
dwCallerIDOffset: u32,
dwCallerIDNameSize: u32,
dwCallerIDNameOffset: u32,
dwCalledIDFlags: u32,
dwCalledIDSize: u32,
dwCalledIDOffset: u32,
dwCalledIDNameSize: u32,
dwCalledIDNameOffset: u32,
dwConnectedIDFlags: u32,
dwConnectedIDSize: u32,
dwConnectedIDOffset: u32,
dwConnectedIDNameSize: u32,
dwConnectedIDNameOffset: u32,
dwRedirectionIDFlags: u32,
dwRedirectionIDSize: u32,
dwRedirectionIDOffset: u32,
dwRedirectionIDNameSize: u32,
dwRedirectionIDNameOffset: u32,
dwRedirectingIDFlags: u32,
dwRedirectingIDSize: u32,
dwRedirectingIDOffset: u32,
dwRedirectingIDNameSize: u32,
dwRedirectingIDNameOffset: u32,
dwAppNameSize: u32,
dwAppNameOffset: u32,
dwDisplayableAddressSize: u32,
dwDisplayableAddressOffset: u32,
dwCalledPartySize: u32,
dwCalledPartyOffset: u32,
dwCommentSize: u32,
dwCommentOffset: u32,
dwDisplaySize: u32,
dwDisplayOffset: u32,
dwUserUserInfoSize: u32,
dwUserUserInfoOffset: u32,
dwHighLevelCompSize: u32,
dwHighLevelCompOffset: u32,
dwLowLevelCompSize: u32,
dwLowLevelCompOffset: u32,
dwChargingInfoSize: u32,
dwChargingInfoOffset: u32,
dwTerminalModesSize: u32,
dwTerminalModesOffset: u32,
dwDevSpecificSize: u32,
dwDevSpecificOffset: u32,
dwCallTreatment: u32,
dwCallDataSize: u32,
dwCallDataOffset: u32,
dwSendingFlowspecSize: u32,
dwSendingFlowspecOffset: u32,
dwReceivingFlowspecSize: u32,
dwReceivingFlowspecOffset: u32,
};type
LINEDIALPARAMS {.packed.} = object
dwDialPause: uint32
dwDialSpeed: uint32
dwDigitDuration: uint32
dwWaitForDialtone: uint32
LINECALLINFO {.packed.} = object
dwTotalSize: uint32
dwNeededSize: uint32
dwUsedSize: uint32
hLine: uint32
dwLineDeviceID: uint32
dwAddressID: uint32
dwBearerMode: uint32
dwRate: uint32
dwMediaMode: uint32
dwAppSpecific: uint32
dwCallID: uint32
dwRelatedCallID: uint32
dwCallParamFlags: uint32
dwCallStates: uint32
dwMonitorDigitModes: uint32
dwMonitorMediaModes: uint32
DialParams: LINEDIALPARAMS
dwOrigin: uint32
dwReason: uint32
dwCompletionID: uint32
dwNumOwners: uint32
dwNumMonitors: uint32
dwCountryCode: uint32
dwTrunk: uint32
dwCallerIDFlags: uint32
dwCallerIDSize: uint32
dwCallerIDOffset: uint32
dwCallerIDNameSize: uint32
dwCallerIDNameOffset: uint32
dwCalledIDFlags: uint32
dwCalledIDSize: uint32
dwCalledIDOffset: uint32
dwCalledIDNameSize: uint32
dwCalledIDNameOffset: uint32
dwConnectedIDFlags: uint32
dwConnectedIDSize: uint32
dwConnectedIDOffset: uint32
dwConnectedIDNameSize: uint32
dwConnectedIDNameOffset: uint32
dwRedirectionIDFlags: uint32
dwRedirectionIDSize: uint32
dwRedirectionIDOffset: uint32
dwRedirectionIDNameSize: uint32
dwRedirectionIDNameOffset: uint32
dwRedirectingIDFlags: uint32
dwRedirectingIDSize: uint32
dwRedirectingIDOffset: uint32
dwRedirectingIDNameSize: uint32
dwRedirectingIDNameOffset: uint32
dwAppNameSize: uint32
dwAppNameOffset: uint32
dwDisplayableAddressSize: uint32
dwDisplayableAddressOffset: uint32
dwCalledPartySize: uint32
dwCalledPartyOffset: uint32
dwCommentSize: uint32
dwCommentOffset: uint32
dwDisplaySize: uint32
dwDisplayOffset: uint32
dwUserUserInfoSize: uint32
dwUserUserInfoOffset: uint32
dwHighLevelCompSize: uint32
dwHighLevelCompOffset: uint32
dwLowLevelCompSize: uint32
dwLowLevelCompOffset: uint32
dwChargingInfoSize: uint32
dwChargingInfoOffset: uint32
dwTerminalModesSize: uint32
dwTerminalModesOffset: uint32
dwDevSpecificSize: uint32
dwDevSpecificOffset: uint32
dwCallTreatment: uint32
dwCallDataSize: uint32
dwCallDataOffset: uint32
dwSendingFlowspecSize: uint32
dwSendingFlowspecOffset: uint32
dwReceivingFlowspecSize: uint32
dwReceivingFlowspecOffset: uint32align(1)
struct LINEDIALPARAMS
{
uint dwDialPause;
uint dwDialSpeed;
uint dwDigitDuration;
uint dwWaitForDialtone;
}
align(1)
struct LINECALLINFO
{
uint dwTotalSize;
uint dwNeededSize;
uint dwUsedSize;
uint hLine;
uint dwLineDeviceID;
uint dwAddressID;
uint dwBearerMode;
uint dwRate;
uint dwMediaMode;
uint dwAppSpecific;
uint dwCallID;
uint dwRelatedCallID;
uint dwCallParamFlags;
uint dwCallStates;
uint dwMonitorDigitModes;
uint dwMonitorMediaModes;
LINEDIALPARAMS DialParams;
uint dwOrigin;
uint dwReason;
uint dwCompletionID;
uint dwNumOwners;
uint dwNumMonitors;
uint dwCountryCode;
uint dwTrunk;
uint dwCallerIDFlags;
uint dwCallerIDSize;
uint dwCallerIDOffset;
uint dwCallerIDNameSize;
uint dwCallerIDNameOffset;
uint dwCalledIDFlags;
uint dwCalledIDSize;
uint dwCalledIDOffset;
uint dwCalledIDNameSize;
uint dwCalledIDNameOffset;
uint dwConnectedIDFlags;
uint dwConnectedIDSize;
uint dwConnectedIDOffset;
uint dwConnectedIDNameSize;
uint dwConnectedIDNameOffset;
uint dwRedirectionIDFlags;
uint dwRedirectionIDSize;
uint dwRedirectionIDOffset;
uint dwRedirectionIDNameSize;
uint dwRedirectionIDNameOffset;
uint dwRedirectingIDFlags;
uint dwRedirectingIDSize;
uint dwRedirectingIDOffset;
uint dwRedirectingIDNameSize;
uint dwRedirectingIDNameOffset;
uint dwAppNameSize;
uint dwAppNameOffset;
uint dwDisplayableAddressSize;
uint dwDisplayableAddressOffset;
uint dwCalledPartySize;
uint dwCalledPartyOffset;
uint dwCommentSize;
uint dwCommentOffset;
uint dwDisplaySize;
uint dwDisplayOffset;
uint dwUserUserInfoSize;
uint dwUserUserInfoOffset;
uint dwHighLevelCompSize;
uint dwHighLevelCompOffset;
uint dwLowLevelCompSize;
uint dwLowLevelCompOffset;
uint dwChargingInfoSize;
uint dwChargingInfoOffset;
uint dwTerminalModesSize;
uint dwTerminalModesOffset;
uint dwDevSpecificSize;
uint dwDevSpecificOffset;
uint dwCallTreatment;
uint dwCallDataSize;
uint dwCallDataOffset;
uint dwSendingFlowspecSize;
uint dwSendingFlowspecOffset;
uint dwReceivingFlowspecSize;
uint dwReceivingFlowspecOffset;
}HSP用 定義
HSP3.7/3.8 は構造体機能が無いため4byte整数配列(dim)+peek/poke で操作(32/64bitでサイズ・位置が異なる場合はタブで分割)。IronHSP は NSTRUCT(#defstruct/stdim/->)で32/64bit共通。
; HSP3.7/3.8 は構造体機能が無いため、4byte整数の配列変数で操作します。(x64 レイアウト)
; LINECALLINFO サイズ: 324 バイト(x64)
dim st, 81 ; 4byte整数×81(構造体サイズ 324 / 4 切り上げ)
; dwTotalSize : DWORD (+0, 4byte) st.0 = 値 / 値 = st.0 (lpoke/lpeek も可)
; dwNeededSize : DWORD (+4, 4byte) st.1 = 値 / 値 = st.1 (lpoke/lpeek も可)
; dwUsedSize : DWORD (+8, 4byte) st.2 = 値 / 値 = st.2 (lpoke/lpeek も可)
; hLine : DWORD (+12, 4byte) st.3 = 値 / 値 = st.3 (lpoke/lpeek も可)
; dwLineDeviceID : DWORD (+16, 4byte) st.4 = 値 / 値 = st.4 (lpoke/lpeek も可)
; dwAddressID : DWORD (+20, 4byte) st.5 = 値 / 値 = st.5 (lpoke/lpeek も可)
; dwBearerMode : DWORD (+24, 4byte) st.6 = 値 / 値 = st.6 (lpoke/lpeek も可)
; dwRate : DWORD (+28, 4byte) st.7 = 値 / 値 = st.7 (lpoke/lpeek も可)
; dwMediaMode : DWORD (+32, 4byte) st.8 = 値 / 値 = st.8 (lpoke/lpeek も可)
; dwAppSpecific : DWORD (+36, 4byte) st.9 = 値 / 値 = st.9 (lpoke/lpeek も可)
; dwCallID : DWORD (+40, 4byte) st.10 = 値 / 値 = st.10 (lpoke/lpeek も可)
; dwRelatedCallID : DWORD (+44, 4byte) st.11 = 値 / 値 = st.11 (lpoke/lpeek も可)
; dwCallParamFlags : DWORD (+48, 4byte) st.12 = 値 / 値 = st.12 (lpoke/lpeek も可)
; dwCallStates : DWORD (+52, 4byte) st.13 = 値 / 値 = st.13 (lpoke/lpeek も可)
; dwMonitorDigitModes : DWORD (+56, 4byte) st.14 = 値 / 値 = st.14 (lpoke/lpeek も可)
; dwMonitorMediaModes : DWORD (+60, 4byte) st.15 = 値 / 値 = st.15 (lpoke/lpeek も可)
; DialParams : LINEDIALPARAMS (+64, 16byte) varptr(st)+64 を基点に操作(16byte:入れ子/配列)
; dwOrigin : DWORD (+80, 4byte) st.20 = 値 / 値 = st.20 (lpoke/lpeek も可)
; dwReason : DWORD (+84, 4byte) st.21 = 値 / 値 = st.21 (lpoke/lpeek も可)
; dwCompletionID : DWORD (+88, 4byte) st.22 = 値 / 値 = st.22 (lpoke/lpeek も可)
; dwNumOwners : DWORD (+92, 4byte) st.23 = 値 / 値 = st.23 (lpoke/lpeek も可)
; dwNumMonitors : DWORD (+96, 4byte) st.24 = 値 / 値 = st.24 (lpoke/lpeek も可)
; dwCountryCode : DWORD (+100, 4byte) st.25 = 値 / 値 = st.25 (lpoke/lpeek も可)
; dwTrunk : DWORD (+104, 4byte) st.26 = 値 / 値 = st.26 (lpoke/lpeek も可)
; dwCallerIDFlags : DWORD (+108, 4byte) st.27 = 値 / 値 = st.27 (lpoke/lpeek も可)
; dwCallerIDSize : DWORD (+112, 4byte) st.28 = 値 / 値 = st.28 (lpoke/lpeek も可)
; dwCallerIDOffset : DWORD (+116, 4byte) st.29 = 値 / 値 = st.29 (lpoke/lpeek も可)
; dwCallerIDNameSize : DWORD (+120, 4byte) st.30 = 値 / 値 = st.30 (lpoke/lpeek も可)
; dwCallerIDNameOffset : DWORD (+124, 4byte) st.31 = 値 / 値 = st.31 (lpoke/lpeek も可)
; dwCalledIDFlags : DWORD (+128, 4byte) st.32 = 値 / 値 = st.32 (lpoke/lpeek も可)
; dwCalledIDSize : DWORD (+132, 4byte) st.33 = 値 / 値 = st.33 (lpoke/lpeek も可)
; dwCalledIDOffset : DWORD (+136, 4byte) st.34 = 値 / 値 = st.34 (lpoke/lpeek も可)
; dwCalledIDNameSize : DWORD (+140, 4byte) st.35 = 値 / 値 = st.35 (lpoke/lpeek も可)
; dwCalledIDNameOffset : DWORD (+144, 4byte) st.36 = 値 / 値 = st.36 (lpoke/lpeek も可)
; dwConnectedIDFlags : DWORD (+148, 4byte) st.37 = 値 / 値 = st.37 (lpoke/lpeek も可)
; dwConnectedIDSize : DWORD (+152, 4byte) st.38 = 値 / 値 = st.38 (lpoke/lpeek も可)
; dwConnectedIDOffset : DWORD (+156, 4byte) st.39 = 値 / 値 = st.39 (lpoke/lpeek も可)
; dwConnectedIDNameSize : DWORD (+160, 4byte) st.40 = 値 / 値 = st.40 (lpoke/lpeek も可)
; dwConnectedIDNameOffset : DWORD (+164, 4byte) st.41 = 値 / 値 = st.41 (lpoke/lpeek も可)
; dwRedirectionIDFlags : DWORD (+168, 4byte) st.42 = 値 / 値 = st.42 (lpoke/lpeek も可)
; dwRedirectionIDSize : DWORD (+172, 4byte) st.43 = 値 / 値 = st.43 (lpoke/lpeek も可)
; dwRedirectionIDOffset : DWORD (+176, 4byte) st.44 = 値 / 値 = st.44 (lpoke/lpeek も可)
; dwRedirectionIDNameSize : DWORD (+180, 4byte) st.45 = 値 / 値 = st.45 (lpoke/lpeek も可)
; dwRedirectionIDNameOffset : DWORD (+184, 4byte) st.46 = 値 / 値 = st.46 (lpoke/lpeek も可)
; dwRedirectingIDFlags : DWORD (+188, 4byte) st.47 = 値 / 値 = st.47 (lpoke/lpeek も可)
; dwRedirectingIDSize : DWORD (+192, 4byte) st.48 = 値 / 値 = st.48 (lpoke/lpeek も可)
; dwRedirectingIDOffset : DWORD (+196, 4byte) st.49 = 値 / 値 = st.49 (lpoke/lpeek も可)
; dwRedirectingIDNameSize : DWORD (+200, 4byte) st.50 = 値 / 値 = st.50 (lpoke/lpeek も可)
; dwRedirectingIDNameOffset : DWORD (+204, 4byte) st.51 = 値 / 値 = st.51 (lpoke/lpeek も可)
; dwAppNameSize : DWORD (+208, 4byte) st.52 = 値 / 値 = st.52 (lpoke/lpeek も可)
; dwAppNameOffset : DWORD (+212, 4byte) st.53 = 値 / 値 = st.53 (lpoke/lpeek も可)
; dwDisplayableAddressSize : DWORD (+216, 4byte) st.54 = 値 / 値 = st.54 (lpoke/lpeek も可)
; dwDisplayableAddressOffset : DWORD (+220, 4byte) st.55 = 値 / 値 = st.55 (lpoke/lpeek も可)
; dwCalledPartySize : DWORD (+224, 4byte) st.56 = 値 / 値 = st.56 (lpoke/lpeek も可)
; dwCalledPartyOffset : DWORD (+228, 4byte) st.57 = 値 / 値 = st.57 (lpoke/lpeek も可)
; dwCommentSize : DWORD (+232, 4byte) st.58 = 値 / 値 = st.58 (lpoke/lpeek も可)
; dwCommentOffset : DWORD (+236, 4byte) st.59 = 値 / 値 = st.59 (lpoke/lpeek も可)
; dwDisplaySize : DWORD (+240, 4byte) st.60 = 値 / 値 = st.60 (lpoke/lpeek も可)
; dwDisplayOffset : DWORD (+244, 4byte) st.61 = 値 / 値 = st.61 (lpoke/lpeek も可)
; dwUserUserInfoSize : DWORD (+248, 4byte) st.62 = 値 / 値 = st.62 (lpoke/lpeek も可)
; dwUserUserInfoOffset : DWORD (+252, 4byte) st.63 = 値 / 値 = st.63 (lpoke/lpeek も可)
; dwHighLevelCompSize : DWORD (+256, 4byte) st.64 = 値 / 値 = st.64 (lpoke/lpeek も可)
; dwHighLevelCompOffset : DWORD (+260, 4byte) st.65 = 値 / 値 = st.65 (lpoke/lpeek も可)
; dwLowLevelCompSize : DWORD (+264, 4byte) st.66 = 値 / 値 = st.66 (lpoke/lpeek も可)
; dwLowLevelCompOffset : DWORD (+268, 4byte) st.67 = 値 / 値 = st.67 (lpoke/lpeek も可)
; dwChargingInfoSize : DWORD (+272, 4byte) st.68 = 値 / 値 = st.68 (lpoke/lpeek も可)
; dwChargingInfoOffset : DWORD (+276, 4byte) st.69 = 値 / 値 = st.69 (lpoke/lpeek も可)
; dwTerminalModesSize : DWORD (+280, 4byte) st.70 = 値 / 値 = st.70 (lpoke/lpeek も可)
; dwTerminalModesOffset : DWORD (+284, 4byte) st.71 = 値 / 値 = st.71 (lpoke/lpeek も可)
; dwDevSpecificSize : DWORD (+288, 4byte) st.72 = 値 / 値 = st.72 (lpoke/lpeek も可)
; dwDevSpecificOffset : DWORD (+292, 4byte) st.73 = 値 / 値 = st.73 (lpoke/lpeek も可)
; dwCallTreatment : DWORD (+296, 4byte) st.74 = 値 / 値 = st.74 (lpoke/lpeek も可)
; dwCallDataSize : DWORD (+300, 4byte) st.75 = 値 / 値 = st.75 (lpoke/lpeek も可)
; dwCallDataOffset : DWORD (+304, 4byte) st.76 = 値 / 値 = st.76 (lpoke/lpeek も可)
; dwSendingFlowspecSize : DWORD (+308, 4byte) st.77 = 値 / 値 = st.77 (lpoke/lpeek も可)
; dwSendingFlowspecOffset : DWORD (+312, 4byte) st.78 = 値 / 値 = st.78 (lpoke/lpeek も可)
; dwReceivingFlowspecSize : DWORD (+316, 4byte) st.79 = 値 / 値 = st.79 (lpoke/lpeek も可)
; dwReceivingFlowspecOffset : DWORD (+320, 4byte) st.80 = 値 / 値 = st.80 (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 LINECALLINFO, pack=1
#field int dwTotalSize
#field int dwNeededSize
#field int dwUsedSize
#field int hLine
#field int dwLineDeviceID
#field int dwAddressID
#field int dwBearerMode
#field int dwRate
#field int dwMediaMode
#field int dwAppSpecific
#field int dwCallID
#field int dwRelatedCallID
#field int dwCallParamFlags
#field int dwCallStates
#field int dwMonitorDigitModes
#field int dwMonitorMediaModes
#field LINEDIALPARAMS DialParams
#field int dwOrigin
#field int dwReason
#field int dwCompletionID
#field int dwNumOwners
#field int dwNumMonitors
#field int dwCountryCode
#field int dwTrunk
#field int dwCallerIDFlags
#field int dwCallerIDSize
#field int dwCallerIDOffset
#field int dwCallerIDNameSize
#field int dwCallerIDNameOffset
#field int dwCalledIDFlags
#field int dwCalledIDSize
#field int dwCalledIDOffset
#field int dwCalledIDNameSize
#field int dwCalledIDNameOffset
#field int dwConnectedIDFlags
#field int dwConnectedIDSize
#field int dwConnectedIDOffset
#field int dwConnectedIDNameSize
#field int dwConnectedIDNameOffset
#field int dwRedirectionIDFlags
#field int dwRedirectionIDSize
#field int dwRedirectionIDOffset
#field int dwRedirectionIDNameSize
#field int dwRedirectionIDNameOffset
#field int dwRedirectingIDFlags
#field int dwRedirectingIDSize
#field int dwRedirectingIDOffset
#field int dwRedirectingIDNameSize
#field int dwRedirectingIDNameOffset
#field int dwAppNameSize
#field int dwAppNameOffset
#field int dwDisplayableAddressSize
#field int dwDisplayableAddressOffset
#field int dwCalledPartySize
#field int dwCalledPartyOffset
#field int dwCommentSize
#field int dwCommentOffset
#field int dwDisplaySize
#field int dwDisplayOffset
#field int dwUserUserInfoSize
#field int dwUserUserInfoOffset
#field int dwHighLevelCompSize
#field int dwHighLevelCompOffset
#field int dwLowLevelCompSize
#field int dwLowLevelCompOffset
#field int dwChargingInfoSize
#field int dwChargingInfoOffset
#field int dwTerminalModesSize
#field int dwTerminalModesOffset
#field int dwDevSpecificSize
#field int dwDevSpecificOffset
#field int dwCallTreatment
#field int dwCallDataSize
#field int dwCallDataOffset
#field int dwSendingFlowspecSize
#field int dwSendingFlowspecOffset
#field int dwReceivingFlowspecSize
#field int dwReceivingFlowspecOffset
#endstruct
stdim st, LINECALLINFO ; NSTRUCT 変数を確保
st->dwTotalSize = 100
mes "dwTotalSize=" + st->dwTotalSize