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

FAX_CONFIGURATIONA

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

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

フィールド

フィールドサイズx64x86説明
SizeOfStructDWORD4+0+0FAX_CONFIGURATION 構造体のサイズをバイト単位で指定します。呼び出し側アプリケーションは、FaxSetConfiguration 関数を呼び出す前に、このメンバーに sizeof(FAX_CONFIGURATION) を設定しなければなりません。
RetriesDWORD4+4+4最初の送信が失敗した場合に、FAX サーバーが送信 FAX の再送信を試行する回数を示す DWORD 変数を指定します。
RetryDelayDWORD4+8+8FAX サーバーによる再送信の試行間隔を分単位で示す DWORD 変数を指定します。
DirtyDaysDWORD4+12+12未送信のジョブを FAX サーバーが FAX ジョブ キューに保持する日数を示す DWORD 変数を指定します。たとえば、無効な FAX 番号や日付が指定された場合、または送信側デバイスが話中信号を複数回受け取った場合には、送信が行われないことがあります。
BrandingBOOL4+16+16送信 FAX の上部に FAX サーバーがブランド (バナー) を生成するかどうかを示すブール変数を指定します。このメンバーが TRUE の場合、FAX サーバーは送信ステーション識別子、日付、時刻、ページ数などの送信関連情報を含むブランドを生成します。
UseDeviceTsidBOOL4+20+20FAX_JOB_PARAM 構造体の Tsid メンバーで指定された値の代わりに、FAX サーバーがデバイスの送信ステーション識別子を使用するかどうかを示すブール変数を指定します。このメンバーが TRUE の場合、サーバーはデバイスの送信ステーション識別子を使用します。
ServerCpBOOL4+24+24FAX クライアント アプリケーションがユーザー作成の表紙ページを FAX 送信に含められるかどうかを示すブール変数を指定します。このメンバーが TRUE の場合、クライアントは FAX サーバーに格納された共通の表紙ページを使用しなければなりません。このメンバーが FALSE の場合、クライアントは個人用の表紙ページ ファイルを使用できます。
PauseServerQueueBOOL4+28+28FAX サーバーが FAX ジョブ キューを一時停止しているかどうかを示すブール変数を指定します。このメンバーが TRUE の場合、キューは一時停止されています。
StartCheapTimeFAX_TIME4+32+32割引期間が開始する時刻 (時と分) を示す FAX_TIME 構造体を指定します。割引期間は送信にのみ適用されます。
StopCheapTimeFAX_TIME4+36+36割引期間が終了する時刻 (時と分) を示す FAX_TIME 構造体を指定します。割引期間は送信にのみ適用されます。
ArchiveOutgoingFaxesBOOL4+40+40FAX サーバーが送信 FAX をアーカイブするかどうかを示すブール変数を指定します。このメンバーが TRUE の場合、サーバーは ArchiveDirectory メンバーで指定されたディレクトリに送信 FAX をアーカイブします。
ArchiveDirectoryLPSTR8/4+48+44送信 FAX のアーカイブ先ディレクトリの完全修飾パスを格納する、定数の NULL 終端文字列へのポインターです。パスには UNC パス、またはドライブ文字で始まるパスを指定できます。ArchiveOutgoingFaxes メンバーが FALSE の場合、FAX サーバーはこのメンバーを無視します。ArchiveOutgoingFaxes メンバーが FALSE の場合、このメンバーは NULL でもかまいません。
ReservedLPSTR8/4+56+48

- InboundProfile

Type: LPCSTR

電子メールに使用される受信ルーティング プロファイルです。

公式ドキュメント

FAX_CONFIGURATION 構造体は、FAX サーバーのグローバル構成設定に関する情報を格納します。この構造体には、再送信、ブランド (バナー)、アーカイブ、表紙ページの各設定、割引料金の時間帯、および FAX サーバーのキューの状態に関するデータが含まれます。

解説(Remarks)

FAX クライアント アプリケーションは、対象の FAX サーバーのグローバル構成設定を変更するために、FaxSetConfiguration 関数の呼び出しで FAX_CONFIGURATION 構造体を渡します。アプリケーションが FaxGetConfiguration 関数を呼び出すと、現在の設定が FAX_CONFIGURATION 構造体で返されます。詳細については、「Fax Server Configuration Management」を参照してください。

メモ

winfax.h ヘッダーは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI 版または Unicode 版を自動的に選択するエイリアスとして FAX_CONFIGURATION を定義します。エンコーディング中立のエイリアスの使用を、エンコーディング中立でないコードと混在させると、不一致が生じてコンパイル エラーや実行時エラーの原因となることがあります。詳細については、「Conventions for Function Prototypes」を参照してください。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

各言語での定義

#include <windows.h>

// FAX_TIME  (x64 4 / x86 4 バイト)
typedef struct FAX_TIME {
    WORD Hour;
    WORD Minute;
} FAX_TIME;

// FAX_CONFIGURATIONA  (x64 64 / x86 52 バイト)
typedef struct FAX_CONFIGURATIONA {
    DWORD SizeOfStruct;
    DWORD Retries;
    DWORD RetryDelay;
    DWORD DirtyDays;
    BOOL Branding;
    BOOL UseDeviceTsid;
    BOOL ServerCp;
    BOOL PauseServerQueue;
    FAX_TIME StartCheapTime;
    FAX_TIME StopCheapTime;
    BOOL ArchiveOutgoingFaxes;
    LPSTR ArchiveDirectory;
    LPSTR Reserved;
} FAX_CONFIGURATIONA;
using System;
using System.Runtime.InteropServices;

[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct FAX_TIME
{
    public ushort Hour;
    public ushort Minute;
}

[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct FAX_CONFIGURATIONA
{
    public uint SizeOfStruct;
    public uint Retries;
    public uint RetryDelay;
    public uint DirtyDays;
    [MarshalAs(UnmanagedType.Bool)] public bool Branding;
    [MarshalAs(UnmanagedType.Bool)] public bool UseDeviceTsid;
    [MarshalAs(UnmanagedType.Bool)] public bool ServerCp;
    [MarshalAs(UnmanagedType.Bool)] public bool PauseServerQueue;
    public FAX_TIME StartCheapTime;
    public FAX_TIME StopCheapTime;
    [MarshalAs(UnmanagedType.Bool)] public bool ArchiveOutgoingFaxes;
    public IntPtr ArchiveDirectory;
    public IntPtr Reserved;
}
Imports System.Runtime.InteropServices

<StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Unicode)>
Public Structure FAX_TIME
    Public Hour As UShort
    Public Minute As UShort
End Structure

<StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Unicode)>
Public Structure FAX_CONFIGURATIONA
    Public SizeOfStruct As UInteger
    Public Retries As UInteger
    Public RetryDelay As UInteger
    Public DirtyDays As UInteger
    <MarshalAs(UnmanagedType.Bool)> Public Branding As Boolean
    <MarshalAs(UnmanagedType.Bool)> Public UseDeviceTsid As Boolean
    <MarshalAs(UnmanagedType.Bool)> Public ServerCp As Boolean
    <MarshalAs(UnmanagedType.Bool)> Public PauseServerQueue As Boolean
    Public StartCheapTime As FAX_TIME
    Public StopCheapTime As FAX_TIME
    <MarshalAs(UnmanagedType.Bool)> Public ArchiveOutgoingFaxes As Boolean
    Public ArchiveDirectory As IntPtr
    Public Reserved As IntPtr
End Structure
import ctypes
from ctypes import wintypes

class FAX_TIME(ctypes.Structure):
    _fields_ = [
        ("Hour", ctypes.c_ushort),
        ("Minute", ctypes.c_ushort),
    ]

class FAX_CONFIGURATIONA(ctypes.Structure):
    _fields_ = [
        ("SizeOfStruct", wintypes.DWORD),
        ("Retries", wintypes.DWORD),
        ("RetryDelay", wintypes.DWORD),
        ("DirtyDays", wintypes.DWORD),
        ("Branding", wintypes.BOOL),
        ("UseDeviceTsid", wintypes.BOOL),
        ("ServerCp", wintypes.BOOL),
        ("PauseServerQueue", wintypes.BOOL),
        ("StartCheapTime", FAX_TIME),
        ("StopCheapTime", FAX_TIME),
        ("ArchiveOutgoingFaxes", wintypes.BOOL),
        ("ArchiveDirectory", ctypes.c_void_p),
        ("Reserved", ctypes.c_void_p),
    ]
#[repr(C)]
pub struct FAX_TIME {
    pub Hour: u16,
    pub Minute: u16,
}

#[repr(C)]
pub struct FAX_CONFIGURATIONA {
    pub SizeOfStruct: u32,
    pub Retries: u32,
    pub RetryDelay: u32,
    pub DirtyDays: u32,
    pub Branding: i32,
    pub UseDeviceTsid: i32,
    pub ServerCp: i32,
    pub PauseServerQueue: i32,
    pub StartCheapTime: FAX_TIME,
    pub StopCheapTime: FAX_TIME,
    pub ArchiveOutgoingFaxes: i32,
    pub ArchiveDirectory: *mut core::ffi::c_void,
    pub Reserved: *mut core::ffi::c_void,
}
import "golang.org/x/sys/windows"

type FAX_TIME struct {
	Hour uint16
	Minute uint16
}

type FAX_CONFIGURATIONA struct {
	SizeOfStruct uint32
	Retries uint32
	RetryDelay uint32
	DirtyDays uint32
	Branding int32
	UseDeviceTsid int32
	ServerCp int32
	PauseServerQueue int32
	StartCheapTime FAX_TIME
	StopCheapTime FAX_TIME
	ArchiveOutgoingFaxes int32
	ArchiveDirectory uintptr
	Reserved uintptr
}
type
  FAX_TIME = record
    Hour: Word;
    Minute: Word;
  end;

  FAX_CONFIGURATIONA = record
    SizeOfStruct: DWORD;
    Retries: DWORD;
    RetryDelay: DWORD;
    DirtyDays: DWORD;
    Branding: BOOL;
    UseDeviceTsid: BOOL;
    ServerCp: BOOL;
    PauseServerQueue: BOOL;
    StartCheapTime: FAX_TIME;
    StopCheapTime: FAX_TIME;
    ArchiveOutgoingFaxes: BOOL;
    ArchiveDirectory: Pointer;
    Reserved: Pointer;
  end;
const FAX_TIME = extern struct {
    Hour: u16,
    Minute: u16,
};

const FAX_CONFIGURATIONA = extern struct {
    SizeOfStruct: u32,
    Retries: u32,
    RetryDelay: u32,
    DirtyDays: u32,
    Branding: i32,
    UseDeviceTsid: i32,
    ServerCp: i32,
    PauseServerQueue: i32,
    StartCheapTime: FAX_TIME,
    StopCheapTime: FAX_TIME,
    ArchiveOutgoingFaxes: i32,
    ArchiveDirectory: ?*anyopaque,
    Reserved: ?*anyopaque,
};
type
  FAX_TIME {.bycopy.} = object
    Hour: uint16
    Minute: uint16

  FAX_CONFIGURATIONA {.bycopy.} = object
    SizeOfStruct: uint32
    Retries: uint32
    RetryDelay: uint32
    DirtyDays: uint32
    Branding: int32
    UseDeviceTsid: int32
    ServerCp: int32
    PauseServerQueue: int32
    StartCheapTime: FAX_TIME
    StopCheapTime: FAX_TIME
    ArchiveOutgoingFaxes: int32
    ArchiveDirectory: pointer
    Reserved: pointer
struct FAX_TIME
{
    ushort Hour;
    ushort Minute;
}

struct FAX_CONFIGURATIONA
{
    uint SizeOfStruct;
    uint Retries;
    uint RetryDelay;
    uint DirtyDays;
    int Branding;
    int UseDeviceTsid;
    int ServerCp;
    int PauseServerQueue;
    FAX_TIME StartCheapTime;
    FAX_TIME StopCheapTime;
    int ArchiveOutgoingFaxes;
    void* ArchiveDirectory;
    void* Reserved;
}

HSP用 定義

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

; HSP3.7/3.8 は構造体機能が無いため、4byte整数の配列変数で操作します。(x86 レイアウト)
; FAX_CONFIGURATIONA サイズ: 52 バイト(x86)
dim st, 13    ; 4byte整数×13(構造体サイズ 52 / 4 切り上げ)
; SizeOfStruct : DWORD (+0, 4byte)  st.0 = 値  /  値 = st.0   (lpoke/lpeek も可)
; Retries : DWORD (+4, 4byte)  st.1 = 値  /  値 = st.1   (lpoke/lpeek も可)
; RetryDelay : DWORD (+8, 4byte)  st.2 = 値  /  値 = st.2   (lpoke/lpeek も可)
; DirtyDays : DWORD (+12, 4byte)  st.3 = 値  /  値 = st.3   (lpoke/lpeek も可)
; Branding : BOOL (+16, 4byte)  st.4 = 値  /  値 = st.4   (lpoke/lpeek も可)
; UseDeviceTsid : BOOL (+20, 4byte)  st.5 = 値  /  値 = st.5   (lpoke/lpeek も可)
; ServerCp : BOOL (+24, 4byte)  st.6 = 値  /  値 = st.6   (lpoke/lpeek も可)
; PauseServerQueue : BOOL (+28, 4byte)  st.7 = 値  /  値 = st.7   (lpoke/lpeek も可)
; StartCheapTime : FAX_TIME (+32, 4byte)  varptr(st)+32 を基点に操作(4byte:入れ子/配列)
; StopCheapTime : FAX_TIME (+36, 4byte)  varptr(st)+36 を基点に操作(4byte:入れ子/配列)
; ArchiveOutgoingFaxes : BOOL (+40, 4byte)  st.10 = 値  /  値 = st.10   (lpoke/lpeek も可)
; ArchiveDirectory : LPSTR (+44, 4byte)  st.11 = 値  /  値 = st.11   (lpoke/lpeek も可)
; Reserved : LPSTR (+48, 4byte)  st.12 = 値  /  値 = st.12   (lpoke/lpeek も可)
; ※4byte境界の整数は添字 st.N(N=オフセット/4)で読み書き可。それ以外は peek/poke 系を使用。
; HSP3.7/3.8 は構造体機能が無いため、4byte整数の配列変数で操作します。(x64 レイアウト)
; FAX_CONFIGURATIONA サイズ: 64 バイト(x64)
dim st, 16    ; 4byte整数×16(構造体サイズ 64 / 4 切り上げ)
; SizeOfStruct : DWORD (+0, 4byte)  st.0 = 値  /  値 = st.0   (lpoke/lpeek も可)
; Retries : DWORD (+4, 4byte)  st.1 = 値  /  値 = st.1   (lpoke/lpeek も可)
; RetryDelay : DWORD (+8, 4byte)  st.2 = 値  /  値 = st.2   (lpoke/lpeek も可)
; DirtyDays : DWORD (+12, 4byte)  st.3 = 値  /  値 = st.3   (lpoke/lpeek も可)
; Branding : BOOL (+16, 4byte)  st.4 = 値  /  値 = st.4   (lpoke/lpeek も可)
; UseDeviceTsid : BOOL (+20, 4byte)  st.5 = 値  /  値 = st.5   (lpoke/lpeek も可)
; ServerCp : BOOL (+24, 4byte)  st.6 = 値  /  値 = st.6   (lpoke/lpeek も可)
; PauseServerQueue : BOOL (+28, 4byte)  st.7 = 値  /  値 = st.7   (lpoke/lpeek も可)
; StartCheapTime : FAX_TIME (+32, 4byte)  varptr(st)+32 を基点に操作(4byte:入れ子/配列)
; StopCheapTime : FAX_TIME (+36, 4byte)  varptr(st)+36 を基点に操作(4byte:入れ子/配列)
; ArchiveOutgoingFaxes : BOOL (+40, 4byte)  st.10 = 値  /  値 = st.10   (lpoke/lpeek も可)
; ArchiveDirectory : LPSTR (+48, 8byte)  qpoke st,48,値 / qpeek(st,48)  ※IronHSPのみ。3.7/3.8は lpoke st,48,下位 : lpoke st,52,上位
; Reserved : LPSTR (+56, 8byte)  qpoke st,56,値 / qpeek(st,56)  ※IronHSPのみ。3.7/3.8は lpoke st,56,下位 : lpoke st,60,上位
; ※4byte境界の整数は添字 st.N(N=オフセット/4)で読み書き可。それ以外は peek/poke 系を使用。
; IronHSP は NSTRUCT(構造体)をサポート。32bit/64bit どちらでも同じコードで動作します。
; ※GUID・入れ子構造体はデフォルト型でないため、依存する #defstruct を先に定義(下記に同梱)。
#defstruct global FAX_TIME
    #field short Hour
    #field short Minute
#endstruct

#defstruct global FAX_CONFIGURATIONA
    #field int SizeOfStruct
    #field int Retries
    #field int RetryDelay
    #field int DirtyDays
    #field bool Branding
    #field bool UseDeviceTsid
    #field bool ServerCp
    #field bool PauseServerQueue
    #field FAX_TIME StartCheapTime
    #field FAX_TIME StopCheapTime
    #field bool ArchiveOutgoingFaxes
    #field intptr ArchiveDirectory
    #field intptr Reserved
#endstruct

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