ホーム › NetworkManagement.NetManagement › SERVER_INFO_503
SERVER_INFO_503
構造体サイズ=各フィールドのバイト数(x64/x86 で異なる場合は x64/x86 と併記)。x64/x86 列=フィールドのバイトオフセット(HSPで dupptr / lpoke / wpoke 等に使用)。
フィールド
| フィールド | 型 | サイズ | x64 | x86 | 説明 |
|---|---|---|---|---|---|
| sv503_sessopens | DWORD | 4 | +0 | +0 | 1セッションあたりに開けるファイル/デバイスの最大数を示す。 |
| sv503_sessvcs | DWORD | 4 | +4 | +4 | 1クライアントからの仮想回線(セッション)の最大数を示す。 |
| sv503_opensearch | DWORD | 4 | +8 | +8 | 同時に開ける検索(ディレクトリ列挙)の最大数を示す。 |
| sv503_sizreqbuf | DWORD | 4 | +12 | +12 | 各リクエストバッファのサイズをバイトで示す。 |
| sv503_initworkitems | DWORD | 4 | +16 | +16 | 起動時に確保する受信ワークアイテムの初期数を示す。 |
| sv503_maxworkitems | DWORD | 4 | +20 | +20 | 確保可能な受信ワークアイテムの最大数を示す。 |
| sv503_rawworkitems | DWORD | 4 | +24 | +24 | RAWモード用に確保するワークアイテムの数を示す。 |
| sv503_irpstacksize | DWORD | 4 | +28 | +28 | サーバーが割り当てるIRPスタックの段数を示す。 |
| sv503_maxrawbuflen | DWORD | 4 | +32 | +32 | RAW I/Oで使用する最大バッファ長をバイトで示す。 |
| sv503_sessusers | DWORD | 4 | +36 | +36 | サーバーに同時ログオンできるユーザーの最大数を示す。 |
| sv503_sessconns | DWORD | 4 | +40 | +40 | 1セッションあたりの接続(ツリー)最大数を示す。 |
| sv503_maxpagedmemoryusage | DWORD | 4 | +44 | +44 | サーバーが使用できるページプールメモリの最大バイト数を示す。 |
| sv503_maxnonpagedmemoryusage | DWORD | 4 | +48 | +48 | サーバーが使用できる非ページプールメモリの最大バイト数を示す。 |
| sv503_enablesoftcompat | BOOL | 4 | +52 | +52 | ソフト互換モードを有効にするかを示すブール値。 |
| sv503_enableforcedlogoff | BOOL | 4 | +56 | +56 | 時間外ユーザーの強制ログオフを有効にするかを示すブール値。 |
| sv503_timesource | BOOL | 4 | +60 | +60 | このサーバーを信頼できる時刻源として通知するかを示すブール値。 |
| sv503_acceptdownlevelapis | BOOL | 4 | +64 | +64 | 旧バージョンクライアントからのAPI要求を受け入れるかを示すブール値。 |
| sv503_lmannounce | BOOL | 4 | +68 | +68 | LAN Managerクライアント向けの存在通知を行うかを示すブール値。 |
| sv503_domain | LPWSTR | 8/4 | +72 | +72 | サーバーが属するドメインまたはワークグループ名を示すUnicode文字列。 |
| sv503_maxcopyreadlen | DWORD | 4 | +80 | +76 | コピー操作で先読みする最大バイト数を示す。 |
| sv503_maxcopywritelen | DWORD | 4 | +84 | +80 | コピー操作で書き込みバッファに保持する最大バイト数を示す。 |
| sv503_minkeepsearch | DWORD | 4 | +88 | +84 | 未完了検索を保持する最小時間を秒単位で示す。 |
| sv503_maxkeepsearch | DWORD | 4 | +92 | +88 | 未完了検索を保持する最大時間を秒単位で示す。 |
| sv503_minkeepcomplsearch | DWORD | 4 | +96 | +92 | 完了済み検索を保持する最小時間を秒単位で示す。 |
| sv503_maxkeepcomplsearch | DWORD | 4 | +100 | +96 | 完了済み検索を保持する最大時間を秒単位で示す。 |
| sv503_threadcountadd | DWORD | 4 | +104 | +100 | プロセッサあたりに追加するスレッド数を示す。 |
| sv503_numblockthreads | DWORD | 4 | +108 | +104 | ブロッキングI/O用に確保するスレッド数を示す。 |
| sv503_scavtimeout | DWORD | 4 | +112 | +108 | スカベンジャー(回収)スレッドの起動間隔を秒単位で示す。 |
| sv503_minrcvqueue | DWORD | 4 | +116 | +112 | 空きワークアイテムが不足したと判断する受信キューの最小値を示す。 |
| sv503_minfreeworkitems | DWORD | 4 | +120 | +116 | ブロッキング処理に必要な空きワークアイテムの最小数を示す。 |
| sv503_xactmemsize | DWORD | 4 | +124 | +120 | トランザクション処理用に確保する共有メモリのサイズを示す。 |
| sv503_threadpriority | DWORD | 4 | +128 | +124 | サーバースレッドの基本優先度を示す。 |
| sv503_maxmpxct | DWORD | 4 | +132 | +128 | 1クライアントが同時発行できる未処理要求の最大数を示す。 |
| sv503_oplockbreakwait | DWORD | 4 | +136 | +132 | 日和見ロック解除要求への応答待機時間を秒単位で示す。 |
| sv503_oplockbreakresponsewait | DWORD | 4 | +140 | +136 | クライアントの日和見ロック解除応答待ち時間を秒単位で示す。 |
| sv503_enableoplocks | BOOL | 4 | +144 | +140 | 日和見ロック(oplock)を有効にするかを示すブール値。 |
| sv503_enableoplockforceclose | BOOL | 4 | +148 | +144 | ロック解除応答がない場合に強制クローズするかを示すブール値。 |
| sv503_enablefcbopens | BOOL | 4 | +152 | +148 | 同一ファイルのオープンをFCBで集約する機能を有効にするかを示すブール値。 |
| sv503_enableraw | BOOL | 4 | +156 | +152 | RAWモードI/Oを有効にするかを示すブール値。 |
| sv503_enablesharednetdrives | BOOL | 4 | +160 | +156 | 共有ネットワークドライブ機能を有効にするかを示すブール値。 |
| sv503_minfreeconnections | DWORD | 4 | +164 | +160 | 確保しておく空き接続ブロックの最小数を示す。 |
| sv503_maxfreeconnections | DWORD | 4 | +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 Structureimport 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: uint32struct 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