ホーム › NetworkManagement.NetManagement › SERVER_INFO_502
SERVER_INFO_502
構造体サイズ=各フィールドのバイト数(x64/x86 で異なる場合は x64/x86 と併記)。x64/x86 列=フィールドのバイトオフセット(HSPで dupptr / lpoke / wpoke 等に使用)。
フィールド
| フィールド | 型 | サイズ | x64 | x86 | 説明 |
|---|---|---|---|---|---|
| sv502_sessopens | DWORD | 4 | +0 | +0 | 1セッションあたりに開けるファイル/デバイスの最大数を示す。 |
| sv502_sessvcs | DWORD | 4 | +4 | +4 | 1クライアントからの仮想回線(セッション)の最大数を示す。 |
| sv502_opensearch | DWORD | 4 | +8 | +8 | 同時に開ける検索(ディレクトリ列挙)の最大数を示す。 |
| sv502_sizreqbuf | DWORD | 4 | +12 | +12 | 各リクエストバッファのサイズをバイトで示す。 |
| sv502_initworkitems | DWORD | 4 | +16 | +16 | 起動時に確保する受信ワークアイテムの初期数を示す。 |
| sv502_maxworkitems | DWORD | 4 | +20 | +20 | 確保可能な受信ワークアイテムの最大数を示す。 |
| sv502_rawworkitems | DWORD | 4 | +24 | +24 | RAWモード用に確保するワークアイテムの数を示す。 |
| sv502_irpstacksize | DWORD | 4 | +28 | +28 | サーバーが割り当てるIRPスタックの段数を示す。 |
| sv502_maxrawbuflen | DWORD | 4 | +32 | +32 | RAW I/Oで使用する最大バッファ長をバイトで示す。 |
| sv502_sessusers | DWORD | 4 | +36 | +36 | サーバーに同時ログオンできるユーザーの最大数を示す。 |
| sv502_sessconns | DWORD | 4 | +40 | +40 | 1セッションあたりの接続(ツリー)最大数を示す。 |
| sv502_maxpagedmemoryusage | DWORD | 4 | +44 | +44 | サーバーが使用できるページプールメモリの最大バイト数を示す。 |
| sv502_maxnonpagedmemoryusage | DWORD | 4 | +48 | +48 | サーバーが使用できる非ページプールメモリの最大バイト数を示す。 |
| sv502_enablesoftcompat | BOOL | 4 | +52 | +52 | ソフト互換(SHARE.EXE互換)モードを有効にするかを示すブール値。 |
| sv502_enableforcedlogoff | BOOL | 4 | +56 | +56 | 時間外ユーザーの強制ログオフを有効にするかを示すブール値。 |
| sv502_timesource | BOOL | 4 | +60 | +60 | このサーバーを信頼できる時刻源として通知するかを示すブール値。 |
| sv502_acceptdownlevelapis | BOOL | 4 | +64 | +64 | 旧バージョンクライアントからのAPI要求を受け入れるかを示すブール値。 |
| sv502_lmannounce | BOOL | 4 | +68 | +68 | LAN Managerクライアント向けの存在通知を行うかを示すブール値。 |
各言語での定義
#include <windows.h>
// SERVER_INFO_502 (x64 72 / x86 72 バイト)
typedef struct SERVER_INFO_502 {
DWORD sv502_sessopens;
DWORD sv502_sessvcs;
DWORD sv502_opensearch;
DWORD sv502_sizreqbuf;
DWORD sv502_initworkitems;
DWORD sv502_maxworkitems;
DWORD sv502_rawworkitems;
DWORD sv502_irpstacksize;
DWORD sv502_maxrawbuflen;
DWORD sv502_sessusers;
DWORD sv502_sessconns;
DWORD sv502_maxpagedmemoryusage;
DWORD sv502_maxnonpagedmemoryusage;
BOOL sv502_enablesoftcompat;
BOOL sv502_enableforcedlogoff;
BOOL sv502_timesource;
BOOL sv502_acceptdownlevelapis;
BOOL sv502_lmannounce;
} SERVER_INFO_502;using System;
using System.Runtime.InteropServices;
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct SERVER_INFO_502
{
public uint sv502_sessopens;
public uint sv502_sessvcs;
public uint sv502_opensearch;
public uint sv502_sizreqbuf;
public uint sv502_initworkitems;
public uint sv502_maxworkitems;
public uint sv502_rawworkitems;
public uint sv502_irpstacksize;
public uint sv502_maxrawbuflen;
public uint sv502_sessusers;
public uint sv502_sessconns;
public uint sv502_maxpagedmemoryusage;
public uint sv502_maxnonpagedmemoryusage;
[MarshalAs(UnmanagedType.Bool)] public bool sv502_enablesoftcompat;
[MarshalAs(UnmanagedType.Bool)] public bool sv502_enableforcedlogoff;
[MarshalAs(UnmanagedType.Bool)] public bool sv502_timesource;
[MarshalAs(UnmanagedType.Bool)] public bool sv502_acceptdownlevelapis;
[MarshalAs(UnmanagedType.Bool)] public bool sv502_lmannounce;
}Imports System.Runtime.InteropServices
<StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Unicode)>
Public Structure SERVER_INFO_502
Public sv502_sessopens As UInteger
Public sv502_sessvcs As UInteger
Public sv502_opensearch As UInteger
Public sv502_sizreqbuf As UInteger
Public sv502_initworkitems As UInteger
Public sv502_maxworkitems As UInteger
Public sv502_rawworkitems As UInteger
Public sv502_irpstacksize As UInteger
Public sv502_maxrawbuflen As UInteger
Public sv502_sessusers As UInteger
Public sv502_sessconns As UInteger
Public sv502_maxpagedmemoryusage As UInteger
Public sv502_maxnonpagedmemoryusage As UInteger
<MarshalAs(UnmanagedType.Bool)> Public sv502_enablesoftcompat As Boolean
<MarshalAs(UnmanagedType.Bool)> Public sv502_enableforcedlogoff As Boolean
<MarshalAs(UnmanagedType.Bool)> Public sv502_timesource As Boolean
<MarshalAs(UnmanagedType.Bool)> Public sv502_acceptdownlevelapis As Boolean
<MarshalAs(UnmanagedType.Bool)> Public sv502_lmannounce As Boolean
End Structureimport ctypes
from ctypes import wintypes
class SERVER_INFO_502(ctypes.Structure):
_fields_ = [
("sv502_sessopens", wintypes.DWORD),
("sv502_sessvcs", wintypes.DWORD),
("sv502_opensearch", wintypes.DWORD),
("sv502_sizreqbuf", wintypes.DWORD),
("sv502_initworkitems", wintypes.DWORD),
("sv502_maxworkitems", wintypes.DWORD),
("sv502_rawworkitems", wintypes.DWORD),
("sv502_irpstacksize", wintypes.DWORD),
("sv502_maxrawbuflen", wintypes.DWORD),
("sv502_sessusers", wintypes.DWORD),
("sv502_sessconns", wintypes.DWORD),
("sv502_maxpagedmemoryusage", wintypes.DWORD),
("sv502_maxnonpagedmemoryusage", wintypes.DWORD),
("sv502_enablesoftcompat", wintypes.BOOL),
("sv502_enableforcedlogoff", wintypes.BOOL),
("sv502_timesource", wintypes.BOOL),
("sv502_acceptdownlevelapis", wintypes.BOOL),
("sv502_lmannounce", wintypes.BOOL),
]#[repr(C)]
pub struct SERVER_INFO_502 {
pub sv502_sessopens: u32,
pub sv502_sessvcs: u32,
pub sv502_opensearch: u32,
pub sv502_sizreqbuf: u32,
pub sv502_initworkitems: u32,
pub sv502_maxworkitems: u32,
pub sv502_rawworkitems: u32,
pub sv502_irpstacksize: u32,
pub sv502_maxrawbuflen: u32,
pub sv502_sessusers: u32,
pub sv502_sessconns: u32,
pub sv502_maxpagedmemoryusage: u32,
pub sv502_maxnonpagedmemoryusage: u32,
pub sv502_enablesoftcompat: i32,
pub sv502_enableforcedlogoff: i32,
pub sv502_timesource: i32,
pub sv502_acceptdownlevelapis: i32,
pub sv502_lmannounce: i32,
}import "golang.org/x/sys/windows"
type SERVER_INFO_502 struct {
sv502_sessopens uint32
sv502_sessvcs uint32
sv502_opensearch uint32
sv502_sizreqbuf uint32
sv502_initworkitems uint32
sv502_maxworkitems uint32
sv502_rawworkitems uint32
sv502_irpstacksize uint32
sv502_maxrawbuflen uint32
sv502_sessusers uint32
sv502_sessconns uint32
sv502_maxpagedmemoryusage uint32
sv502_maxnonpagedmemoryusage uint32
sv502_enablesoftcompat int32
sv502_enableforcedlogoff int32
sv502_timesource int32
sv502_acceptdownlevelapis int32
sv502_lmannounce int32
}type
SERVER_INFO_502 = record
sv502_sessopens: DWORD;
sv502_sessvcs: DWORD;
sv502_opensearch: DWORD;
sv502_sizreqbuf: DWORD;
sv502_initworkitems: DWORD;
sv502_maxworkitems: DWORD;
sv502_rawworkitems: DWORD;
sv502_irpstacksize: DWORD;
sv502_maxrawbuflen: DWORD;
sv502_sessusers: DWORD;
sv502_sessconns: DWORD;
sv502_maxpagedmemoryusage: DWORD;
sv502_maxnonpagedmemoryusage: DWORD;
sv502_enablesoftcompat: BOOL;
sv502_enableforcedlogoff: BOOL;
sv502_timesource: BOOL;
sv502_acceptdownlevelapis: BOOL;
sv502_lmannounce: BOOL;
end;const SERVER_INFO_502 = extern struct {
sv502_sessopens: u32,
sv502_sessvcs: u32,
sv502_opensearch: u32,
sv502_sizreqbuf: u32,
sv502_initworkitems: u32,
sv502_maxworkitems: u32,
sv502_rawworkitems: u32,
sv502_irpstacksize: u32,
sv502_maxrawbuflen: u32,
sv502_sessusers: u32,
sv502_sessconns: u32,
sv502_maxpagedmemoryusage: u32,
sv502_maxnonpagedmemoryusage: u32,
sv502_enablesoftcompat: i32,
sv502_enableforcedlogoff: i32,
sv502_timesource: i32,
sv502_acceptdownlevelapis: i32,
sv502_lmannounce: i32,
};type
SERVER_INFO_502 {.bycopy.} = object
sv502_sessopens: uint32
sv502_sessvcs: uint32
sv502_opensearch: uint32
sv502_sizreqbuf: uint32
sv502_initworkitems: uint32
sv502_maxworkitems: uint32
sv502_rawworkitems: uint32
sv502_irpstacksize: uint32
sv502_maxrawbuflen: uint32
sv502_sessusers: uint32
sv502_sessconns: uint32
sv502_maxpagedmemoryusage: uint32
sv502_maxnonpagedmemoryusage: uint32
sv502_enablesoftcompat: int32
sv502_enableforcedlogoff: int32
sv502_timesource: int32
sv502_acceptdownlevelapis: int32
sv502_lmannounce: int32struct SERVER_INFO_502
{
uint sv502_sessopens;
uint sv502_sessvcs;
uint sv502_opensearch;
uint sv502_sizreqbuf;
uint sv502_initworkitems;
uint sv502_maxworkitems;
uint sv502_rawworkitems;
uint sv502_irpstacksize;
uint sv502_maxrawbuflen;
uint sv502_sessusers;
uint sv502_sessconns;
uint sv502_maxpagedmemoryusage;
uint sv502_maxnonpagedmemoryusage;
int sv502_enablesoftcompat;
int sv502_enableforcedlogoff;
int sv502_timesource;
int sv502_acceptdownlevelapis;
int sv502_lmannounce;
}HSP用 定義
HSP3.7/3.8 は構造体機能が無いため4byte整数配列(dim)+peek/poke で操作(32/64bitでサイズ・位置が異なる場合はタブで分割)。IronHSP は NSTRUCT(#defstruct/stdim/->)で32/64bit共通。
; HSP3.7/3.8 は構造体機能が無いため、4byte整数の配列変数で操作します。(x64 レイアウト)
; SERVER_INFO_502 サイズ: 72 バイト(x64)
dim st, 18 ; 4byte整数×18(構造体サイズ 72 / 4 切り上げ)
; sv502_sessopens : DWORD (+0, 4byte) st.0 = 値 / 値 = st.0 (lpoke/lpeek も可)
; sv502_sessvcs : DWORD (+4, 4byte) st.1 = 値 / 値 = st.1 (lpoke/lpeek も可)
; sv502_opensearch : DWORD (+8, 4byte) st.2 = 値 / 値 = st.2 (lpoke/lpeek も可)
; sv502_sizreqbuf : DWORD (+12, 4byte) st.3 = 値 / 値 = st.3 (lpoke/lpeek も可)
; sv502_initworkitems : DWORD (+16, 4byte) st.4 = 値 / 値 = st.4 (lpoke/lpeek も可)
; sv502_maxworkitems : DWORD (+20, 4byte) st.5 = 値 / 値 = st.5 (lpoke/lpeek も可)
; sv502_rawworkitems : DWORD (+24, 4byte) st.6 = 値 / 値 = st.6 (lpoke/lpeek も可)
; sv502_irpstacksize : DWORD (+28, 4byte) st.7 = 値 / 値 = st.7 (lpoke/lpeek も可)
; sv502_maxrawbuflen : DWORD (+32, 4byte) st.8 = 値 / 値 = st.8 (lpoke/lpeek も可)
; sv502_sessusers : DWORD (+36, 4byte) st.9 = 値 / 値 = st.9 (lpoke/lpeek も可)
; sv502_sessconns : DWORD (+40, 4byte) st.10 = 値 / 値 = st.10 (lpoke/lpeek も可)
; sv502_maxpagedmemoryusage : DWORD (+44, 4byte) st.11 = 値 / 値 = st.11 (lpoke/lpeek も可)
; sv502_maxnonpagedmemoryusage : DWORD (+48, 4byte) st.12 = 値 / 値 = st.12 (lpoke/lpeek も可)
; sv502_enablesoftcompat : BOOL (+52, 4byte) st.13 = 値 / 値 = st.13 (lpoke/lpeek も可)
; sv502_enableforcedlogoff : BOOL (+56, 4byte) st.14 = 値 / 値 = st.14 (lpoke/lpeek も可)
; sv502_timesource : BOOL (+60, 4byte) st.15 = 値 / 値 = st.15 (lpoke/lpeek も可)
; sv502_acceptdownlevelapis : BOOL (+64, 4byte) st.16 = 値 / 値 = st.16 (lpoke/lpeek も可)
; sv502_lmannounce : BOOL (+68, 4byte) st.17 = 値 / 値 = st.17 (lpoke/lpeek も可)
; ※4byte境界の整数は添字 st.N(N=オフセット/4)で読み書き可。それ以外は peek/poke 系を使用。; IronHSP は NSTRUCT(構造体)をサポート。32bit/64bit どちらでも同じコードで動作します。
#defstruct global SERVER_INFO_502
#field int sv502_sessopens
#field int sv502_sessvcs
#field int sv502_opensearch
#field int sv502_sizreqbuf
#field int sv502_initworkitems
#field int sv502_maxworkitems
#field int sv502_rawworkitems
#field int sv502_irpstacksize
#field int sv502_maxrawbuflen
#field int sv502_sessusers
#field int sv502_sessconns
#field int sv502_maxpagedmemoryusage
#field int sv502_maxnonpagedmemoryusage
#field bool sv502_enablesoftcompat
#field bool sv502_enableforcedlogoff
#field bool sv502_timesource
#field bool sv502_acceptdownlevelapis
#field bool sv502_lmannounce
#endstruct
stdim st, SERVER_INFO_502 ; NSTRUCT 変数を確保
st->sv502_sessopens = 100
mes "sv502_sessopens=" + st->sv502_sessopens