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

SERVER_INFO_598

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

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

フィールド

フィールドサイズx64x86説明
sv598_maxrawworkitemsDWORD4+0+0RAWモード用ワークアイテムの最大数を示す。
sv598_maxthreadsperqueueDWORD4+4+41キューあたりに割り当てるスレッドの最大数を示す。
sv598_producttypeDWORD4+8+8サーバーの製品種別を示す(ワークステーション/サーバー等)。
sv598_serversizeDWORD4+12+12サーバーのサイズ設定(小/中/大)を示す。リソース割り当てに影響する。
sv598_connectionlessautodiscDWORD4+16+16コネクションレス接続の自動切断までの時間を分単位で示す。
sv598_sharingviolationretriesDWORD4+20+20共有違反時のリトライ回数を示す。
sv598_sharingviolationdelayDWORD4+24+24共有違反リトライ間の待機時間をミリ秒で示す。
sv598_maxglobalopensearchDWORD4+28+28システム全体で同時に開ける検索の最大数を示す。
sv598_removeduplicatesearchesDWORD4+32+32重複する検索を削除するかどうかを示す値。
sv598_lockviolationoffsetDWORD4+36+36ロック違反検出時のオフセット値を示す。
sv598_lockviolationdelayDWORD4+40+40ロック違反リトライ間の待機時間をミリ秒で示す。
sv598_mdlreadswitchoverDWORD4+44+44MDL読み取りに切り替えるデータサイズのしきい値をバイトで示す。
sv598_cachedopenlimitDWORD4+48+48キャッシュしておくオープンインスタンスの上限を示す。
sv598_otherqueueaffinityDWORD4+52+52汎用キュー処理に割り当てるプロセッサアフィニティを示すビットマスク。
sv598_restrictnullsessaccessBOOL4+56+56NULLセッションからのアクセスを制限するかを示すブール値。
sv598_enablewfw311directipxBOOL4+60+60WfW3.11のダイレクトIPXを有効にするかを示すブール値。
sv598_queuesamplesecsDWORD4+64+64キュー負荷をサンプリングする間隔を秒単位で示す。
sv598_balancecountDWORD4+68+68負荷分散判定に用いるカウント値を示す。
sv598_preferredaffinityDWORD4+72+72優先的に使用するプロセッサアフィニティを示すビットマスク。
sv598_maxfreerfcbsDWORD4+76+76保持する空きRFCB(受信FCB)の最大数を示す。
sv598_maxfreemfcbsDWORD4+80+80保持する空きMFCB(メインFCB)の最大数を示す。
sv598_maxfreelfcbsDWORD4+84+84保持する空きLFCB(ロックFCB)の最大数を示す。
sv598_maxfreepagedpoolchunksDWORD4+88+88保持する空きページプールチャンクの最大数を示す。
sv598_minpagedpoolchunksizeDWORD4+92+92ページプールチャンクの最小サイズをバイトで示す。
sv598_maxpagedpoolchunksizeDWORD4+96+96ページプールチャンクの最大サイズをバイトで示す。
sv598_sendsfrompreferredprocessorBOOL4+100+100優先プロセッサから送信を行うかを示すブール値。
sv598_cacheddirectorylimitDWORD4+104+104キャッシュするディレクトリ情報の上限を示す。
sv598_maxcopylengthDWORD4+108+108コピー操作の最大データ長をバイトで示す。
sv598_enablecompressionBOOL4+112+112SMB圧縮を有効にするかを示すブール値。
sv598_autosharewksBOOL4+116+116ワークステーションの管理共有を自動作成するかを示すブール値。
sv598_autoshareserverBOOL4+120+120サーバーの管理共有を自動作成するかを示すブール値。
sv598_enablesecuritysignatureBOOL4+124+124SMBセキュリティ署名を有効にするかを示すブール値。
sv598_requiresecuritysignatureBOOL4+128+128SMBセキュリティ署名を必須にするかを示すブール値。
sv598_minclientbuffersizeDWORD4+132+132クライアントバッファの最小サイズをバイトで示す。
sv598_serverguidGUID16+136+136サーバーを一意に識別するGUIDを示す。
sv598_ConnectionNoSessionsTimeoutDWORD4+152+152セッションのない接続を維持する時間を秒単位で示す。
sv598_IdleThreadTimeOutDWORD4+156+156アイドルスレッドを破棄するまでの時間を秒単位で示す。
sv598_enableW9xsecuritysignatureBOOL4+160+160Windows 9xクライアント向けセキュリティ署名を有効にするかを示すブール値。
sv598_enforcekerberosreauthenticationBOOL4+164+164Kerberosの再認証を強制するかを示すブール値。
sv598_disabledosBOOL4+168+168DoS攻撃対策機能を無効化するかを示すブール値。
sv598_lowdiskspaceminimumDWORD4+172+172低ディスク容量と判定する最小残量をバイトで示す。
sv598_disablestrictnamecheckingBOOL4+176+176厳格な名前チェックを無効化するかを示すブール値。
sv598_enableauthenticateusersharingBOOL4+180+180認証済みユーザーによる共有を有効にするかを示すブール値。

各言語での定義

#include <windows.h>

// SERVER_INFO_598  (x64 184 / x86 184 バイト)
typedef struct SERVER_INFO_598 {
    DWORD sv598_maxrawworkitems;
    DWORD sv598_maxthreadsperqueue;
    DWORD sv598_producttype;
    DWORD sv598_serversize;
    DWORD sv598_connectionlessautodisc;
    DWORD sv598_sharingviolationretries;
    DWORD sv598_sharingviolationdelay;
    DWORD sv598_maxglobalopensearch;
    DWORD sv598_removeduplicatesearches;
    DWORD sv598_lockviolationoffset;
    DWORD sv598_lockviolationdelay;
    DWORD sv598_mdlreadswitchover;
    DWORD sv598_cachedopenlimit;
    DWORD sv598_otherqueueaffinity;
    BOOL sv598_restrictnullsessaccess;
    BOOL sv598_enablewfw311directipx;
    DWORD sv598_queuesamplesecs;
    DWORD sv598_balancecount;
    DWORD sv598_preferredaffinity;
    DWORD sv598_maxfreerfcbs;
    DWORD sv598_maxfreemfcbs;
    DWORD sv598_maxfreelfcbs;
    DWORD sv598_maxfreepagedpoolchunks;
    DWORD sv598_minpagedpoolchunksize;
    DWORD sv598_maxpagedpoolchunksize;
    BOOL sv598_sendsfrompreferredprocessor;
    DWORD sv598_cacheddirectorylimit;
    DWORD sv598_maxcopylength;
    BOOL sv598_enablecompression;
    BOOL sv598_autosharewks;
    BOOL sv598_autoshareserver;
    BOOL sv598_enablesecuritysignature;
    BOOL sv598_requiresecuritysignature;
    DWORD sv598_minclientbuffersize;
    GUID sv598_serverguid;
    DWORD sv598_ConnectionNoSessionsTimeout;
    DWORD sv598_IdleThreadTimeOut;
    BOOL sv598_enableW9xsecuritysignature;
    BOOL sv598_enforcekerberosreauthentication;
    BOOL sv598_disabledos;
    DWORD sv598_lowdiskspaceminimum;
    BOOL sv598_disablestrictnamechecking;
    BOOL sv598_enableauthenticateusersharing;
} SERVER_INFO_598;
using System;
using System.Runtime.InteropServices;

[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct SERVER_INFO_598
{
    public uint sv598_maxrawworkitems;
    public uint sv598_maxthreadsperqueue;
    public uint sv598_producttype;
    public uint sv598_serversize;
    public uint sv598_connectionlessautodisc;
    public uint sv598_sharingviolationretries;
    public uint sv598_sharingviolationdelay;
    public uint sv598_maxglobalopensearch;
    public uint sv598_removeduplicatesearches;
    public uint sv598_lockviolationoffset;
    public uint sv598_lockviolationdelay;
    public uint sv598_mdlreadswitchover;
    public uint sv598_cachedopenlimit;
    public uint sv598_otherqueueaffinity;
    [MarshalAs(UnmanagedType.Bool)] public bool sv598_restrictnullsessaccess;
    [MarshalAs(UnmanagedType.Bool)] public bool sv598_enablewfw311directipx;
    public uint sv598_queuesamplesecs;
    public uint sv598_balancecount;
    public uint sv598_preferredaffinity;
    public uint sv598_maxfreerfcbs;
    public uint sv598_maxfreemfcbs;
    public uint sv598_maxfreelfcbs;
    public uint sv598_maxfreepagedpoolchunks;
    public uint sv598_minpagedpoolchunksize;
    public uint sv598_maxpagedpoolchunksize;
    [MarshalAs(UnmanagedType.Bool)] public bool sv598_sendsfrompreferredprocessor;
    public uint sv598_cacheddirectorylimit;
    public uint sv598_maxcopylength;
    [MarshalAs(UnmanagedType.Bool)] public bool sv598_enablecompression;
    [MarshalAs(UnmanagedType.Bool)] public bool sv598_autosharewks;
    [MarshalAs(UnmanagedType.Bool)] public bool sv598_autoshareserver;
    [MarshalAs(UnmanagedType.Bool)] public bool sv598_enablesecuritysignature;
    [MarshalAs(UnmanagedType.Bool)] public bool sv598_requiresecuritysignature;
    public uint sv598_minclientbuffersize;
    public Guid sv598_serverguid;
    public uint sv598_ConnectionNoSessionsTimeout;
    public uint sv598_IdleThreadTimeOut;
    [MarshalAs(UnmanagedType.Bool)] public bool sv598_enableW9xsecuritysignature;
    [MarshalAs(UnmanagedType.Bool)] public bool sv598_enforcekerberosreauthentication;
    [MarshalAs(UnmanagedType.Bool)] public bool sv598_disabledos;
    public uint sv598_lowdiskspaceminimum;
    [MarshalAs(UnmanagedType.Bool)] public bool sv598_disablestrictnamechecking;
    [MarshalAs(UnmanagedType.Bool)] public bool sv598_enableauthenticateusersharing;
}
Imports System.Runtime.InteropServices

<StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Unicode)>
Public Structure SERVER_INFO_598
    Public sv598_maxrawworkitems As UInteger
    Public sv598_maxthreadsperqueue As UInteger
    Public sv598_producttype As UInteger
    Public sv598_serversize As UInteger
    Public sv598_connectionlessautodisc As UInteger
    Public sv598_sharingviolationretries As UInteger
    Public sv598_sharingviolationdelay As UInteger
    Public sv598_maxglobalopensearch As UInteger
    Public sv598_removeduplicatesearches As UInteger
    Public sv598_lockviolationoffset As UInteger
    Public sv598_lockviolationdelay As UInteger
    Public sv598_mdlreadswitchover As UInteger
    Public sv598_cachedopenlimit As UInteger
    Public sv598_otherqueueaffinity As UInteger
    <MarshalAs(UnmanagedType.Bool)> Public sv598_restrictnullsessaccess As Boolean
    <MarshalAs(UnmanagedType.Bool)> Public sv598_enablewfw311directipx As Boolean
    Public sv598_queuesamplesecs As UInteger
    Public sv598_balancecount As UInteger
    Public sv598_preferredaffinity As UInteger
    Public sv598_maxfreerfcbs As UInteger
    Public sv598_maxfreemfcbs As UInteger
    Public sv598_maxfreelfcbs As UInteger
    Public sv598_maxfreepagedpoolchunks As UInteger
    Public sv598_minpagedpoolchunksize As UInteger
    Public sv598_maxpagedpoolchunksize As UInteger
    <MarshalAs(UnmanagedType.Bool)> Public sv598_sendsfrompreferredprocessor As Boolean
    Public sv598_cacheddirectorylimit As UInteger
    Public sv598_maxcopylength As UInteger
    <MarshalAs(UnmanagedType.Bool)> Public sv598_enablecompression As Boolean
    <MarshalAs(UnmanagedType.Bool)> Public sv598_autosharewks As Boolean
    <MarshalAs(UnmanagedType.Bool)> Public sv598_autoshareserver As Boolean
    <MarshalAs(UnmanagedType.Bool)> Public sv598_enablesecuritysignature As Boolean
    <MarshalAs(UnmanagedType.Bool)> Public sv598_requiresecuritysignature As Boolean
    Public sv598_minclientbuffersize As UInteger
    Public sv598_serverguid As Guid
    Public sv598_ConnectionNoSessionsTimeout As UInteger
    Public sv598_IdleThreadTimeOut As UInteger
    <MarshalAs(UnmanagedType.Bool)> Public sv598_enableW9xsecuritysignature As Boolean
    <MarshalAs(UnmanagedType.Bool)> Public sv598_enforcekerberosreauthentication As Boolean
    <MarshalAs(UnmanagedType.Bool)> Public sv598_disabledos As Boolean
    Public sv598_lowdiskspaceminimum As UInteger
    <MarshalAs(UnmanagedType.Bool)> Public sv598_disablestrictnamechecking As Boolean
    <MarshalAs(UnmanagedType.Bool)> Public sv598_enableauthenticateusersharing As Boolean
End Structure
import ctypes
from ctypes import wintypes

class SERVER_INFO_598(ctypes.Structure):
    _fields_ = [
        ("sv598_maxrawworkitems", wintypes.DWORD),
        ("sv598_maxthreadsperqueue", wintypes.DWORD),
        ("sv598_producttype", wintypes.DWORD),
        ("sv598_serversize", wintypes.DWORD),
        ("sv598_connectionlessautodisc", wintypes.DWORD),
        ("sv598_sharingviolationretries", wintypes.DWORD),
        ("sv598_sharingviolationdelay", wintypes.DWORD),
        ("sv598_maxglobalopensearch", wintypes.DWORD),
        ("sv598_removeduplicatesearches", wintypes.DWORD),
        ("sv598_lockviolationoffset", wintypes.DWORD),
        ("sv598_lockviolationdelay", wintypes.DWORD),
        ("sv598_mdlreadswitchover", wintypes.DWORD),
        ("sv598_cachedopenlimit", wintypes.DWORD),
        ("sv598_otherqueueaffinity", wintypes.DWORD),
        ("sv598_restrictnullsessaccess", wintypes.BOOL),
        ("sv598_enablewfw311directipx", wintypes.BOOL),
        ("sv598_queuesamplesecs", wintypes.DWORD),
        ("sv598_balancecount", wintypes.DWORD),
        ("sv598_preferredaffinity", wintypes.DWORD),
        ("sv598_maxfreerfcbs", wintypes.DWORD),
        ("sv598_maxfreemfcbs", wintypes.DWORD),
        ("sv598_maxfreelfcbs", wintypes.DWORD),
        ("sv598_maxfreepagedpoolchunks", wintypes.DWORD),
        ("sv598_minpagedpoolchunksize", wintypes.DWORD),
        ("sv598_maxpagedpoolchunksize", wintypes.DWORD),
        ("sv598_sendsfrompreferredprocessor", wintypes.BOOL),
        ("sv598_cacheddirectorylimit", wintypes.DWORD),
        ("sv598_maxcopylength", wintypes.DWORD),
        ("sv598_enablecompression", wintypes.BOOL),
        ("sv598_autosharewks", wintypes.BOOL),
        ("sv598_autoshareserver", wintypes.BOOL),
        ("sv598_enablesecuritysignature", wintypes.BOOL),
        ("sv598_requiresecuritysignature", wintypes.BOOL),
        ("sv598_minclientbuffersize", wintypes.DWORD),
        ("sv598_serverguid", GUID),
        ("sv598_ConnectionNoSessionsTimeout", wintypes.DWORD),
        ("sv598_IdleThreadTimeOut", wintypes.DWORD),
        ("sv598_enableW9xsecuritysignature", wintypes.BOOL),
        ("sv598_enforcekerberosreauthentication", wintypes.BOOL),
        ("sv598_disabledos", wintypes.BOOL),
        ("sv598_lowdiskspaceminimum", wintypes.DWORD),
        ("sv598_disablestrictnamechecking", wintypes.BOOL),
        ("sv598_enableauthenticateusersharing", wintypes.BOOL),
    ]
#[repr(C)]
pub struct SERVER_INFO_598 {
    pub sv598_maxrawworkitems: u32,
    pub sv598_maxthreadsperqueue: u32,
    pub sv598_producttype: u32,
    pub sv598_serversize: u32,
    pub sv598_connectionlessautodisc: u32,
    pub sv598_sharingviolationretries: u32,
    pub sv598_sharingviolationdelay: u32,
    pub sv598_maxglobalopensearch: u32,
    pub sv598_removeduplicatesearches: u32,
    pub sv598_lockviolationoffset: u32,
    pub sv598_lockviolationdelay: u32,
    pub sv598_mdlreadswitchover: u32,
    pub sv598_cachedopenlimit: u32,
    pub sv598_otherqueueaffinity: u32,
    pub sv598_restrictnullsessaccess: i32,
    pub sv598_enablewfw311directipx: i32,
    pub sv598_queuesamplesecs: u32,
    pub sv598_balancecount: u32,
    pub sv598_preferredaffinity: u32,
    pub sv598_maxfreerfcbs: u32,
    pub sv598_maxfreemfcbs: u32,
    pub sv598_maxfreelfcbs: u32,
    pub sv598_maxfreepagedpoolchunks: u32,
    pub sv598_minpagedpoolchunksize: u32,
    pub sv598_maxpagedpoolchunksize: u32,
    pub sv598_sendsfrompreferredprocessor: i32,
    pub sv598_cacheddirectorylimit: u32,
    pub sv598_maxcopylength: u32,
    pub sv598_enablecompression: i32,
    pub sv598_autosharewks: i32,
    pub sv598_autoshareserver: i32,
    pub sv598_enablesecuritysignature: i32,
    pub sv598_requiresecuritysignature: i32,
    pub sv598_minclientbuffersize: u32,
    pub sv598_serverguid: GUID,
    pub sv598_ConnectionNoSessionsTimeout: u32,
    pub sv598_IdleThreadTimeOut: u32,
    pub sv598_enableW9xsecuritysignature: i32,
    pub sv598_enforcekerberosreauthentication: i32,
    pub sv598_disabledos: i32,
    pub sv598_lowdiskspaceminimum: u32,
    pub sv598_disablestrictnamechecking: i32,
    pub sv598_enableauthenticateusersharing: i32,
}
import "golang.org/x/sys/windows"

type SERVER_INFO_598 struct {
	sv598_maxrawworkitems uint32
	sv598_maxthreadsperqueue uint32
	sv598_producttype uint32
	sv598_serversize uint32
	sv598_connectionlessautodisc uint32
	sv598_sharingviolationretries uint32
	sv598_sharingviolationdelay uint32
	sv598_maxglobalopensearch uint32
	sv598_removeduplicatesearches uint32
	sv598_lockviolationoffset uint32
	sv598_lockviolationdelay uint32
	sv598_mdlreadswitchover uint32
	sv598_cachedopenlimit uint32
	sv598_otherqueueaffinity uint32
	sv598_restrictnullsessaccess int32
	sv598_enablewfw311directipx int32
	sv598_queuesamplesecs uint32
	sv598_balancecount uint32
	sv598_preferredaffinity uint32
	sv598_maxfreerfcbs uint32
	sv598_maxfreemfcbs uint32
	sv598_maxfreelfcbs uint32
	sv598_maxfreepagedpoolchunks uint32
	sv598_minpagedpoolchunksize uint32
	sv598_maxpagedpoolchunksize uint32
	sv598_sendsfrompreferredprocessor int32
	sv598_cacheddirectorylimit uint32
	sv598_maxcopylength uint32
	sv598_enablecompression int32
	sv598_autosharewks int32
	sv598_autoshareserver int32
	sv598_enablesecuritysignature int32
	sv598_requiresecuritysignature int32
	sv598_minclientbuffersize uint32
	sv598_serverguid windows.GUID
	sv598_ConnectionNoSessionsTimeout uint32
	sv598_IdleThreadTimeOut uint32
	sv598_enableW9xsecuritysignature int32
	sv598_enforcekerberosreauthentication int32
	sv598_disabledos int32
	sv598_lowdiskspaceminimum uint32
	sv598_disablestrictnamechecking int32
	sv598_enableauthenticateusersharing int32
}
type
  SERVER_INFO_598 = record
    sv598_maxrawworkitems: DWORD;
    sv598_maxthreadsperqueue: DWORD;
    sv598_producttype: DWORD;
    sv598_serversize: DWORD;
    sv598_connectionlessautodisc: DWORD;
    sv598_sharingviolationretries: DWORD;
    sv598_sharingviolationdelay: DWORD;
    sv598_maxglobalopensearch: DWORD;
    sv598_removeduplicatesearches: DWORD;
    sv598_lockviolationoffset: DWORD;
    sv598_lockviolationdelay: DWORD;
    sv598_mdlreadswitchover: DWORD;
    sv598_cachedopenlimit: DWORD;
    sv598_otherqueueaffinity: DWORD;
    sv598_restrictnullsessaccess: BOOL;
    sv598_enablewfw311directipx: BOOL;
    sv598_queuesamplesecs: DWORD;
    sv598_balancecount: DWORD;
    sv598_preferredaffinity: DWORD;
    sv598_maxfreerfcbs: DWORD;
    sv598_maxfreemfcbs: DWORD;
    sv598_maxfreelfcbs: DWORD;
    sv598_maxfreepagedpoolchunks: DWORD;
    sv598_minpagedpoolchunksize: DWORD;
    sv598_maxpagedpoolchunksize: DWORD;
    sv598_sendsfrompreferredprocessor: BOOL;
    sv598_cacheddirectorylimit: DWORD;
    sv598_maxcopylength: DWORD;
    sv598_enablecompression: BOOL;
    sv598_autosharewks: BOOL;
    sv598_autoshareserver: BOOL;
    sv598_enablesecuritysignature: BOOL;
    sv598_requiresecuritysignature: BOOL;
    sv598_minclientbuffersize: DWORD;
    sv598_serverguid: TGUID;
    sv598_ConnectionNoSessionsTimeout: DWORD;
    sv598_IdleThreadTimeOut: DWORD;
    sv598_enableW9xsecuritysignature: BOOL;
    sv598_enforcekerberosreauthentication: BOOL;
    sv598_disabledos: BOOL;
    sv598_lowdiskspaceminimum: DWORD;
    sv598_disablestrictnamechecking: BOOL;
    sv598_enableauthenticateusersharing: BOOL;
  end;
const SERVER_INFO_598 = extern struct {
    sv598_maxrawworkitems: u32,
    sv598_maxthreadsperqueue: u32,
    sv598_producttype: u32,
    sv598_serversize: u32,
    sv598_connectionlessautodisc: u32,
    sv598_sharingviolationretries: u32,
    sv598_sharingviolationdelay: u32,
    sv598_maxglobalopensearch: u32,
    sv598_removeduplicatesearches: u32,
    sv598_lockviolationoffset: u32,
    sv598_lockviolationdelay: u32,
    sv598_mdlreadswitchover: u32,
    sv598_cachedopenlimit: u32,
    sv598_otherqueueaffinity: u32,
    sv598_restrictnullsessaccess: i32,
    sv598_enablewfw311directipx: i32,
    sv598_queuesamplesecs: u32,
    sv598_balancecount: u32,
    sv598_preferredaffinity: u32,
    sv598_maxfreerfcbs: u32,
    sv598_maxfreemfcbs: u32,
    sv598_maxfreelfcbs: u32,
    sv598_maxfreepagedpoolchunks: u32,
    sv598_minpagedpoolchunksize: u32,
    sv598_maxpagedpoolchunksize: u32,
    sv598_sendsfrompreferredprocessor: i32,
    sv598_cacheddirectorylimit: u32,
    sv598_maxcopylength: u32,
    sv598_enablecompression: i32,
    sv598_autosharewks: i32,
    sv598_autoshareserver: i32,
    sv598_enablesecuritysignature: i32,
    sv598_requiresecuritysignature: i32,
    sv598_minclientbuffersize: u32,
    sv598_serverguid: GUID,
    sv598_ConnectionNoSessionsTimeout: u32,
    sv598_IdleThreadTimeOut: u32,
    sv598_enableW9xsecuritysignature: i32,
    sv598_enforcekerberosreauthentication: i32,
    sv598_disabledos: i32,
    sv598_lowdiskspaceminimum: u32,
    sv598_disablestrictnamechecking: i32,
    sv598_enableauthenticateusersharing: i32,
};
type
  SERVER_INFO_598 {.bycopy.} = object
    sv598_maxrawworkitems: uint32
    sv598_maxthreadsperqueue: uint32
    sv598_producttype: uint32
    sv598_serversize: uint32
    sv598_connectionlessautodisc: uint32
    sv598_sharingviolationretries: uint32
    sv598_sharingviolationdelay: uint32
    sv598_maxglobalopensearch: uint32
    sv598_removeduplicatesearches: uint32
    sv598_lockviolationoffset: uint32
    sv598_lockviolationdelay: uint32
    sv598_mdlreadswitchover: uint32
    sv598_cachedopenlimit: uint32
    sv598_otherqueueaffinity: uint32
    sv598_restrictnullsessaccess: int32
    sv598_enablewfw311directipx: int32
    sv598_queuesamplesecs: uint32
    sv598_balancecount: uint32
    sv598_preferredaffinity: uint32
    sv598_maxfreerfcbs: uint32
    sv598_maxfreemfcbs: uint32
    sv598_maxfreelfcbs: uint32
    sv598_maxfreepagedpoolchunks: uint32
    sv598_minpagedpoolchunksize: uint32
    sv598_maxpagedpoolchunksize: uint32
    sv598_sendsfrompreferredprocessor: int32
    sv598_cacheddirectorylimit: uint32
    sv598_maxcopylength: uint32
    sv598_enablecompression: int32
    sv598_autosharewks: int32
    sv598_autoshareserver: int32
    sv598_enablesecuritysignature: int32
    sv598_requiresecuritysignature: int32
    sv598_minclientbuffersize: uint32
    sv598_serverguid: GUID
    sv598_ConnectionNoSessionsTimeout: uint32
    sv598_IdleThreadTimeOut: uint32
    sv598_enableW9xsecuritysignature: int32
    sv598_enforcekerberosreauthentication: int32
    sv598_disabledos: int32
    sv598_lowdiskspaceminimum: uint32
    sv598_disablestrictnamechecking: int32
    sv598_enableauthenticateusersharing: int32
struct SERVER_INFO_598
{
    uint sv598_maxrawworkitems;
    uint sv598_maxthreadsperqueue;
    uint sv598_producttype;
    uint sv598_serversize;
    uint sv598_connectionlessautodisc;
    uint sv598_sharingviolationretries;
    uint sv598_sharingviolationdelay;
    uint sv598_maxglobalopensearch;
    uint sv598_removeduplicatesearches;
    uint sv598_lockviolationoffset;
    uint sv598_lockviolationdelay;
    uint sv598_mdlreadswitchover;
    uint sv598_cachedopenlimit;
    uint sv598_otherqueueaffinity;
    int sv598_restrictnullsessaccess;
    int sv598_enablewfw311directipx;
    uint sv598_queuesamplesecs;
    uint sv598_balancecount;
    uint sv598_preferredaffinity;
    uint sv598_maxfreerfcbs;
    uint sv598_maxfreemfcbs;
    uint sv598_maxfreelfcbs;
    uint sv598_maxfreepagedpoolchunks;
    uint sv598_minpagedpoolchunksize;
    uint sv598_maxpagedpoolchunksize;
    int sv598_sendsfrompreferredprocessor;
    uint sv598_cacheddirectorylimit;
    uint sv598_maxcopylength;
    int sv598_enablecompression;
    int sv598_autosharewks;
    int sv598_autoshareserver;
    int sv598_enablesecuritysignature;
    int sv598_requiresecuritysignature;
    uint sv598_minclientbuffersize;
    GUID sv598_serverguid;
    uint sv598_ConnectionNoSessionsTimeout;
    uint sv598_IdleThreadTimeOut;
    int sv598_enableW9xsecuritysignature;
    int sv598_enforcekerberosreauthentication;
    int sv598_disabledos;
    uint sv598_lowdiskspaceminimum;
    int sv598_disablestrictnamechecking;
    int sv598_enableauthenticateusersharing;
}

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_598 サイズ: 184 バイト(x64)
dim st, 46    ; 4byte整数×46(構造体サイズ 184 / 4 切り上げ)
; sv598_maxrawworkitems : DWORD (+0, 4byte)  st.0 = 値  /  値 = st.0   (lpoke/lpeek も可)
; sv598_maxthreadsperqueue : DWORD (+4, 4byte)  st.1 = 値  /  値 = st.1   (lpoke/lpeek も可)
; sv598_producttype : DWORD (+8, 4byte)  st.2 = 値  /  値 = st.2   (lpoke/lpeek も可)
; sv598_serversize : DWORD (+12, 4byte)  st.3 = 値  /  値 = st.3   (lpoke/lpeek も可)
; sv598_connectionlessautodisc : DWORD (+16, 4byte)  st.4 = 値  /  値 = st.4   (lpoke/lpeek も可)
; sv598_sharingviolationretries : DWORD (+20, 4byte)  st.5 = 値  /  値 = st.5   (lpoke/lpeek も可)
; sv598_sharingviolationdelay : DWORD (+24, 4byte)  st.6 = 値  /  値 = st.6   (lpoke/lpeek も可)
; sv598_maxglobalopensearch : DWORD (+28, 4byte)  st.7 = 値  /  値 = st.7   (lpoke/lpeek も可)
; sv598_removeduplicatesearches : DWORD (+32, 4byte)  st.8 = 値  /  値 = st.8   (lpoke/lpeek も可)
; sv598_lockviolationoffset : DWORD (+36, 4byte)  st.9 = 値  /  値 = st.9   (lpoke/lpeek も可)
; sv598_lockviolationdelay : DWORD (+40, 4byte)  st.10 = 値  /  値 = st.10   (lpoke/lpeek も可)
; sv598_mdlreadswitchover : DWORD (+44, 4byte)  st.11 = 値  /  値 = st.11   (lpoke/lpeek も可)
; sv598_cachedopenlimit : DWORD (+48, 4byte)  st.12 = 値  /  値 = st.12   (lpoke/lpeek も可)
; sv598_otherqueueaffinity : DWORD (+52, 4byte)  st.13 = 値  /  値 = st.13   (lpoke/lpeek も可)
; sv598_restrictnullsessaccess : BOOL (+56, 4byte)  st.14 = 値  /  値 = st.14   (lpoke/lpeek も可)
; sv598_enablewfw311directipx : BOOL (+60, 4byte)  st.15 = 値  /  値 = st.15   (lpoke/lpeek も可)
; sv598_queuesamplesecs : DWORD (+64, 4byte)  st.16 = 値  /  値 = st.16   (lpoke/lpeek も可)
; sv598_balancecount : DWORD (+68, 4byte)  st.17 = 値  /  値 = st.17   (lpoke/lpeek も可)
; sv598_preferredaffinity : DWORD (+72, 4byte)  st.18 = 値  /  値 = st.18   (lpoke/lpeek も可)
; sv598_maxfreerfcbs : DWORD (+76, 4byte)  st.19 = 値  /  値 = st.19   (lpoke/lpeek も可)
; sv598_maxfreemfcbs : DWORD (+80, 4byte)  st.20 = 値  /  値 = st.20   (lpoke/lpeek も可)
; sv598_maxfreelfcbs : DWORD (+84, 4byte)  st.21 = 値  /  値 = st.21   (lpoke/lpeek も可)
; sv598_maxfreepagedpoolchunks : DWORD (+88, 4byte)  st.22 = 値  /  値 = st.22   (lpoke/lpeek も可)
; sv598_minpagedpoolchunksize : DWORD (+92, 4byte)  st.23 = 値  /  値 = st.23   (lpoke/lpeek も可)
; sv598_maxpagedpoolchunksize : DWORD (+96, 4byte)  st.24 = 値  /  値 = st.24   (lpoke/lpeek も可)
; sv598_sendsfrompreferredprocessor : BOOL (+100, 4byte)  st.25 = 値  /  値 = st.25   (lpoke/lpeek も可)
; sv598_cacheddirectorylimit : DWORD (+104, 4byte)  st.26 = 値  /  値 = st.26   (lpoke/lpeek も可)
; sv598_maxcopylength : DWORD (+108, 4byte)  st.27 = 値  /  値 = st.27   (lpoke/lpeek も可)
; sv598_enablecompression : BOOL (+112, 4byte)  st.28 = 値  /  値 = st.28   (lpoke/lpeek も可)
; sv598_autosharewks : BOOL (+116, 4byte)  st.29 = 値  /  値 = st.29   (lpoke/lpeek も可)
; sv598_autoshareserver : BOOL (+120, 4byte)  st.30 = 値  /  値 = st.30   (lpoke/lpeek も可)
; sv598_enablesecuritysignature : BOOL (+124, 4byte)  st.31 = 値  /  値 = st.31   (lpoke/lpeek も可)
; sv598_requiresecuritysignature : BOOL (+128, 4byte)  st.32 = 値  /  値 = st.32   (lpoke/lpeek も可)
; sv598_minclientbuffersize : DWORD (+132, 4byte)  st.33 = 値  /  値 = st.33   (lpoke/lpeek も可)
; sv598_serverguid : GUID (+136, 16byte)  varptr(st)+136 を基点に操作(16byte:入れ子/配列)
; sv598_ConnectionNoSessionsTimeout : DWORD (+152, 4byte)  st.38 = 値  /  値 = st.38   (lpoke/lpeek も可)
; sv598_IdleThreadTimeOut : DWORD (+156, 4byte)  st.39 = 値  /  値 = st.39   (lpoke/lpeek も可)
; sv598_enableW9xsecuritysignature : BOOL (+160, 4byte)  st.40 = 値  /  値 = st.40   (lpoke/lpeek も可)
; sv598_enforcekerberosreauthentication : BOOL (+164, 4byte)  st.41 = 値  /  値 = st.41   (lpoke/lpeek も可)
; sv598_disabledos : BOOL (+168, 4byte)  st.42 = 値  /  値 = st.42   (lpoke/lpeek も可)
; sv598_lowdiskspaceminimum : DWORD (+172, 4byte)  st.43 = 値  /  値 = st.43   (lpoke/lpeek も可)
; sv598_disablestrictnamechecking : BOOL (+176, 4byte)  st.44 = 値  /  値 = st.44   (lpoke/lpeek も可)
; sv598_enableauthenticateusersharing : BOOL (+180, 4byte)  st.45 = 値  /  値 = st.45   (lpoke/lpeek も可)
; ※4byte境界の整数は添字 st.N(N=オフセット/4)で読み書き可。それ以外は peek/poke 系を使用。
; IronHSP は NSTRUCT(構造体)をサポート。32bit/64bit どちらでも同じコードで動作します。
; ※GUID・入れ子構造体はデフォルト型でないため、依存する #defstruct を先に定義(下記に同梱)。
#defstruct global GUID, pack=1
    #field int Data1
    #field short Data2
    #field short Data3
    #field byte Data4 8
#endstruct

#defstruct global SERVER_INFO_598
    #field int sv598_maxrawworkitems
    #field int sv598_maxthreadsperqueue
    #field int sv598_producttype
    #field int sv598_serversize
    #field int sv598_connectionlessautodisc
    #field int sv598_sharingviolationretries
    #field int sv598_sharingviolationdelay
    #field int sv598_maxglobalopensearch
    #field int sv598_removeduplicatesearches
    #field int sv598_lockviolationoffset
    #field int sv598_lockviolationdelay
    #field int sv598_mdlreadswitchover
    #field int sv598_cachedopenlimit
    #field int sv598_otherqueueaffinity
    #field bool sv598_restrictnullsessaccess
    #field bool sv598_enablewfw311directipx
    #field int sv598_queuesamplesecs
    #field int sv598_balancecount
    #field int sv598_preferredaffinity
    #field int sv598_maxfreerfcbs
    #field int sv598_maxfreemfcbs
    #field int sv598_maxfreelfcbs
    #field int sv598_maxfreepagedpoolchunks
    #field int sv598_minpagedpoolchunksize
    #field int sv598_maxpagedpoolchunksize
    #field bool sv598_sendsfrompreferredprocessor
    #field int sv598_cacheddirectorylimit
    #field int sv598_maxcopylength
    #field bool sv598_enablecompression
    #field bool sv598_autosharewks
    #field bool sv598_autoshareserver
    #field bool sv598_enablesecuritysignature
    #field bool sv598_requiresecuritysignature
    #field int sv598_minclientbuffersize
    #field GUID sv598_serverguid
    #field int sv598_ConnectionNoSessionsTimeout
    #field int sv598_IdleThreadTimeOut
    #field bool sv598_enableW9xsecuritysignature
    #field bool sv598_enforcekerberosreauthentication
    #field bool sv598_disabledos
    #field int sv598_lowdiskspaceminimum
    #field bool sv598_disablestrictnamechecking
    #field bool sv598_enableauthenticateusersharing
#endstruct

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