Win32 API 日本語リファレンス
ホームNetworkManagement.NetManagement › SERVER_INFO_503

SERVER_INFO_503

構造体
サイズx64: 176 バイト / x86: 168 バイト

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

フィールド

フィールドサイズx64x86説明
sv503_sessopensDWORD4+0+01セッションあたりに開けるファイル/デバイスの最大数を示す。
sv503_sessvcsDWORD4+4+41クライアントからの仮想回線(セッション)の最大数を示す。
sv503_opensearchDWORD4+8+8同時に開ける検索(ディレクトリ列挙)の最大数を示す。
sv503_sizreqbufDWORD4+12+12各リクエストバッファのサイズをバイトで示す。
sv503_initworkitemsDWORD4+16+16起動時に確保する受信ワークアイテムの初期数を示す。
sv503_maxworkitemsDWORD4+20+20確保可能な受信ワークアイテムの最大数を示す。
sv503_rawworkitemsDWORD4+24+24RAWモード用に確保するワークアイテムの数を示す。
sv503_irpstacksizeDWORD4+28+28サーバーが割り当てるIRPスタックの段数を示す。
sv503_maxrawbuflenDWORD4+32+32RAW I/Oで使用する最大バッファ長をバイトで示す。
sv503_sessusersDWORD4+36+36サーバーに同時ログオンできるユーザーの最大数を示す。
sv503_sessconnsDWORD4+40+401セッションあたりの接続(ツリー)最大数を示す。
sv503_maxpagedmemoryusageDWORD4+44+44サーバーが使用できるページプールメモリの最大バイト数を示す。
sv503_maxnonpagedmemoryusageDWORD4+48+48サーバーが使用できる非ページプールメモリの最大バイト数を示す。
sv503_enablesoftcompatBOOL4+52+52ソフト互換モードを有効にするかを示すブール値。
sv503_enableforcedlogoffBOOL4+56+56時間外ユーザーの強制ログオフを有効にするかを示すブール値。
sv503_timesourceBOOL4+60+60このサーバーを信頼できる時刻源として通知するかを示すブール値。
sv503_acceptdownlevelapisBOOL4+64+64旧バージョンクライアントからのAPI要求を受け入れるかを示すブール値。
sv503_lmannounceBOOL4+68+68LAN Managerクライアント向けの存在通知を行うかを示すブール値。
sv503_domainLPWSTR8/4+72+72サーバーが属するドメインまたはワークグループ名を示すUnicode文字列。
sv503_maxcopyreadlenDWORD4+80+76コピー操作で先読みする最大バイト数を示す。
sv503_maxcopywritelenDWORD4+84+80コピー操作で書き込みバッファに保持する最大バイト数を示す。
sv503_minkeepsearchDWORD4+88+84未完了検索を保持する最小時間を秒単位で示す。
sv503_maxkeepsearchDWORD4+92+88未完了検索を保持する最大時間を秒単位で示す。
sv503_minkeepcomplsearchDWORD4+96+92完了済み検索を保持する最小時間を秒単位で示す。
sv503_maxkeepcomplsearchDWORD4+100+96完了済み検索を保持する最大時間を秒単位で示す。
sv503_threadcountaddDWORD4+104+100プロセッサあたりに追加するスレッド数を示す。
sv503_numblockthreadsDWORD4+108+104ブロッキングI/O用に確保するスレッド数を示す。
sv503_scavtimeoutDWORD4+112+108スカベンジャー(回収)スレッドの起動間隔を秒単位で示す。
sv503_minrcvqueueDWORD4+116+112空きワークアイテムが不足したと判断する受信キューの最小値を示す。
sv503_minfreeworkitemsDWORD4+120+116ブロッキング処理に必要な空きワークアイテムの最小数を示す。
sv503_xactmemsizeDWORD4+124+120トランザクション処理用に確保する共有メモリのサイズを示す。
sv503_threadpriorityDWORD4+128+124サーバースレッドの基本優先度を示す。
sv503_maxmpxctDWORD4+132+1281クライアントが同時発行できる未処理要求の最大数を示す。
sv503_oplockbreakwaitDWORD4+136+132日和見ロック解除要求への応答待機時間を秒単位で示す。
sv503_oplockbreakresponsewaitDWORD4+140+136クライアントの日和見ロック解除応答待ち時間を秒単位で示す。
sv503_enableoplocksBOOL4+144+140日和見ロック(oplock)を有効にするかを示すブール値。
sv503_enableoplockforcecloseBOOL4+148+144ロック解除応答がない場合に強制クローズするかを示すブール値。
sv503_enablefcbopensBOOL4+152+148同一ファイルのオープンをFCBで集約する機能を有効にするかを示すブール値。
sv503_enablerawBOOL4+156+152RAWモードI/Oを有効にするかを示すブール値。
sv503_enablesharednetdrivesBOOL4+160+156共有ネットワークドライブ機能を有効にするかを示すブール値。
sv503_minfreeconnectionsDWORD4+164+160確保しておく空き接続ブロックの最小数を示す。
sv503_maxfreeconnectionsDWORD4+168+164保持しておく空き接続ブロックの最大数を示す。

各言語での定義

#include <windows.h>

// SERVER_INFO_503  (x64 176 / x86 168 バイト)
typedef struct SERVER_INFO_503 {
    DWORD sv503_sessopens;
    DWORD sv503_sessvcs;
    DWORD sv503_opensearch;
    DWORD sv503_sizreqbuf;
    DWORD sv503_initworkitems;
    DWORD sv503_maxworkitems;
    DWORD sv503_rawworkitems;
    DWORD sv503_irpstacksize;
    DWORD sv503_maxrawbuflen;
    DWORD sv503_sessusers;
    DWORD sv503_sessconns;
    DWORD sv503_maxpagedmemoryusage;
    DWORD sv503_maxnonpagedmemoryusage;
    BOOL sv503_enablesoftcompat;
    BOOL sv503_enableforcedlogoff;
    BOOL sv503_timesource;
    BOOL sv503_acceptdownlevelapis;
    BOOL sv503_lmannounce;
    LPWSTR sv503_domain;
    DWORD sv503_maxcopyreadlen;
    DWORD sv503_maxcopywritelen;
    DWORD sv503_minkeepsearch;
    DWORD sv503_maxkeepsearch;
    DWORD sv503_minkeepcomplsearch;
    DWORD sv503_maxkeepcomplsearch;
    DWORD sv503_threadcountadd;
    DWORD sv503_numblockthreads;
    DWORD sv503_scavtimeout;
    DWORD sv503_minrcvqueue;
    DWORD sv503_minfreeworkitems;
    DWORD sv503_xactmemsize;
    DWORD sv503_threadpriority;
    DWORD sv503_maxmpxct;
    DWORD sv503_oplockbreakwait;
    DWORD sv503_oplockbreakresponsewait;
    BOOL sv503_enableoplocks;
    BOOL sv503_enableoplockforceclose;
    BOOL sv503_enablefcbopens;
    BOOL sv503_enableraw;
    BOOL sv503_enablesharednetdrives;
    DWORD sv503_minfreeconnections;
    DWORD sv503_maxfreeconnections;
} SERVER_INFO_503;
using System;
using System.Runtime.InteropServices;

[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct SERVER_INFO_503
{
    public uint sv503_sessopens;
    public uint sv503_sessvcs;
    public uint sv503_opensearch;
    public uint sv503_sizreqbuf;
    public uint sv503_initworkitems;
    public uint sv503_maxworkitems;
    public uint sv503_rawworkitems;
    public uint sv503_irpstacksize;
    public uint sv503_maxrawbuflen;
    public uint sv503_sessusers;
    public uint sv503_sessconns;
    public uint sv503_maxpagedmemoryusage;
    public uint sv503_maxnonpagedmemoryusage;
    [MarshalAs(UnmanagedType.Bool)] public bool sv503_enablesoftcompat;
    [MarshalAs(UnmanagedType.Bool)] public bool sv503_enableforcedlogoff;
    [MarshalAs(UnmanagedType.Bool)] public bool sv503_timesource;
    [MarshalAs(UnmanagedType.Bool)] public bool sv503_acceptdownlevelapis;
    [MarshalAs(UnmanagedType.Bool)] public bool sv503_lmannounce;
    public IntPtr sv503_domain;
    public uint sv503_maxcopyreadlen;
    public uint sv503_maxcopywritelen;
    public uint sv503_minkeepsearch;
    public uint sv503_maxkeepsearch;
    public uint sv503_minkeepcomplsearch;
    public uint sv503_maxkeepcomplsearch;
    public uint sv503_threadcountadd;
    public uint sv503_numblockthreads;
    public uint sv503_scavtimeout;
    public uint sv503_minrcvqueue;
    public uint sv503_minfreeworkitems;
    public uint sv503_xactmemsize;
    public uint sv503_threadpriority;
    public uint sv503_maxmpxct;
    public uint sv503_oplockbreakwait;
    public uint sv503_oplockbreakresponsewait;
    [MarshalAs(UnmanagedType.Bool)] public bool sv503_enableoplocks;
    [MarshalAs(UnmanagedType.Bool)] public bool sv503_enableoplockforceclose;
    [MarshalAs(UnmanagedType.Bool)] public bool sv503_enablefcbopens;
    [MarshalAs(UnmanagedType.Bool)] public bool sv503_enableraw;
    [MarshalAs(UnmanagedType.Bool)] public bool sv503_enablesharednetdrives;
    public uint sv503_minfreeconnections;
    public uint sv503_maxfreeconnections;
}
Imports System.Runtime.InteropServices

<StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Unicode)>
Public Structure SERVER_INFO_503
    Public sv503_sessopens As UInteger
    Public sv503_sessvcs As UInteger
    Public sv503_opensearch As UInteger
    Public sv503_sizreqbuf As UInteger
    Public sv503_initworkitems As UInteger
    Public sv503_maxworkitems As UInteger
    Public sv503_rawworkitems As UInteger
    Public sv503_irpstacksize As UInteger
    Public sv503_maxrawbuflen As UInteger
    Public sv503_sessusers As UInteger
    Public sv503_sessconns As UInteger
    Public sv503_maxpagedmemoryusage As UInteger
    Public sv503_maxnonpagedmemoryusage As UInteger
    <MarshalAs(UnmanagedType.Bool)> Public sv503_enablesoftcompat As Boolean
    <MarshalAs(UnmanagedType.Bool)> Public sv503_enableforcedlogoff As Boolean
    <MarshalAs(UnmanagedType.Bool)> Public sv503_timesource As Boolean
    <MarshalAs(UnmanagedType.Bool)> Public sv503_acceptdownlevelapis As Boolean
    <MarshalAs(UnmanagedType.Bool)> Public sv503_lmannounce As Boolean
    Public sv503_domain As IntPtr
    Public sv503_maxcopyreadlen As UInteger
    Public sv503_maxcopywritelen As UInteger
    Public sv503_minkeepsearch As UInteger
    Public sv503_maxkeepsearch As UInteger
    Public sv503_minkeepcomplsearch As UInteger
    Public sv503_maxkeepcomplsearch As UInteger
    Public sv503_threadcountadd As UInteger
    Public sv503_numblockthreads As UInteger
    Public sv503_scavtimeout As UInteger
    Public sv503_minrcvqueue As UInteger
    Public sv503_minfreeworkitems As UInteger
    Public sv503_xactmemsize As UInteger
    Public sv503_threadpriority As UInteger
    Public sv503_maxmpxct As UInteger
    Public sv503_oplockbreakwait As UInteger
    Public sv503_oplockbreakresponsewait As UInteger
    <MarshalAs(UnmanagedType.Bool)> Public sv503_enableoplocks As Boolean
    <MarshalAs(UnmanagedType.Bool)> Public sv503_enableoplockforceclose As Boolean
    <MarshalAs(UnmanagedType.Bool)> Public sv503_enablefcbopens As Boolean
    <MarshalAs(UnmanagedType.Bool)> Public sv503_enableraw As Boolean
    <MarshalAs(UnmanagedType.Bool)> Public sv503_enablesharednetdrives As Boolean
    Public sv503_minfreeconnections As UInteger
    Public sv503_maxfreeconnections As UInteger
End Structure
import ctypes
from ctypes import wintypes

class SERVER_INFO_503(ctypes.Structure):
    _fields_ = [
        ("sv503_sessopens", wintypes.DWORD),
        ("sv503_sessvcs", wintypes.DWORD),
        ("sv503_opensearch", wintypes.DWORD),
        ("sv503_sizreqbuf", wintypes.DWORD),
        ("sv503_initworkitems", wintypes.DWORD),
        ("sv503_maxworkitems", wintypes.DWORD),
        ("sv503_rawworkitems", wintypes.DWORD),
        ("sv503_irpstacksize", wintypes.DWORD),
        ("sv503_maxrawbuflen", wintypes.DWORD),
        ("sv503_sessusers", wintypes.DWORD),
        ("sv503_sessconns", wintypes.DWORD),
        ("sv503_maxpagedmemoryusage", wintypes.DWORD),
        ("sv503_maxnonpagedmemoryusage", wintypes.DWORD),
        ("sv503_enablesoftcompat", wintypes.BOOL),
        ("sv503_enableforcedlogoff", wintypes.BOOL),
        ("sv503_timesource", wintypes.BOOL),
        ("sv503_acceptdownlevelapis", wintypes.BOOL),
        ("sv503_lmannounce", wintypes.BOOL),
        ("sv503_domain", ctypes.c_void_p),
        ("sv503_maxcopyreadlen", wintypes.DWORD),
        ("sv503_maxcopywritelen", wintypes.DWORD),
        ("sv503_minkeepsearch", wintypes.DWORD),
        ("sv503_maxkeepsearch", wintypes.DWORD),
        ("sv503_minkeepcomplsearch", wintypes.DWORD),
        ("sv503_maxkeepcomplsearch", wintypes.DWORD),
        ("sv503_threadcountadd", wintypes.DWORD),
        ("sv503_numblockthreads", wintypes.DWORD),
        ("sv503_scavtimeout", wintypes.DWORD),
        ("sv503_minrcvqueue", wintypes.DWORD),
        ("sv503_minfreeworkitems", wintypes.DWORD),
        ("sv503_xactmemsize", wintypes.DWORD),
        ("sv503_threadpriority", wintypes.DWORD),
        ("sv503_maxmpxct", wintypes.DWORD),
        ("sv503_oplockbreakwait", wintypes.DWORD),
        ("sv503_oplockbreakresponsewait", wintypes.DWORD),
        ("sv503_enableoplocks", wintypes.BOOL),
        ("sv503_enableoplockforceclose", wintypes.BOOL),
        ("sv503_enablefcbopens", wintypes.BOOL),
        ("sv503_enableraw", wintypes.BOOL),
        ("sv503_enablesharednetdrives", wintypes.BOOL),
        ("sv503_minfreeconnections", wintypes.DWORD),
        ("sv503_maxfreeconnections", wintypes.DWORD),
    ]
#[repr(C)]
pub struct SERVER_INFO_503 {
    pub sv503_sessopens: u32,
    pub sv503_sessvcs: u32,
    pub sv503_opensearch: u32,
    pub sv503_sizreqbuf: u32,
    pub sv503_initworkitems: u32,
    pub sv503_maxworkitems: u32,
    pub sv503_rawworkitems: u32,
    pub sv503_irpstacksize: u32,
    pub sv503_maxrawbuflen: u32,
    pub sv503_sessusers: u32,
    pub sv503_sessconns: u32,
    pub sv503_maxpagedmemoryusage: u32,
    pub sv503_maxnonpagedmemoryusage: u32,
    pub sv503_enablesoftcompat: i32,
    pub sv503_enableforcedlogoff: i32,
    pub sv503_timesource: i32,
    pub sv503_acceptdownlevelapis: i32,
    pub sv503_lmannounce: i32,
    pub sv503_domain: *mut core::ffi::c_void,
    pub sv503_maxcopyreadlen: u32,
    pub sv503_maxcopywritelen: u32,
    pub sv503_minkeepsearch: u32,
    pub sv503_maxkeepsearch: u32,
    pub sv503_minkeepcomplsearch: u32,
    pub sv503_maxkeepcomplsearch: u32,
    pub sv503_threadcountadd: u32,
    pub sv503_numblockthreads: u32,
    pub sv503_scavtimeout: u32,
    pub sv503_minrcvqueue: u32,
    pub sv503_minfreeworkitems: u32,
    pub sv503_xactmemsize: u32,
    pub sv503_threadpriority: u32,
    pub sv503_maxmpxct: u32,
    pub sv503_oplockbreakwait: u32,
    pub sv503_oplockbreakresponsewait: u32,
    pub sv503_enableoplocks: i32,
    pub sv503_enableoplockforceclose: i32,
    pub sv503_enablefcbopens: i32,
    pub sv503_enableraw: i32,
    pub sv503_enablesharednetdrives: i32,
    pub sv503_minfreeconnections: u32,
    pub sv503_maxfreeconnections: u32,
}
import "golang.org/x/sys/windows"

type SERVER_INFO_503 struct {
	sv503_sessopens uint32
	sv503_sessvcs uint32
	sv503_opensearch uint32
	sv503_sizreqbuf uint32
	sv503_initworkitems uint32
	sv503_maxworkitems uint32
	sv503_rawworkitems uint32
	sv503_irpstacksize uint32
	sv503_maxrawbuflen uint32
	sv503_sessusers uint32
	sv503_sessconns uint32
	sv503_maxpagedmemoryusage uint32
	sv503_maxnonpagedmemoryusage uint32
	sv503_enablesoftcompat int32
	sv503_enableforcedlogoff int32
	sv503_timesource int32
	sv503_acceptdownlevelapis int32
	sv503_lmannounce int32
	sv503_domain uintptr
	sv503_maxcopyreadlen uint32
	sv503_maxcopywritelen uint32
	sv503_minkeepsearch uint32
	sv503_maxkeepsearch uint32
	sv503_minkeepcomplsearch uint32
	sv503_maxkeepcomplsearch uint32
	sv503_threadcountadd uint32
	sv503_numblockthreads uint32
	sv503_scavtimeout uint32
	sv503_minrcvqueue uint32
	sv503_minfreeworkitems uint32
	sv503_xactmemsize uint32
	sv503_threadpriority uint32
	sv503_maxmpxct uint32
	sv503_oplockbreakwait uint32
	sv503_oplockbreakresponsewait uint32
	sv503_enableoplocks int32
	sv503_enableoplockforceclose int32
	sv503_enablefcbopens int32
	sv503_enableraw int32
	sv503_enablesharednetdrives int32
	sv503_minfreeconnections uint32
	sv503_maxfreeconnections uint32
}
type
  SERVER_INFO_503 = record
    sv503_sessopens: DWORD;
    sv503_sessvcs: DWORD;
    sv503_opensearch: DWORD;
    sv503_sizreqbuf: DWORD;
    sv503_initworkitems: DWORD;
    sv503_maxworkitems: DWORD;
    sv503_rawworkitems: DWORD;
    sv503_irpstacksize: DWORD;
    sv503_maxrawbuflen: DWORD;
    sv503_sessusers: DWORD;
    sv503_sessconns: DWORD;
    sv503_maxpagedmemoryusage: DWORD;
    sv503_maxnonpagedmemoryusage: DWORD;
    sv503_enablesoftcompat: BOOL;
    sv503_enableforcedlogoff: BOOL;
    sv503_timesource: BOOL;
    sv503_acceptdownlevelapis: BOOL;
    sv503_lmannounce: BOOL;
    sv503_domain: Pointer;
    sv503_maxcopyreadlen: DWORD;
    sv503_maxcopywritelen: DWORD;
    sv503_minkeepsearch: DWORD;
    sv503_maxkeepsearch: DWORD;
    sv503_minkeepcomplsearch: DWORD;
    sv503_maxkeepcomplsearch: DWORD;
    sv503_threadcountadd: DWORD;
    sv503_numblockthreads: DWORD;
    sv503_scavtimeout: DWORD;
    sv503_minrcvqueue: DWORD;
    sv503_minfreeworkitems: DWORD;
    sv503_xactmemsize: DWORD;
    sv503_threadpriority: DWORD;
    sv503_maxmpxct: DWORD;
    sv503_oplockbreakwait: DWORD;
    sv503_oplockbreakresponsewait: DWORD;
    sv503_enableoplocks: BOOL;
    sv503_enableoplockforceclose: BOOL;
    sv503_enablefcbopens: BOOL;
    sv503_enableraw: BOOL;
    sv503_enablesharednetdrives: BOOL;
    sv503_minfreeconnections: DWORD;
    sv503_maxfreeconnections: DWORD;
  end;
const SERVER_INFO_503 = extern struct {
    sv503_sessopens: u32,
    sv503_sessvcs: u32,
    sv503_opensearch: u32,
    sv503_sizreqbuf: u32,
    sv503_initworkitems: u32,
    sv503_maxworkitems: u32,
    sv503_rawworkitems: u32,
    sv503_irpstacksize: u32,
    sv503_maxrawbuflen: u32,
    sv503_sessusers: u32,
    sv503_sessconns: u32,
    sv503_maxpagedmemoryusage: u32,
    sv503_maxnonpagedmemoryusage: u32,
    sv503_enablesoftcompat: i32,
    sv503_enableforcedlogoff: i32,
    sv503_timesource: i32,
    sv503_acceptdownlevelapis: i32,
    sv503_lmannounce: i32,
    sv503_domain: ?*anyopaque,
    sv503_maxcopyreadlen: u32,
    sv503_maxcopywritelen: u32,
    sv503_minkeepsearch: u32,
    sv503_maxkeepsearch: u32,
    sv503_minkeepcomplsearch: u32,
    sv503_maxkeepcomplsearch: u32,
    sv503_threadcountadd: u32,
    sv503_numblockthreads: u32,
    sv503_scavtimeout: u32,
    sv503_minrcvqueue: u32,
    sv503_minfreeworkitems: u32,
    sv503_xactmemsize: u32,
    sv503_threadpriority: u32,
    sv503_maxmpxct: u32,
    sv503_oplockbreakwait: u32,
    sv503_oplockbreakresponsewait: u32,
    sv503_enableoplocks: i32,
    sv503_enableoplockforceclose: i32,
    sv503_enablefcbopens: i32,
    sv503_enableraw: i32,
    sv503_enablesharednetdrives: i32,
    sv503_minfreeconnections: u32,
    sv503_maxfreeconnections: u32,
};
type
  SERVER_INFO_503 {.bycopy.} = object
    sv503_sessopens: uint32
    sv503_sessvcs: uint32
    sv503_opensearch: uint32
    sv503_sizreqbuf: uint32
    sv503_initworkitems: uint32
    sv503_maxworkitems: uint32
    sv503_rawworkitems: uint32
    sv503_irpstacksize: uint32
    sv503_maxrawbuflen: uint32
    sv503_sessusers: uint32
    sv503_sessconns: uint32
    sv503_maxpagedmemoryusage: uint32
    sv503_maxnonpagedmemoryusage: uint32
    sv503_enablesoftcompat: int32
    sv503_enableforcedlogoff: int32
    sv503_timesource: int32
    sv503_acceptdownlevelapis: int32
    sv503_lmannounce: int32
    sv503_domain: pointer
    sv503_maxcopyreadlen: uint32
    sv503_maxcopywritelen: uint32
    sv503_minkeepsearch: uint32
    sv503_maxkeepsearch: uint32
    sv503_minkeepcomplsearch: uint32
    sv503_maxkeepcomplsearch: uint32
    sv503_threadcountadd: uint32
    sv503_numblockthreads: uint32
    sv503_scavtimeout: uint32
    sv503_minrcvqueue: uint32
    sv503_minfreeworkitems: uint32
    sv503_xactmemsize: uint32
    sv503_threadpriority: uint32
    sv503_maxmpxct: uint32
    sv503_oplockbreakwait: uint32
    sv503_oplockbreakresponsewait: uint32
    sv503_enableoplocks: int32
    sv503_enableoplockforceclose: int32
    sv503_enablefcbopens: int32
    sv503_enableraw: int32
    sv503_enablesharednetdrives: int32
    sv503_minfreeconnections: uint32
    sv503_maxfreeconnections: uint32
struct SERVER_INFO_503
{
    uint sv503_sessopens;
    uint sv503_sessvcs;
    uint sv503_opensearch;
    uint sv503_sizreqbuf;
    uint sv503_initworkitems;
    uint sv503_maxworkitems;
    uint sv503_rawworkitems;
    uint sv503_irpstacksize;
    uint sv503_maxrawbuflen;
    uint sv503_sessusers;
    uint sv503_sessconns;
    uint sv503_maxpagedmemoryusage;
    uint sv503_maxnonpagedmemoryusage;
    int sv503_enablesoftcompat;
    int sv503_enableforcedlogoff;
    int sv503_timesource;
    int sv503_acceptdownlevelapis;
    int sv503_lmannounce;
    void* sv503_domain;
    uint sv503_maxcopyreadlen;
    uint sv503_maxcopywritelen;
    uint sv503_minkeepsearch;
    uint sv503_maxkeepsearch;
    uint sv503_minkeepcomplsearch;
    uint sv503_maxkeepcomplsearch;
    uint sv503_threadcountadd;
    uint sv503_numblockthreads;
    uint sv503_scavtimeout;
    uint sv503_minrcvqueue;
    uint sv503_minfreeworkitems;
    uint sv503_xactmemsize;
    uint sv503_threadpriority;
    uint sv503_maxmpxct;
    uint sv503_oplockbreakwait;
    uint sv503_oplockbreakresponsewait;
    int sv503_enableoplocks;
    int sv503_enableoplockforceclose;
    int sv503_enablefcbopens;
    int sv503_enableraw;
    int sv503_enablesharednetdrives;
    uint sv503_minfreeconnections;
    uint sv503_maxfreeconnections;
}

HSP用 定義

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

; HSP3.7/3.8 は構造体機能が無いため、4byte整数の配列変数で操作します。(x86 レイアウト)
; SERVER_INFO_503 サイズ: 168 バイト(x86)
dim st, 42    ; 4byte整数×42(構造体サイズ 168 / 4 切り上げ)
; sv503_sessopens : DWORD (+0, 4byte)  st.0 = 値  /  値 = st.0   (lpoke/lpeek も可)
; sv503_sessvcs : DWORD (+4, 4byte)  st.1 = 値  /  値 = st.1   (lpoke/lpeek も可)
; sv503_opensearch : DWORD (+8, 4byte)  st.2 = 値  /  値 = st.2   (lpoke/lpeek も可)
; sv503_sizreqbuf : DWORD (+12, 4byte)  st.3 = 値  /  値 = st.3   (lpoke/lpeek も可)
; sv503_initworkitems : DWORD (+16, 4byte)  st.4 = 値  /  値 = st.4   (lpoke/lpeek も可)
; sv503_maxworkitems : DWORD (+20, 4byte)  st.5 = 値  /  値 = st.5   (lpoke/lpeek も可)
; sv503_rawworkitems : DWORD (+24, 4byte)  st.6 = 値  /  値 = st.6   (lpoke/lpeek も可)
; sv503_irpstacksize : DWORD (+28, 4byte)  st.7 = 値  /  値 = st.7   (lpoke/lpeek も可)
; sv503_maxrawbuflen : DWORD (+32, 4byte)  st.8 = 値  /  値 = st.8   (lpoke/lpeek も可)
; sv503_sessusers : DWORD (+36, 4byte)  st.9 = 値  /  値 = st.9   (lpoke/lpeek も可)
; sv503_sessconns : DWORD (+40, 4byte)  st.10 = 値  /  値 = st.10   (lpoke/lpeek も可)
; sv503_maxpagedmemoryusage : DWORD (+44, 4byte)  st.11 = 値  /  値 = st.11   (lpoke/lpeek も可)
; sv503_maxnonpagedmemoryusage : DWORD (+48, 4byte)  st.12 = 値  /  値 = st.12   (lpoke/lpeek も可)
; sv503_enablesoftcompat : BOOL (+52, 4byte)  st.13 = 値  /  値 = st.13   (lpoke/lpeek も可)
; sv503_enableforcedlogoff : BOOL (+56, 4byte)  st.14 = 値  /  値 = st.14   (lpoke/lpeek も可)
; sv503_timesource : BOOL (+60, 4byte)  st.15 = 値  /  値 = st.15   (lpoke/lpeek も可)
; sv503_acceptdownlevelapis : BOOL (+64, 4byte)  st.16 = 値  /  値 = st.16   (lpoke/lpeek も可)
; sv503_lmannounce : BOOL (+68, 4byte)  st.17 = 値  /  値 = st.17   (lpoke/lpeek も可)
; sv503_domain : LPWSTR (+72, 4byte)  st.18 = 値  /  値 = st.18   (lpoke/lpeek も可)
; sv503_maxcopyreadlen : DWORD (+76, 4byte)  st.19 = 値  /  値 = st.19   (lpoke/lpeek も可)
; sv503_maxcopywritelen : DWORD (+80, 4byte)  st.20 = 値  /  値 = st.20   (lpoke/lpeek も可)
; sv503_minkeepsearch : DWORD (+84, 4byte)  st.21 = 値  /  値 = st.21   (lpoke/lpeek も可)
; sv503_maxkeepsearch : DWORD (+88, 4byte)  st.22 = 値  /  値 = st.22   (lpoke/lpeek も可)
; sv503_minkeepcomplsearch : DWORD (+92, 4byte)  st.23 = 値  /  値 = st.23   (lpoke/lpeek も可)
; sv503_maxkeepcomplsearch : DWORD (+96, 4byte)  st.24 = 値  /  値 = st.24   (lpoke/lpeek も可)
; sv503_threadcountadd : DWORD (+100, 4byte)  st.25 = 値  /  値 = st.25   (lpoke/lpeek も可)
; sv503_numblockthreads : DWORD (+104, 4byte)  st.26 = 値  /  値 = st.26   (lpoke/lpeek も可)
; sv503_scavtimeout : DWORD (+108, 4byte)  st.27 = 値  /  値 = st.27   (lpoke/lpeek も可)
; sv503_minrcvqueue : DWORD (+112, 4byte)  st.28 = 値  /  値 = st.28   (lpoke/lpeek も可)
; sv503_minfreeworkitems : DWORD (+116, 4byte)  st.29 = 値  /  値 = st.29   (lpoke/lpeek も可)
; sv503_xactmemsize : DWORD (+120, 4byte)  st.30 = 値  /  値 = st.30   (lpoke/lpeek も可)
; sv503_threadpriority : DWORD (+124, 4byte)  st.31 = 値  /  値 = st.31   (lpoke/lpeek も可)
; sv503_maxmpxct : DWORD (+128, 4byte)  st.32 = 値  /  値 = st.32   (lpoke/lpeek も可)
; sv503_oplockbreakwait : DWORD (+132, 4byte)  st.33 = 値  /  値 = st.33   (lpoke/lpeek も可)
; sv503_oplockbreakresponsewait : DWORD (+136, 4byte)  st.34 = 値  /  値 = st.34   (lpoke/lpeek も可)
; sv503_enableoplocks : BOOL (+140, 4byte)  st.35 = 値  /  値 = st.35   (lpoke/lpeek も可)
; sv503_enableoplockforceclose : BOOL (+144, 4byte)  st.36 = 値  /  値 = st.36   (lpoke/lpeek も可)
; sv503_enablefcbopens : BOOL (+148, 4byte)  st.37 = 値  /  値 = st.37   (lpoke/lpeek も可)
; sv503_enableraw : BOOL (+152, 4byte)  st.38 = 値  /  値 = st.38   (lpoke/lpeek も可)
; sv503_enablesharednetdrives : BOOL (+156, 4byte)  st.39 = 値  /  値 = st.39   (lpoke/lpeek も可)
; sv503_minfreeconnections : DWORD (+160, 4byte)  st.40 = 値  /  値 = st.40   (lpoke/lpeek も可)
; sv503_maxfreeconnections : DWORD (+164, 4byte)  st.41 = 値  /  値 = st.41   (lpoke/lpeek も可)
; ※4byte境界の整数は添字 st.N(N=オフセット/4)で読み書き可。それ以外は peek/poke 系を使用。
; HSP3.7/3.8 は構造体機能が無いため、4byte整数の配列変数で操作します。(x64 レイアウト)
; SERVER_INFO_503 サイズ: 176 バイト(x64)
dim st, 44    ; 4byte整数×44(構造体サイズ 176 / 4 切り上げ)
; sv503_sessopens : DWORD (+0, 4byte)  st.0 = 値  /  値 = st.0   (lpoke/lpeek も可)
; sv503_sessvcs : DWORD (+4, 4byte)  st.1 = 値  /  値 = st.1   (lpoke/lpeek も可)
; sv503_opensearch : DWORD (+8, 4byte)  st.2 = 値  /  値 = st.2   (lpoke/lpeek も可)
; sv503_sizreqbuf : DWORD (+12, 4byte)  st.3 = 値  /  値 = st.3   (lpoke/lpeek も可)
; sv503_initworkitems : DWORD (+16, 4byte)  st.4 = 値  /  値 = st.4   (lpoke/lpeek も可)
; sv503_maxworkitems : DWORD (+20, 4byte)  st.5 = 値  /  値 = st.5   (lpoke/lpeek も可)
; sv503_rawworkitems : DWORD (+24, 4byte)  st.6 = 値  /  値 = st.6   (lpoke/lpeek も可)
; sv503_irpstacksize : DWORD (+28, 4byte)  st.7 = 値  /  値 = st.7   (lpoke/lpeek も可)
; sv503_maxrawbuflen : DWORD (+32, 4byte)  st.8 = 値  /  値 = st.8   (lpoke/lpeek も可)
; sv503_sessusers : DWORD (+36, 4byte)  st.9 = 値  /  値 = st.9   (lpoke/lpeek も可)
; sv503_sessconns : DWORD (+40, 4byte)  st.10 = 値  /  値 = st.10   (lpoke/lpeek も可)
; sv503_maxpagedmemoryusage : DWORD (+44, 4byte)  st.11 = 値  /  値 = st.11   (lpoke/lpeek も可)
; sv503_maxnonpagedmemoryusage : DWORD (+48, 4byte)  st.12 = 値  /  値 = st.12   (lpoke/lpeek も可)
; sv503_enablesoftcompat : BOOL (+52, 4byte)  st.13 = 値  /  値 = st.13   (lpoke/lpeek も可)
; sv503_enableforcedlogoff : BOOL (+56, 4byte)  st.14 = 値  /  値 = st.14   (lpoke/lpeek も可)
; sv503_timesource : BOOL (+60, 4byte)  st.15 = 値  /  値 = st.15   (lpoke/lpeek も可)
; sv503_acceptdownlevelapis : BOOL (+64, 4byte)  st.16 = 値  /  値 = st.16   (lpoke/lpeek も可)
; sv503_lmannounce : BOOL (+68, 4byte)  st.17 = 値  /  値 = st.17   (lpoke/lpeek も可)
; sv503_domain : LPWSTR (+72, 8byte)  qpoke st,72,値 / qpeek(st,72)  ※IronHSPのみ。3.7/3.8は lpoke st,72,下位 : lpoke st,76,上位
; sv503_maxcopyreadlen : DWORD (+80, 4byte)  st.20 = 値  /  値 = st.20   (lpoke/lpeek も可)
; sv503_maxcopywritelen : DWORD (+84, 4byte)  st.21 = 値  /  値 = st.21   (lpoke/lpeek も可)
; sv503_minkeepsearch : DWORD (+88, 4byte)  st.22 = 値  /  値 = st.22   (lpoke/lpeek も可)
; sv503_maxkeepsearch : DWORD (+92, 4byte)  st.23 = 値  /  値 = st.23   (lpoke/lpeek も可)
; sv503_minkeepcomplsearch : DWORD (+96, 4byte)  st.24 = 値  /  値 = st.24   (lpoke/lpeek も可)
; sv503_maxkeepcomplsearch : DWORD (+100, 4byte)  st.25 = 値  /  値 = st.25   (lpoke/lpeek も可)
; sv503_threadcountadd : DWORD (+104, 4byte)  st.26 = 値  /  値 = st.26   (lpoke/lpeek も可)
; sv503_numblockthreads : DWORD (+108, 4byte)  st.27 = 値  /  値 = st.27   (lpoke/lpeek も可)
; sv503_scavtimeout : DWORD (+112, 4byte)  st.28 = 値  /  値 = st.28   (lpoke/lpeek も可)
; sv503_minrcvqueue : DWORD (+116, 4byte)  st.29 = 値  /  値 = st.29   (lpoke/lpeek も可)
; sv503_minfreeworkitems : DWORD (+120, 4byte)  st.30 = 値  /  値 = st.30   (lpoke/lpeek も可)
; sv503_xactmemsize : DWORD (+124, 4byte)  st.31 = 値  /  値 = st.31   (lpoke/lpeek も可)
; sv503_threadpriority : DWORD (+128, 4byte)  st.32 = 値  /  値 = st.32   (lpoke/lpeek も可)
; sv503_maxmpxct : DWORD (+132, 4byte)  st.33 = 値  /  値 = st.33   (lpoke/lpeek も可)
; sv503_oplockbreakwait : DWORD (+136, 4byte)  st.34 = 値  /  値 = st.34   (lpoke/lpeek も可)
; sv503_oplockbreakresponsewait : DWORD (+140, 4byte)  st.35 = 値  /  値 = st.35   (lpoke/lpeek も可)
; sv503_enableoplocks : BOOL (+144, 4byte)  st.36 = 値  /  値 = st.36   (lpoke/lpeek も可)
; sv503_enableoplockforceclose : BOOL (+148, 4byte)  st.37 = 値  /  値 = st.37   (lpoke/lpeek も可)
; sv503_enablefcbopens : BOOL (+152, 4byte)  st.38 = 値  /  値 = st.38   (lpoke/lpeek も可)
; sv503_enableraw : BOOL (+156, 4byte)  st.39 = 値  /  値 = st.39   (lpoke/lpeek も可)
; sv503_enablesharednetdrives : BOOL (+160, 4byte)  st.40 = 値  /  値 = st.40   (lpoke/lpeek も可)
; sv503_minfreeconnections : DWORD (+164, 4byte)  st.41 = 値  /  値 = st.41   (lpoke/lpeek も可)
; sv503_maxfreeconnections : DWORD (+168, 4byte)  st.42 = 値  /  値 = st.42   (lpoke/lpeek も可)
; ※4byte境界の整数は添字 st.N(N=オフセット/4)で読み書き可。それ以外は peek/poke 系を使用。
; IronHSP は NSTRUCT(構造体)をサポート。32bit/64bit どちらでも同じコードで動作します。
#defstruct global SERVER_INFO_503
    #field int sv503_sessopens
    #field int sv503_sessvcs
    #field int sv503_opensearch
    #field int sv503_sizreqbuf
    #field int sv503_initworkitems
    #field int sv503_maxworkitems
    #field int sv503_rawworkitems
    #field int sv503_irpstacksize
    #field int sv503_maxrawbuflen
    #field int sv503_sessusers
    #field int sv503_sessconns
    #field int sv503_maxpagedmemoryusage
    #field int sv503_maxnonpagedmemoryusage
    #field bool sv503_enablesoftcompat
    #field bool sv503_enableforcedlogoff
    #field bool sv503_timesource
    #field bool sv503_acceptdownlevelapis
    #field bool sv503_lmannounce
    #field intptr sv503_domain
    #field int sv503_maxcopyreadlen
    #field int sv503_maxcopywritelen
    #field int sv503_minkeepsearch
    #field int sv503_maxkeepsearch
    #field int sv503_minkeepcomplsearch
    #field int sv503_maxkeepcomplsearch
    #field int sv503_threadcountadd
    #field int sv503_numblockthreads
    #field int sv503_scavtimeout
    #field int sv503_minrcvqueue
    #field int sv503_minfreeworkitems
    #field int sv503_xactmemsize
    #field int sv503_threadpriority
    #field int sv503_maxmpxct
    #field int sv503_oplockbreakwait
    #field int sv503_oplockbreakresponsewait
    #field bool sv503_enableoplocks
    #field bool sv503_enableoplockforceclose
    #field bool sv503_enablefcbopens
    #field bool sv503_enableraw
    #field bool sv503_enablesharednetdrives
    #field int sv503_minfreeconnections
    #field int sv503_maxfreeconnections
#endstruct

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