ホーム › 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 モードの I/O に使用する特別なワークアイテムの数です。このメンバーに大きな値を指定するとパフォーマンスが向上する場合がありますが、より多くのメモリが必要になります。 |
| sv502_irpstacksize | DWORD | 4 | +28 | +28 | サーバーが I/O 要求パケット (IRP) 内に割り当てたスタックロケーションの数です。 |
| sv502_maxrawbuflen | DWORD | 4 | +32 | +32 | raw モードのバッファーの最大サイズ (バイト単位) です。 |
| sv502_sessusers | DWORD | 4 | +36 | +36 | 単一の仮想回線を使用してサーバーにログオンできるユーザーの最大数です。 |
| sv502_sessconns | DWORD | 4 | +40 | +40 | 単一の仮想回線を使用してサーバー上で確立できるツリー接続の最大数です。 |
| sv502_maxpagedmemoryusage | DWORD | 4 | +44 | +44 | サーバーが一度に割り当てることができるページング可能メモリの最大サイズ (バイト単位) です。 |
| sv502_maxnonpagedmemoryusage | DWORD | 4 | +48 | +48 | サーバーが一度に割り当てることができる非ページメモリの最大サイズ (バイト単位) です。 |
| sv502_enablesoftcompat | BOOL | 4 | +52 | +52 | 読み取りアクセスを伴う互換オープン要求をサーバーが受信したときに、その要求を共有読み取りアクセスの通常のオープン要求にマップするかどうかを示す値です。このような要求をマップすると、複数の MS-DOS コンピューターが 1 つのファイルを読み取りアクセスで開くことができます。 |
| sv502_enableforcedlogoff | BOOL | 4 | +56 | +56 | クライアントのログオン時間が経過したときに、クライアントがファイルを開いたままであっても、サーバーがそのクライアントを強制的に切断するかどうかを示す値です。 |
| sv502_timesource | BOOL | 4 | +60 | +60 | サーバーが信頼できる時刻ソースであるかどうかを示す値です。 |
| sv502_acceptdownlevelapis | BOOL | 4 | +64 | +64 | 旧世代の LAN Manager クライアントからの関数呼び出しをサーバーが受け付けるかどうかを示す値です。 |
| sv502_lmannounce | BOOL | 4 | +68 | +68 | サーバーが LAN Manager 2.x クライアントから参照可能かどうかを示す値です。 |
公式ドキュメント
<b>SERVER_INFO_502</b> 構造体は廃止されています。この構造体は、指定されたサーバーに関する情報を格納します。
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
各言語での定義
#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