ホーム › Devices.Tapi › LINEADDRESSCAPS
LINEADDRESSCAPS
構造体サイズ=各フィールドのバイト数(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 | 実際に使用されたサイズをバイトで表す。 |
| dwLineDeviceID | DWORD | 4 | +12 | +12 | このアドレスが属する回線デバイスのIDを表す。 |
| dwAddressSize | DWORD | 4 | +16 | +16 | アドレス文字列のサイズをバイトで表す。 |
| dwAddressOffset | DWORD | 4 | +20 | +20 | 構造体先頭からアドレス文字列までのオフセット。 |
| dwDevSpecificSize | DWORD | 4 | +24 | +24 | デバイス固有情報のサイズをバイトで表す。 |
| dwDevSpecificOffset | DWORD | 4 | +28 | +28 | デバイス固有情報までのオフセットをバイトで表す。 |
| dwAddressSharing | DWORD | 4 | +32 | +32 | このアドレスの共有モードを示す値。 |
| dwAddressStates | DWORD | 4 | +36 | +36 | 通知されるアドレス状態変化を示すフラグ。 |
| dwCallInfoStates | DWORD | 4 | +40 | +40 | 通知される呼情報状態の種別を示すフラグ。 |
| dwCallerIDFlags | DWORD | 4 | +44 | +44 | 発信者ID情報の利用可能性を示すフラグ。 |
| dwCalledIDFlags | DWORD | 4 | +48 | +48 | 着信先ID情報の利用可能性を示すフラグ。 |
| dwConnectedIDFlags | DWORD | 4 | +52 | +52 | 接続先ID情報の利用可能性を示すフラグ。 |
| dwRedirectionIDFlags | DWORD | 4 | +56 | +56 | 転送先ID情報の利用可能性を示すフラグ。 |
| dwRedirectingIDFlags | DWORD | 4 | +60 | +60 | 転送元ID情報の利用可能性を示すフラグ。 |
| dwCallStates | DWORD | 4 | +64 | +64 | サポートされる呼状態を示すフラグの組み合わせ。 |
| dwDialToneModes | DWORD | 4 | +68 | +68 | 検出可能なダイヤルトーンの種別を示すフラグ。 |
| dwBusyModes | DWORD | 4 | +72 | +72 | 検出可能なビジー状態の種別を示すフラグ。 |
| dwSpecialInfo | DWORD | 4 | +76 | +76 | 検出可能な特殊情報トーンの種別を示すフラグ。 |
| dwDisconnectModes | DWORD | 4 | +80 | +80 | 報告される切断理由の種別を示すフラグ。 |
| dwMaxNumActiveCalls | DWORD | 4 | +84 | +84 | 同時にアクティブにできる最大呼数を表す。 |
| dwMaxNumOnHoldCalls | DWORD | 4 | +88 | +88 | 同時に保留できる最大呼数を表す。 |
| dwMaxNumOnHoldPendingCalls | DWORD | 4 | +92 | +92 | 保留保留中にできる最大呼数を表す。 |
| dwMaxNumConference | DWORD | 4 | +96 | +96 | 会議に参加できる最大呼数を表す。 |
| dwMaxNumTransConf | DWORD | 4 | +100 | +100 | 転送会議で扱える最大呼数を表す。 |
| dwAddrCapFlags | DWORD | 4 | +104 | +104 | アドレスの能力を示すフラグの組み合わせ。 |
| dwCallFeatures | DWORD | 4 | +108 | +108 | サポートされる呼機能を示すフラグの組み合わせ。 |
| dwRemoveFromConfCaps | DWORD | 4 | +112 | +112 | 会議からの呼除去機能の能力を示すフラグ。 |
| dwRemoveFromConfState | DWORD | 4 | +116 | +116 | 会議除去後の呼状態を示す値。 |
| dwTransferModes | DWORD | 4 | +120 | +120 | サポートされる転送モードを示すフラグ。 |
| dwParkModes | DWORD | 4 | +124 | +124 | サポートされる呼パークモードを示すフラグ。 |
| dwForwardModes | DWORD | 4 | +128 | +128 | サポートされる呼転送モードを示すフラグ。 |
| dwMaxForwardEntries | DWORD | 4 | +132 | +132 | 同時に設定できる転送エントリの最大数を表す。 |
| dwMaxSpecificEntries | DWORD | 4 | +136 | +136 | 宛先別転送エントリの最大数を表す。 |
| dwMinFwdNumRings | DWORD | 4 | +140 | +140 | 無応答転送の最小呼出回数を表す。 |
| dwMaxFwdNumRings | DWORD | 4 | +144 | +144 | 無応答転送の最大呼出回数を表す。 |
| dwMaxCallCompletions | DWORD | 4 | +148 | +148 | 同時に保留できる呼完了要求の最大数を表す。 |
| dwCallCompletionConds | DWORD | 4 | +152 | +152 | サポートされる呼完了条件を示すフラグ。 |
| dwCallCompletionModes | DWORD | 4 | +156 | +156 | サポートされる呼完了モードを示すフラグ。 |
| dwNumCompletionMessages | DWORD | 4 | +160 | +160 | 利用可能な呼完了メッセージの数を表す。 |
| dwCompletionMsgTextEntrySize | DWORD | 4 | +164 | +164 | 各完了メッセージテキストのエントリサイズ。 |
| dwCompletionMsgTextSize | DWORD | 4 | +168 | +168 | 完了メッセージテキスト全体のサイズをバイトで表す。 |
| dwCompletionMsgTextOffset | DWORD | 4 | +172 | +172 | 完了メッセージテキストまでのオフセット。 |
| dwAddressFeatures | DWORD | 4 | +176 | +176 | 現在利用可能なアドレス機能を示すフラグ。 |
| dwPredictiveAutoTransferStates | DWORD | 4 | +180 | +180 | 予測自動転送をトリガする呼状態を示すフラグ。 |
| dwNumCallTreatments | DWORD | 4 | +184 | +184 | 利用可能な呼処理(トリートメント)の数を表す。 |
| dwCallTreatmentListSize | DWORD | 4 | +188 | +188 | 呼処理リストのサイズをバイトで表す。 |
| dwCallTreatmentListOffset | DWORD | 4 | +192 | +192 | 呼処理リストまでのオフセットをバイトで表す。 |
| dwDeviceClassesSize | DWORD | 4 | +196 | +196 | デバイスクラス名リストのサイズをバイトで表す。 |
| dwDeviceClassesOffset | DWORD | 4 | +200 | +200 | デバイスクラス名リストまでのオフセット。 |
| dwMaxCallDataSize | DWORD | 4 | +204 | +204 | 呼データに設定できる最大サイズをバイトで表す。 |
| dwCallFeatures2 | DWORD | 4 | +208 | +208 | 追加の呼機能を示すフラグの組み合わせ。 |
| dwMaxNoAnswerTimeout | DWORD | 4 | +212 | +212 | 設定可能な無応答タイムアウトの最大値を秒で表す。 |
| dwConnectedModes | DWORD | 4 | +216 | +216 | サポートされる接続状態モードを示すフラグ。 |
| dwOfferingModes | DWORD | 4 | +220 | +220 | サポートされる呼出(オファリング)モードを示すフラグ。 |
| dwAvailableMediaModes | DWORD | 4 | +224 | +224 | このアドレスで利用可能なメディアモードを示すフラグ。 |
各言語での定義
#include <windows.h>
// LINEADDRESSCAPS (x64 228 / x86 228 バイト)
#pragma pack(push, 1)
typedef struct LINEADDRESSCAPS {
DWORD dwTotalSize;
DWORD dwNeededSize;
DWORD dwUsedSize;
DWORD dwLineDeviceID;
DWORD dwAddressSize;
DWORD dwAddressOffset;
DWORD dwDevSpecificSize;
DWORD dwDevSpecificOffset;
DWORD dwAddressSharing;
DWORD dwAddressStates;
DWORD dwCallInfoStates;
DWORD dwCallerIDFlags;
DWORD dwCalledIDFlags;
DWORD dwConnectedIDFlags;
DWORD dwRedirectionIDFlags;
DWORD dwRedirectingIDFlags;
DWORD dwCallStates;
DWORD dwDialToneModes;
DWORD dwBusyModes;
DWORD dwSpecialInfo;
DWORD dwDisconnectModes;
DWORD dwMaxNumActiveCalls;
DWORD dwMaxNumOnHoldCalls;
DWORD dwMaxNumOnHoldPendingCalls;
DWORD dwMaxNumConference;
DWORD dwMaxNumTransConf;
DWORD dwAddrCapFlags;
DWORD dwCallFeatures;
DWORD dwRemoveFromConfCaps;
DWORD dwRemoveFromConfState;
DWORD dwTransferModes;
DWORD dwParkModes;
DWORD dwForwardModes;
DWORD dwMaxForwardEntries;
DWORD dwMaxSpecificEntries;
DWORD dwMinFwdNumRings;
DWORD dwMaxFwdNumRings;
DWORD dwMaxCallCompletions;
DWORD dwCallCompletionConds;
DWORD dwCallCompletionModes;
DWORD dwNumCompletionMessages;
DWORD dwCompletionMsgTextEntrySize;
DWORD dwCompletionMsgTextSize;
DWORD dwCompletionMsgTextOffset;
DWORD dwAddressFeatures;
DWORD dwPredictiveAutoTransferStates;
DWORD dwNumCallTreatments;
DWORD dwCallTreatmentListSize;
DWORD dwCallTreatmentListOffset;
DWORD dwDeviceClassesSize;
DWORD dwDeviceClassesOffset;
DWORD dwMaxCallDataSize;
DWORD dwCallFeatures2;
DWORD dwMaxNoAnswerTimeout;
DWORD dwConnectedModes;
DWORD dwOfferingModes;
DWORD dwAvailableMediaModes;
} LINEADDRESSCAPS;
#pragma pack(pop)using System;
using System.Runtime.InteropServices;
[StructLayout(LayoutKind.Sequential, Pack = 1, CharSet = CharSet.Unicode)]
public struct LINEADDRESSCAPS
{
public uint dwTotalSize;
public uint dwNeededSize;
public uint dwUsedSize;
public uint dwLineDeviceID;
public uint dwAddressSize;
public uint dwAddressOffset;
public uint dwDevSpecificSize;
public uint dwDevSpecificOffset;
public uint dwAddressSharing;
public uint dwAddressStates;
public uint dwCallInfoStates;
public uint dwCallerIDFlags;
public uint dwCalledIDFlags;
public uint dwConnectedIDFlags;
public uint dwRedirectionIDFlags;
public uint dwRedirectingIDFlags;
public uint dwCallStates;
public uint dwDialToneModes;
public uint dwBusyModes;
public uint dwSpecialInfo;
public uint dwDisconnectModes;
public uint dwMaxNumActiveCalls;
public uint dwMaxNumOnHoldCalls;
public uint dwMaxNumOnHoldPendingCalls;
public uint dwMaxNumConference;
public uint dwMaxNumTransConf;
public uint dwAddrCapFlags;
public uint dwCallFeatures;
public uint dwRemoveFromConfCaps;
public uint dwRemoveFromConfState;
public uint dwTransferModes;
public uint dwParkModes;
public uint dwForwardModes;
public uint dwMaxForwardEntries;
public uint dwMaxSpecificEntries;
public uint dwMinFwdNumRings;
public uint dwMaxFwdNumRings;
public uint dwMaxCallCompletions;
public uint dwCallCompletionConds;
public uint dwCallCompletionModes;
public uint dwNumCompletionMessages;
public uint dwCompletionMsgTextEntrySize;
public uint dwCompletionMsgTextSize;
public uint dwCompletionMsgTextOffset;
public uint dwAddressFeatures;
public uint dwPredictiveAutoTransferStates;
public uint dwNumCallTreatments;
public uint dwCallTreatmentListSize;
public uint dwCallTreatmentListOffset;
public uint dwDeviceClassesSize;
public uint dwDeviceClassesOffset;
public uint dwMaxCallDataSize;
public uint dwCallFeatures2;
public uint dwMaxNoAnswerTimeout;
public uint dwConnectedModes;
public uint dwOfferingModes;
public uint dwAvailableMediaModes;
}Imports System.Runtime.InteropServices
<StructLayout(LayoutKind.Sequential, Pack:=1, CharSet:=CharSet.Unicode)>
Public Structure LINEADDRESSCAPS
Public dwTotalSize As UInteger
Public dwNeededSize As UInteger
Public dwUsedSize As UInteger
Public dwLineDeviceID As UInteger
Public dwAddressSize As UInteger
Public dwAddressOffset As UInteger
Public dwDevSpecificSize As UInteger
Public dwDevSpecificOffset As UInteger
Public dwAddressSharing As UInteger
Public dwAddressStates As UInteger
Public dwCallInfoStates As UInteger
Public dwCallerIDFlags As UInteger
Public dwCalledIDFlags As UInteger
Public dwConnectedIDFlags As UInteger
Public dwRedirectionIDFlags As UInteger
Public dwRedirectingIDFlags As UInteger
Public dwCallStates As UInteger
Public dwDialToneModes As UInteger
Public dwBusyModes As UInteger
Public dwSpecialInfo As UInteger
Public dwDisconnectModes As UInteger
Public dwMaxNumActiveCalls As UInteger
Public dwMaxNumOnHoldCalls As UInteger
Public dwMaxNumOnHoldPendingCalls As UInteger
Public dwMaxNumConference As UInteger
Public dwMaxNumTransConf As UInteger
Public dwAddrCapFlags As UInteger
Public dwCallFeatures As UInteger
Public dwRemoveFromConfCaps As UInteger
Public dwRemoveFromConfState As UInteger
Public dwTransferModes As UInteger
Public dwParkModes As UInteger
Public dwForwardModes As UInteger
Public dwMaxForwardEntries As UInteger
Public dwMaxSpecificEntries As UInteger
Public dwMinFwdNumRings As UInteger
Public dwMaxFwdNumRings As UInteger
Public dwMaxCallCompletions As UInteger
Public dwCallCompletionConds As UInteger
Public dwCallCompletionModes As UInteger
Public dwNumCompletionMessages As UInteger
Public dwCompletionMsgTextEntrySize As UInteger
Public dwCompletionMsgTextSize As UInteger
Public dwCompletionMsgTextOffset As UInteger
Public dwAddressFeatures As UInteger
Public dwPredictiveAutoTransferStates As UInteger
Public dwNumCallTreatments As UInteger
Public dwCallTreatmentListSize As UInteger
Public dwCallTreatmentListOffset As UInteger
Public dwDeviceClassesSize As UInteger
Public dwDeviceClassesOffset As UInteger
Public dwMaxCallDataSize As UInteger
Public dwCallFeatures2 As UInteger
Public dwMaxNoAnswerTimeout As UInteger
Public dwConnectedModes As UInteger
Public dwOfferingModes As UInteger
Public dwAvailableMediaModes As UInteger
End Structureimport ctypes
from ctypes import wintypes
class LINEADDRESSCAPS(ctypes.Structure):
_pack_ = 1
_fields_ = [
("dwTotalSize", wintypes.DWORD),
("dwNeededSize", wintypes.DWORD),
("dwUsedSize", wintypes.DWORD),
("dwLineDeviceID", wintypes.DWORD),
("dwAddressSize", wintypes.DWORD),
("dwAddressOffset", wintypes.DWORD),
("dwDevSpecificSize", wintypes.DWORD),
("dwDevSpecificOffset", wintypes.DWORD),
("dwAddressSharing", wintypes.DWORD),
("dwAddressStates", wintypes.DWORD),
("dwCallInfoStates", wintypes.DWORD),
("dwCallerIDFlags", wintypes.DWORD),
("dwCalledIDFlags", wintypes.DWORD),
("dwConnectedIDFlags", wintypes.DWORD),
("dwRedirectionIDFlags", wintypes.DWORD),
("dwRedirectingIDFlags", wintypes.DWORD),
("dwCallStates", wintypes.DWORD),
("dwDialToneModes", wintypes.DWORD),
("dwBusyModes", wintypes.DWORD),
("dwSpecialInfo", wintypes.DWORD),
("dwDisconnectModes", wintypes.DWORD),
("dwMaxNumActiveCalls", wintypes.DWORD),
("dwMaxNumOnHoldCalls", wintypes.DWORD),
("dwMaxNumOnHoldPendingCalls", wintypes.DWORD),
("dwMaxNumConference", wintypes.DWORD),
("dwMaxNumTransConf", wintypes.DWORD),
("dwAddrCapFlags", wintypes.DWORD),
("dwCallFeatures", wintypes.DWORD),
("dwRemoveFromConfCaps", wintypes.DWORD),
("dwRemoveFromConfState", wintypes.DWORD),
("dwTransferModes", wintypes.DWORD),
("dwParkModes", wintypes.DWORD),
("dwForwardModes", wintypes.DWORD),
("dwMaxForwardEntries", wintypes.DWORD),
("dwMaxSpecificEntries", wintypes.DWORD),
("dwMinFwdNumRings", wintypes.DWORD),
("dwMaxFwdNumRings", wintypes.DWORD),
("dwMaxCallCompletions", wintypes.DWORD),
("dwCallCompletionConds", wintypes.DWORD),
("dwCallCompletionModes", wintypes.DWORD),
("dwNumCompletionMessages", wintypes.DWORD),
("dwCompletionMsgTextEntrySize", wintypes.DWORD),
("dwCompletionMsgTextSize", wintypes.DWORD),
("dwCompletionMsgTextOffset", wintypes.DWORD),
("dwAddressFeatures", wintypes.DWORD),
("dwPredictiveAutoTransferStates", wintypes.DWORD),
("dwNumCallTreatments", wintypes.DWORD),
("dwCallTreatmentListSize", wintypes.DWORD),
("dwCallTreatmentListOffset", wintypes.DWORD),
("dwDeviceClassesSize", wintypes.DWORD),
("dwDeviceClassesOffset", wintypes.DWORD),
("dwMaxCallDataSize", wintypes.DWORD),
("dwCallFeatures2", wintypes.DWORD),
("dwMaxNoAnswerTimeout", wintypes.DWORD),
("dwConnectedModes", wintypes.DWORD),
("dwOfferingModes", wintypes.DWORD),
("dwAvailableMediaModes", wintypes.DWORD),
]#[repr(C, packed(1))]
pub struct LINEADDRESSCAPS {
pub dwTotalSize: u32,
pub dwNeededSize: u32,
pub dwUsedSize: u32,
pub dwLineDeviceID: u32,
pub dwAddressSize: u32,
pub dwAddressOffset: u32,
pub dwDevSpecificSize: u32,
pub dwDevSpecificOffset: u32,
pub dwAddressSharing: u32,
pub dwAddressStates: u32,
pub dwCallInfoStates: u32,
pub dwCallerIDFlags: u32,
pub dwCalledIDFlags: u32,
pub dwConnectedIDFlags: u32,
pub dwRedirectionIDFlags: u32,
pub dwRedirectingIDFlags: u32,
pub dwCallStates: u32,
pub dwDialToneModes: u32,
pub dwBusyModes: u32,
pub dwSpecialInfo: u32,
pub dwDisconnectModes: u32,
pub dwMaxNumActiveCalls: u32,
pub dwMaxNumOnHoldCalls: u32,
pub dwMaxNumOnHoldPendingCalls: u32,
pub dwMaxNumConference: u32,
pub dwMaxNumTransConf: u32,
pub dwAddrCapFlags: u32,
pub dwCallFeatures: u32,
pub dwRemoveFromConfCaps: u32,
pub dwRemoveFromConfState: u32,
pub dwTransferModes: u32,
pub dwParkModes: u32,
pub dwForwardModes: u32,
pub dwMaxForwardEntries: u32,
pub dwMaxSpecificEntries: u32,
pub dwMinFwdNumRings: u32,
pub dwMaxFwdNumRings: u32,
pub dwMaxCallCompletions: u32,
pub dwCallCompletionConds: u32,
pub dwCallCompletionModes: u32,
pub dwNumCompletionMessages: u32,
pub dwCompletionMsgTextEntrySize: u32,
pub dwCompletionMsgTextSize: u32,
pub dwCompletionMsgTextOffset: u32,
pub dwAddressFeatures: u32,
pub dwPredictiveAutoTransferStates: u32,
pub dwNumCallTreatments: u32,
pub dwCallTreatmentListSize: u32,
pub dwCallTreatmentListOffset: u32,
pub dwDeviceClassesSize: u32,
pub dwDeviceClassesOffset: u32,
pub dwMaxCallDataSize: u32,
pub dwCallFeatures2: u32,
pub dwMaxNoAnswerTimeout: u32,
pub dwConnectedModes: u32,
pub dwOfferingModes: u32,
pub dwAvailableMediaModes: u32,
}import "golang.org/x/sys/windows"
type LINEADDRESSCAPS struct {
dwTotalSize uint32
dwNeededSize uint32
dwUsedSize uint32
dwLineDeviceID uint32
dwAddressSize uint32
dwAddressOffset uint32
dwDevSpecificSize uint32
dwDevSpecificOffset uint32
dwAddressSharing uint32
dwAddressStates uint32
dwCallInfoStates uint32
dwCallerIDFlags uint32
dwCalledIDFlags uint32
dwConnectedIDFlags uint32
dwRedirectionIDFlags uint32
dwRedirectingIDFlags uint32
dwCallStates uint32
dwDialToneModes uint32
dwBusyModes uint32
dwSpecialInfo uint32
dwDisconnectModes uint32
dwMaxNumActiveCalls uint32
dwMaxNumOnHoldCalls uint32
dwMaxNumOnHoldPendingCalls uint32
dwMaxNumConference uint32
dwMaxNumTransConf uint32
dwAddrCapFlags uint32
dwCallFeatures uint32
dwRemoveFromConfCaps uint32
dwRemoveFromConfState uint32
dwTransferModes uint32
dwParkModes uint32
dwForwardModes uint32
dwMaxForwardEntries uint32
dwMaxSpecificEntries uint32
dwMinFwdNumRings uint32
dwMaxFwdNumRings uint32
dwMaxCallCompletions uint32
dwCallCompletionConds uint32
dwCallCompletionModes uint32
dwNumCompletionMessages uint32
dwCompletionMsgTextEntrySize uint32
dwCompletionMsgTextSize uint32
dwCompletionMsgTextOffset uint32
dwAddressFeatures uint32
dwPredictiveAutoTransferStates uint32
dwNumCallTreatments uint32
dwCallTreatmentListSize uint32
dwCallTreatmentListOffset uint32
dwDeviceClassesSize uint32
dwDeviceClassesOffset uint32
dwMaxCallDataSize uint32
dwCallFeatures2 uint32
dwMaxNoAnswerTimeout uint32
dwConnectedModes uint32
dwOfferingModes uint32
dwAvailableMediaModes uint32
}type
LINEADDRESSCAPS = packed record
dwTotalSize: DWORD;
dwNeededSize: DWORD;
dwUsedSize: DWORD;
dwLineDeviceID: DWORD;
dwAddressSize: DWORD;
dwAddressOffset: DWORD;
dwDevSpecificSize: DWORD;
dwDevSpecificOffset: DWORD;
dwAddressSharing: DWORD;
dwAddressStates: DWORD;
dwCallInfoStates: DWORD;
dwCallerIDFlags: DWORD;
dwCalledIDFlags: DWORD;
dwConnectedIDFlags: DWORD;
dwRedirectionIDFlags: DWORD;
dwRedirectingIDFlags: DWORD;
dwCallStates: DWORD;
dwDialToneModes: DWORD;
dwBusyModes: DWORD;
dwSpecialInfo: DWORD;
dwDisconnectModes: DWORD;
dwMaxNumActiveCalls: DWORD;
dwMaxNumOnHoldCalls: DWORD;
dwMaxNumOnHoldPendingCalls: DWORD;
dwMaxNumConference: DWORD;
dwMaxNumTransConf: DWORD;
dwAddrCapFlags: DWORD;
dwCallFeatures: DWORD;
dwRemoveFromConfCaps: DWORD;
dwRemoveFromConfState: DWORD;
dwTransferModes: DWORD;
dwParkModes: DWORD;
dwForwardModes: DWORD;
dwMaxForwardEntries: DWORD;
dwMaxSpecificEntries: DWORD;
dwMinFwdNumRings: DWORD;
dwMaxFwdNumRings: DWORD;
dwMaxCallCompletions: DWORD;
dwCallCompletionConds: DWORD;
dwCallCompletionModes: DWORD;
dwNumCompletionMessages: DWORD;
dwCompletionMsgTextEntrySize: DWORD;
dwCompletionMsgTextSize: DWORD;
dwCompletionMsgTextOffset: DWORD;
dwAddressFeatures: DWORD;
dwPredictiveAutoTransferStates: DWORD;
dwNumCallTreatments: DWORD;
dwCallTreatmentListSize: DWORD;
dwCallTreatmentListOffset: DWORD;
dwDeviceClassesSize: DWORD;
dwDeviceClassesOffset: DWORD;
dwMaxCallDataSize: DWORD;
dwCallFeatures2: DWORD;
dwMaxNoAnswerTimeout: DWORD;
dwConnectedModes: DWORD;
dwOfferingModes: DWORD;
dwAvailableMediaModes: DWORD;
end;const LINEADDRESSCAPS = extern struct {
dwTotalSize: u32,
dwNeededSize: u32,
dwUsedSize: u32,
dwLineDeviceID: u32,
dwAddressSize: u32,
dwAddressOffset: u32,
dwDevSpecificSize: u32,
dwDevSpecificOffset: u32,
dwAddressSharing: u32,
dwAddressStates: u32,
dwCallInfoStates: u32,
dwCallerIDFlags: u32,
dwCalledIDFlags: u32,
dwConnectedIDFlags: u32,
dwRedirectionIDFlags: u32,
dwRedirectingIDFlags: u32,
dwCallStates: u32,
dwDialToneModes: u32,
dwBusyModes: u32,
dwSpecialInfo: u32,
dwDisconnectModes: u32,
dwMaxNumActiveCalls: u32,
dwMaxNumOnHoldCalls: u32,
dwMaxNumOnHoldPendingCalls: u32,
dwMaxNumConference: u32,
dwMaxNumTransConf: u32,
dwAddrCapFlags: u32,
dwCallFeatures: u32,
dwRemoveFromConfCaps: u32,
dwRemoveFromConfState: u32,
dwTransferModes: u32,
dwParkModes: u32,
dwForwardModes: u32,
dwMaxForwardEntries: u32,
dwMaxSpecificEntries: u32,
dwMinFwdNumRings: u32,
dwMaxFwdNumRings: u32,
dwMaxCallCompletions: u32,
dwCallCompletionConds: u32,
dwCallCompletionModes: u32,
dwNumCompletionMessages: u32,
dwCompletionMsgTextEntrySize: u32,
dwCompletionMsgTextSize: u32,
dwCompletionMsgTextOffset: u32,
dwAddressFeatures: u32,
dwPredictiveAutoTransferStates: u32,
dwNumCallTreatments: u32,
dwCallTreatmentListSize: u32,
dwCallTreatmentListOffset: u32,
dwDeviceClassesSize: u32,
dwDeviceClassesOffset: u32,
dwMaxCallDataSize: u32,
dwCallFeatures2: u32,
dwMaxNoAnswerTimeout: u32,
dwConnectedModes: u32,
dwOfferingModes: u32,
dwAvailableMediaModes: u32,
};type
LINEADDRESSCAPS {.packed.} = object
dwTotalSize: uint32
dwNeededSize: uint32
dwUsedSize: uint32
dwLineDeviceID: uint32
dwAddressSize: uint32
dwAddressOffset: uint32
dwDevSpecificSize: uint32
dwDevSpecificOffset: uint32
dwAddressSharing: uint32
dwAddressStates: uint32
dwCallInfoStates: uint32
dwCallerIDFlags: uint32
dwCalledIDFlags: uint32
dwConnectedIDFlags: uint32
dwRedirectionIDFlags: uint32
dwRedirectingIDFlags: uint32
dwCallStates: uint32
dwDialToneModes: uint32
dwBusyModes: uint32
dwSpecialInfo: uint32
dwDisconnectModes: uint32
dwMaxNumActiveCalls: uint32
dwMaxNumOnHoldCalls: uint32
dwMaxNumOnHoldPendingCalls: uint32
dwMaxNumConference: uint32
dwMaxNumTransConf: uint32
dwAddrCapFlags: uint32
dwCallFeatures: uint32
dwRemoveFromConfCaps: uint32
dwRemoveFromConfState: uint32
dwTransferModes: uint32
dwParkModes: uint32
dwForwardModes: uint32
dwMaxForwardEntries: uint32
dwMaxSpecificEntries: uint32
dwMinFwdNumRings: uint32
dwMaxFwdNumRings: uint32
dwMaxCallCompletions: uint32
dwCallCompletionConds: uint32
dwCallCompletionModes: uint32
dwNumCompletionMessages: uint32
dwCompletionMsgTextEntrySize: uint32
dwCompletionMsgTextSize: uint32
dwCompletionMsgTextOffset: uint32
dwAddressFeatures: uint32
dwPredictiveAutoTransferStates: uint32
dwNumCallTreatments: uint32
dwCallTreatmentListSize: uint32
dwCallTreatmentListOffset: uint32
dwDeviceClassesSize: uint32
dwDeviceClassesOffset: uint32
dwMaxCallDataSize: uint32
dwCallFeatures2: uint32
dwMaxNoAnswerTimeout: uint32
dwConnectedModes: uint32
dwOfferingModes: uint32
dwAvailableMediaModes: uint32align(1)
struct LINEADDRESSCAPS
{
uint dwTotalSize;
uint dwNeededSize;
uint dwUsedSize;
uint dwLineDeviceID;
uint dwAddressSize;
uint dwAddressOffset;
uint dwDevSpecificSize;
uint dwDevSpecificOffset;
uint dwAddressSharing;
uint dwAddressStates;
uint dwCallInfoStates;
uint dwCallerIDFlags;
uint dwCalledIDFlags;
uint dwConnectedIDFlags;
uint dwRedirectionIDFlags;
uint dwRedirectingIDFlags;
uint dwCallStates;
uint dwDialToneModes;
uint dwBusyModes;
uint dwSpecialInfo;
uint dwDisconnectModes;
uint dwMaxNumActiveCalls;
uint dwMaxNumOnHoldCalls;
uint dwMaxNumOnHoldPendingCalls;
uint dwMaxNumConference;
uint dwMaxNumTransConf;
uint dwAddrCapFlags;
uint dwCallFeatures;
uint dwRemoveFromConfCaps;
uint dwRemoveFromConfState;
uint dwTransferModes;
uint dwParkModes;
uint dwForwardModes;
uint dwMaxForwardEntries;
uint dwMaxSpecificEntries;
uint dwMinFwdNumRings;
uint dwMaxFwdNumRings;
uint dwMaxCallCompletions;
uint dwCallCompletionConds;
uint dwCallCompletionModes;
uint dwNumCompletionMessages;
uint dwCompletionMsgTextEntrySize;
uint dwCompletionMsgTextSize;
uint dwCompletionMsgTextOffset;
uint dwAddressFeatures;
uint dwPredictiveAutoTransferStates;
uint dwNumCallTreatments;
uint dwCallTreatmentListSize;
uint dwCallTreatmentListOffset;
uint dwDeviceClassesSize;
uint dwDeviceClassesOffset;
uint dwMaxCallDataSize;
uint dwCallFeatures2;
uint dwMaxNoAnswerTimeout;
uint dwConnectedModes;
uint dwOfferingModes;
uint dwAvailableMediaModes;
}HSP用 定義
HSP3.7/3.8 は構造体機能が無いため4byte整数配列(dim)+peek/poke で操作(32/64bitでサイズ・位置が異なる場合はタブで分割)。IronHSP は NSTRUCT(#defstruct/stdim/->)で32/64bit共通。
; HSP3.7/3.8 は構造体機能が無いため、4byte整数の配列変数で操作します。(x64 レイアウト)
; LINEADDRESSCAPS サイズ: 228 バイト(x64)
dim st, 57 ; 4byte整数×57(構造体サイズ 228 / 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 も可)
; dwLineDeviceID : DWORD (+12, 4byte) st.3 = 値 / 値 = st.3 (lpoke/lpeek も可)
; dwAddressSize : DWORD (+16, 4byte) st.4 = 値 / 値 = st.4 (lpoke/lpeek も可)
; dwAddressOffset : DWORD (+20, 4byte) st.5 = 値 / 値 = st.5 (lpoke/lpeek も可)
; dwDevSpecificSize : DWORD (+24, 4byte) st.6 = 値 / 値 = st.6 (lpoke/lpeek も可)
; dwDevSpecificOffset : DWORD (+28, 4byte) st.7 = 値 / 値 = st.7 (lpoke/lpeek も可)
; dwAddressSharing : DWORD (+32, 4byte) st.8 = 値 / 値 = st.8 (lpoke/lpeek も可)
; dwAddressStates : DWORD (+36, 4byte) st.9 = 値 / 値 = st.9 (lpoke/lpeek も可)
; dwCallInfoStates : DWORD (+40, 4byte) st.10 = 値 / 値 = st.10 (lpoke/lpeek も可)
; dwCallerIDFlags : DWORD (+44, 4byte) st.11 = 値 / 値 = st.11 (lpoke/lpeek も可)
; dwCalledIDFlags : DWORD (+48, 4byte) st.12 = 値 / 値 = st.12 (lpoke/lpeek も可)
; dwConnectedIDFlags : DWORD (+52, 4byte) st.13 = 値 / 値 = st.13 (lpoke/lpeek も可)
; dwRedirectionIDFlags : DWORD (+56, 4byte) st.14 = 値 / 値 = st.14 (lpoke/lpeek も可)
; dwRedirectingIDFlags : DWORD (+60, 4byte) st.15 = 値 / 値 = st.15 (lpoke/lpeek も可)
; dwCallStates : DWORD (+64, 4byte) st.16 = 値 / 値 = st.16 (lpoke/lpeek も可)
; dwDialToneModes : DWORD (+68, 4byte) st.17 = 値 / 値 = st.17 (lpoke/lpeek も可)
; dwBusyModes : DWORD (+72, 4byte) st.18 = 値 / 値 = st.18 (lpoke/lpeek も可)
; dwSpecialInfo : DWORD (+76, 4byte) st.19 = 値 / 値 = st.19 (lpoke/lpeek も可)
; dwDisconnectModes : DWORD (+80, 4byte) st.20 = 値 / 値 = st.20 (lpoke/lpeek も可)
; dwMaxNumActiveCalls : DWORD (+84, 4byte) st.21 = 値 / 値 = st.21 (lpoke/lpeek も可)
; dwMaxNumOnHoldCalls : DWORD (+88, 4byte) st.22 = 値 / 値 = st.22 (lpoke/lpeek も可)
; dwMaxNumOnHoldPendingCalls : DWORD (+92, 4byte) st.23 = 値 / 値 = st.23 (lpoke/lpeek も可)
; dwMaxNumConference : DWORD (+96, 4byte) st.24 = 値 / 値 = st.24 (lpoke/lpeek も可)
; dwMaxNumTransConf : DWORD (+100, 4byte) st.25 = 値 / 値 = st.25 (lpoke/lpeek も可)
; dwAddrCapFlags : DWORD (+104, 4byte) st.26 = 値 / 値 = st.26 (lpoke/lpeek も可)
; dwCallFeatures : DWORD (+108, 4byte) st.27 = 値 / 値 = st.27 (lpoke/lpeek も可)
; dwRemoveFromConfCaps : DWORD (+112, 4byte) st.28 = 値 / 値 = st.28 (lpoke/lpeek も可)
; dwRemoveFromConfState : DWORD (+116, 4byte) st.29 = 値 / 値 = st.29 (lpoke/lpeek も可)
; dwTransferModes : DWORD (+120, 4byte) st.30 = 値 / 値 = st.30 (lpoke/lpeek も可)
; dwParkModes : DWORD (+124, 4byte) st.31 = 値 / 値 = st.31 (lpoke/lpeek も可)
; dwForwardModes : DWORD (+128, 4byte) st.32 = 値 / 値 = st.32 (lpoke/lpeek も可)
; dwMaxForwardEntries : DWORD (+132, 4byte) st.33 = 値 / 値 = st.33 (lpoke/lpeek も可)
; dwMaxSpecificEntries : DWORD (+136, 4byte) st.34 = 値 / 値 = st.34 (lpoke/lpeek も可)
; dwMinFwdNumRings : DWORD (+140, 4byte) st.35 = 値 / 値 = st.35 (lpoke/lpeek も可)
; dwMaxFwdNumRings : DWORD (+144, 4byte) st.36 = 値 / 値 = st.36 (lpoke/lpeek も可)
; dwMaxCallCompletions : DWORD (+148, 4byte) st.37 = 値 / 値 = st.37 (lpoke/lpeek も可)
; dwCallCompletionConds : DWORD (+152, 4byte) st.38 = 値 / 値 = st.38 (lpoke/lpeek も可)
; dwCallCompletionModes : DWORD (+156, 4byte) st.39 = 値 / 値 = st.39 (lpoke/lpeek も可)
; dwNumCompletionMessages : DWORD (+160, 4byte) st.40 = 値 / 値 = st.40 (lpoke/lpeek も可)
; dwCompletionMsgTextEntrySize : DWORD (+164, 4byte) st.41 = 値 / 値 = st.41 (lpoke/lpeek も可)
; dwCompletionMsgTextSize : DWORD (+168, 4byte) st.42 = 値 / 値 = st.42 (lpoke/lpeek も可)
; dwCompletionMsgTextOffset : DWORD (+172, 4byte) st.43 = 値 / 値 = st.43 (lpoke/lpeek も可)
; dwAddressFeatures : DWORD (+176, 4byte) st.44 = 値 / 値 = st.44 (lpoke/lpeek も可)
; dwPredictiveAutoTransferStates : DWORD (+180, 4byte) st.45 = 値 / 値 = st.45 (lpoke/lpeek も可)
; dwNumCallTreatments : DWORD (+184, 4byte) st.46 = 値 / 値 = st.46 (lpoke/lpeek も可)
; dwCallTreatmentListSize : DWORD (+188, 4byte) st.47 = 値 / 値 = st.47 (lpoke/lpeek も可)
; dwCallTreatmentListOffset : DWORD (+192, 4byte) st.48 = 値 / 値 = st.48 (lpoke/lpeek も可)
; dwDeviceClassesSize : DWORD (+196, 4byte) st.49 = 値 / 値 = st.49 (lpoke/lpeek も可)
; dwDeviceClassesOffset : DWORD (+200, 4byte) st.50 = 値 / 値 = st.50 (lpoke/lpeek も可)
; dwMaxCallDataSize : DWORD (+204, 4byte) st.51 = 値 / 値 = st.51 (lpoke/lpeek も可)
; dwCallFeatures2 : DWORD (+208, 4byte) st.52 = 値 / 値 = st.52 (lpoke/lpeek も可)
; dwMaxNoAnswerTimeout : DWORD (+212, 4byte) st.53 = 値 / 値 = st.53 (lpoke/lpeek も可)
; dwConnectedModes : DWORD (+216, 4byte) st.54 = 値 / 値 = st.54 (lpoke/lpeek も可)
; dwOfferingModes : DWORD (+220, 4byte) st.55 = 値 / 値 = st.55 (lpoke/lpeek も可)
; dwAvailableMediaModes : DWORD (+224, 4byte) st.56 = 値 / 値 = st.56 (lpoke/lpeek も可)
; ※4byte境界の整数は添字 st.N(N=オフセット/4)で読み書き可。それ以外は peek/poke 系を使用。; IronHSP は NSTRUCT(構造体)をサポート。32bit/64bit どちらでも同じコードで動作します。
#defstruct global LINEADDRESSCAPS, pack=1
#field int dwTotalSize
#field int dwNeededSize
#field int dwUsedSize
#field int dwLineDeviceID
#field int dwAddressSize
#field int dwAddressOffset
#field int dwDevSpecificSize
#field int dwDevSpecificOffset
#field int dwAddressSharing
#field int dwAddressStates
#field int dwCallInfoStates
#field int dwCallerIDFlags
#field int dwCalledIDFlags
#field int dwConnectedIDFlags
#field int dwRedirectionIDFlags
#field int dwRedirectingIDFlags
#field int dwCallStates
#field int dwDialToneModes
#field int dwBusyModes
#field int dwSpecialInfo
#field int dwDisconnectModes
#field int dwMaxNumActiveCalls
#field int dwMaxNumOnHoldCalls
#field int dwMaxNumOnHoldPendingCalls
#field int dwMaxNumConference
#field int dwMaxNumTransConf
#field int dwAddrCapFlags
#field int dwCallFeatures
#field int dwRemoveFromConfCaps
#field int dwRemoveFromConfState
#field int dwTransferModes
#field int dwParkModes
#field int dwForwardModes
#field int dwMaxForwardEntries
#field int dwMaxSpecificEntries
#field int dwMinFwdNumRings
#field int dwMaxFwdNumRings
#field int dwMaxCallCompletions
#field int dwCallCompletionConds
#field int dwCallCompletionModes
#field int dwNumCompletionMessages
#field int dwCompletionMsgTextEntrySize
#field int dwCompletionMsgTextSize
#field int dwCompletionMsgTextOffset
#field int dwAddressFeatures
#field int dwPredictiveAutoTransferStates
#field int dwNumCallTreatments
#field int dwCallTreatmentListSize
#field int dwCallTreatmentListOffset
#field int dwDeviceClassesSize
#field int dwDeviceClassesOffset
#field int dwMaxCallDataSize
#field int dwCallFeatures2
#field int dwMaxNoAnswerTimeout
#field int dwConnectedModes
#field int dwOfferingModes
#field int dwAvailableMediaModes
#endstruct
stdim st, LINEADDRESSCAPS ; NSTRUCT 変数を確保
st->dwTotalSize = 100
mes "dwTotalSize=" + st->dwTotalSize