2.2.4.46 SERVER_INFO_599

The SERVER_INFO_599 structure contains information about a specified server. The SERVER_INFO_599 fields involve implementation-specific details of CIFS and SMB Version 1.0 file servers. These fields can vary in how they apply to any given implementation. For more information, see section 3.1.4.18.

 typedef struct _SERVER_INFO_599 {
   DWORD sv599_sessopens;
   DWORD sv599_sessvcs;
   DWORD sv599_opensearch;
   DWORD sv599_sizreqbuf;
   DWORD sv599_initworkitems;
   DWORD sv599_maxworkitems;
   DWORD sv599_rawworkitems;
   DWORD sv599_irpstacksize;
   DWORD sv599_maxrawbuflen;
   DWORD sv599_sessusers;
   DWORD sv599_sessconns;
   DWORD sv599_maxpagedmemoryusage;
   DWORD sv599_maxnonpagedmemoryusage;
   int sv599_enablesoftcompat;
   int sv599_enableforcedlogoff;
   int sv599_timesource;
   int sv599_acceptdownlevelapis;
   int sv599_lmannounce;
   [string] wchar_t* sv599_domain;
   DWORD sv599_maxcopyreadlen;
   DWORD sv599_maxcopywritelen;
   DWORD sv599_minkeepsearch;
   DWORD sv599_maxkeepsearch;
   DWORD sv599_minkeepcomplsearch;
   DWORD sv599_maxkeepcomplsearch;
   DWORD sv599_threadcountadd;
   DWORD sv599_numblockthreads;
   DWORD sv599_scavtimeout;
   DWORD sv599_minrcvqueue;
   DWORD sv599_minfreeworkitems;
   DWORD sv599_xactmemsize;
   DWORD sv599_threadpriority;
   DWORD sv599_maxmpxct;
   DWORD sv599_oplockbreakwait;
   DWORD sv599_oplockbreakresponsewait;
   int sv599_enableoplocks;
   int sv599_enableoplockforceclose;
   int sv599_enablefcbopens;
   int sv599_enableraw;
   int sv599_enablesharednetdrives;
   DWORD sv599_minfreeconnections;
   DWORD sv599_maxfreeconnections;
   DWORD sv599_initsesstable;
   DWORD sv599_initconntable;
   DWORD sv599_initfiletable;
   DWORD sv599_initsearchtable;
   DWORD sv599_alertschedule;
   DWORD sv599_errorthreshold;
   DWORD sv599_networkerrorthreshold;
   DWORD sv599_diskspacethreshold;
   DWORD sv599_reserved;
   DWORD sv599_maxlinkdelay;
   DWORD sv599_minlinkthroughput;
   DWORD sv599_linkinfovalidtime;
   DWORD sv599_scavqosinfoupdatetime;
   DWORD sv599_maxworkitemidletime;
 } SERVER_INFO_599,
  *PSERVER_INFO_599,
  *LPSERVER_INFO_599;

sv599_sessopens: Specifies the number of files that can be open in one session. The range of values MUST be from 1 to 16384, inclusive.<21>

sv599_sessvcs: Specifies the maximum number of sessions that are permitted per client. This value MUST be set to one.

sv599_opensearch: Specifies the number of search operations that can be carried out simultaneously. The range of values MUST be from 1 to 2,048, inclusive.

sv599_sizreqbuf: Specifies the size, in bytes, of each server buffer. This field MUST be ignored by the server on receipt for set operations. The range of values MUST be 1,024 to 65,535, inclusive.<22>

sv599_initworkitems: Specifies the initial number of receive buffers, or work items, that the server uses. The range of values for get operations MUST be from 1 to 512, inclusive. This field MUST be ignored by the server on receipt for set operations.

sv599_maxworkitems: Specifies the maximum number of receive buffers, or work items, that the server can allocate. If this limit is reached, the transport MUST initiate flow control. The range of values MUST be from 1 to 65,535, inclusive. The server enforces a ceiling based on the particular SKU that is running on the server by taking a minimum specified value and the ceiling.

sv599_rawworkitems: Specifies the number of special work items the server uses for raw mode I/O. A larger value for this member can increase performance, but it requires more memory. The range of values for get operations MUST be from 1 to 512, inclusive. This field MUST be ignored by the server on receipt for set operations.

sv599_irpstacksize: Specifies the number of stack locations that the server allocated in I/O request packets (IRPs). This field MUST be ignored by the server on receipt for set operations. The range of values MUST be 11 to 50, inclusive.<23>

sv599_maxrawbuflen: The server MUST validate the value on receipt. This value MUST be set to 65,535. Due to historical reasons, the server does not store this value.

sv599_sessusers: Specifies the maximum number of users who can be logged on to the server in a single connection. The range of values MUST be from 1 to 2,048, inclusive.

sv599_sessconns: Specifies the maximum number of tree connections that can be made on the server in a single session. The range of values MUST be from 1 to 2,048, inclusive.

sv599_maxpagedmemoryusage: Specifies the maximum size of pageable memory, in bytes, that the server can allocate at any one time. The range of values MUST be from 0x00400000 to 0xFFFFFFFF, inclusive.<24>

sv599_maxnonpagedmemoryusage: Specifies the maximum size of nonpaged memory in bytes that the server can allocate at any one time. The range of values MUST be from 0x00400000 to 0xFFFFFFFF, inclusive.<25>

sv599_enablesoftcompat: A Boolean that specifies the SoftCompatibility capability of the server. This field MUST be set to TRUE (1) to enable the SoftCompatibility feature, or it MUST be set to FALSE (0) to disable the SoftCompatibility feature. The default value is TRUE (1). This setting affects the open mode when the client does not have read/write permission to the file it is accessing. If this feature is enabled, the server uses share access (parameter to CreateFile) equal to FILE_SHARE_READ and does not mark the open as compatibility mode open; otherwise, share access is set equal to 0, and the open is marked as compatibility mode open.

sv599_enableforcedlogoff: A Boolean that specifies whether or not the server forces a client to disconnect, even if the client has open files, after the client's logon time has expired. This field MUST be set to TRUE (1) for the server to force a client to disconnect under those circumstances, or it MUST be set to FALSE (0) for the server not to force a client to disconnect under those circumstances. The default value is TRUE (1).

sv599_timesource: A Boolean that specifies whether the server is a reliable time source.

sv599_acceptdownlevelapis: A Boolean that specifies whether the server accepts method calls from previous-generation NTLM clients. This field MUST be set to TRUE (1) to enable the server to accept method calls from previous-generation NTLM clients, or it MUST be set to FALSE (0) to disable the server from accepting method calls from previous NTLM clients. The default value is TRUE (1). This field MUST be ignored by the server on receipt.

sv599_lmannounce: A Boolean that specifies whether the server is visible to NTLM 2.x clients. The default value is FALSE (0). If this feature is enabled, the server announces its presence through LanMan or NetBIOS announcements.

sv599_domain: A pointer to a Unicode UTF character string that specifies the name of the server's domain. This field cannot be modified by clients.

sv599_maxcopyreadlen: The server MUST validate this value on receipt. The range of values MUST be from 0x00000000 to 0xFFFFFFFF, inclusive. Due to historical reasons, the server does not store this value.

sv599_maxcopywritelen: The server MUST validate this value on receipt. The range of values MUST be from 0x00000000 to 0xFFFFFFFF, inclusive. Due to historical reasons, the server does not store this value.

sv599_minkeepsearch: The server MUST validate this value on receipt. The range of values MUST be from 5 to 5,000, inclusive. Due to historical reasons, the server does not store this value.

sv599_maxkeepsearch: Specifies the length of time, in seconds, that the server retains information about incomplete directory search operations. For more information about directory searches, see [MS-CIFS] sections 2.2.6.2 and 2.2.6.3. The range of values MUST be from 10 to 10,000, inclusive.

sv599_minkeepcomplsearch: The server MUST validate this value on receipt. The range of values MUST be from 1 to 1,000, inclusive. Due to historical reasons, the server does not store this value.

sv599_maxkeepcomplsearch: The server MUST validate this value on receipt. The range of values MUST be from 2 to 10,000, inclusive. Due to historical reasons, the server does not store this value.

sv599_threadcountadd: Unused. This field MUST be ignored on receipt.

sv599_numblockthreads: Unused. This field MUST be ignored on receipt.

sv599_scavtimeout: Specifies the period of time, in seconds, that an implementation-specific timer on the server remains idle before waking up to service requests. This timer runs periodic maintenance tasks that monitor time-out requests, log errors, update server statistics, and update the connection Quality of Service (QoS) by querying the underlying transport. The range of values MUST be from 1 to 300, inclusive.

sv599_minrcvqueue: Specifies the minimum number of free receive work items that the server requires before it begins to allocate more. The server keeps a pool of free work items for each worker queue. When a new request is posted to this queue, a work item is picked from the pool to hold that request while it is being processed. The work item is returned to the pool after the processing is done. If the number of free work items (that is, work items that are not being used to process a request) for a queue falls below this setting, the server will request more work items to be allocated for the queue. The range of values MUST be from 0 to 10, inclusive.

sv599_minfreeworkitems: Specifies the minimum number of available receive work items that the server requires to begin processing a server message block. The range of values MUST be from 0 to 10, inclusive.

sv599_xactmemsize: Specifies the size, in bytes, of the shared memory region that is used to process server methods. The range of values MUST be from 0x10000 (64 KB) to 0x1000000 (16 MB), inclusive. This field MUST be ignored by the server on receipt for set operations.

sv599_threadpriority: Specifies the priority of all server threads in relation to the base priority of the process. The range of values MUST be from 0 to 15, inclusive. This field MUST be ignored by the server on receipt for set operations.

sv599_maxmpxct: Specifies the maximum number of outstanding requests that any one client can send to the server. The range of values MUST be from 1 to 65,535, inclusive.

sv599_oplockbreakwait: Specifies the period of time, in seconds, to wait before timing out an opportunistic lock break request. For more information about opportunistic locks, see  [MS-CIFS] section  3.2.4.18. The range of values MUST be from 10 to 180, inclusive.

sv599_oplockbreakresponsewait: Specifies the period of time, in seconds, that the server waits for a client to respond to an opportunistic lock break request from the server. For more information about opportunistic locks, see [MS-CIFS] section 3.2.4.18. The range of values MUST be from 10 to 180, inclusive.

sv599_enableoplocks: A Boolean that specifies whether the server allows clients to use opportunistic locks on files. Opportunistic locks are a significant performance enhancement, but they have the potential to cause lost cached data on some networks, particularly wide-area networks. For more information about opportunistic locks, see [MS-CIFS] section 3.2.4.18. This field MUST be set to TRUE (1) to enable clients to use opportunistic locks on files, or it MUST be set to FALSE (0) to restrict clients from using opportunistic locks on files. The default value is TRUE (1).

sv599_enableoplockforceclose: Unused. MUST be set to zero and ignored on receipt.

sv599_enablefcbopens: Specifies whether several MS-DOS File Control Blocks (FCBs) are placed in a single location accessible to the server. If enabled, this option can save resources on the server. This field MUST be set to TRUE (1) to place multiple MS-DOS FCBs in a single location accessible to the server, and it MUST be set to FALSE (0) otherwise. The default value is TRUE (1).

sv599_enableraw: Specifies whether the server processes raw SMBs. If enabled, this allows more data to transfer per transaction and improves performance. However, it is possible that processing raw SMBs can impede performance on certain networks. This field MUST be set to TRUE (1) to indicate that the server processes raw SMBs, and it MUST be set to FALSE (0) to indicate that the server does not process raw SMBs. The server MUST maintain the value of this member. The default value is TRUE (1).

sv599_enablesharednetdrives: Specifies whether the server allows redirected server drives to be shared. The default value is FALSE (0).

sv599_minfreeconnections: Specifies the minimum number of free connection blocks that are maintained per endpoint. The server MUST set these aside to handle bursts of requests by clients to connect to the server. The range of values MUST be from 2 to 1,024.<26>

sv599_maxfreeconnections: Specifies the maximum number of free connection blocks that are maintained per endpoint. The server MUST set these aside to handle bursts of requests by clients to connect to the server. The range of values MUST be from 2 to 16,384.<27>

sv599_initsesstable: Specifies the initial session table size for the server in terms of the number of records (session structures used by the server internally to represent active sessions). The range of values MUST be from 1 to 64, inclusive.

sv599_initconntable: Specifies the initial connection table size for the server in terms of the number of records (connection structures used by the server internally to represent active connections). The range of values MUST be from 1 to 128, inclusive.

sv599_initfiletable: Specifies the initial file table size for the server in terms of the number of records (file structures used by the server internally to represent current open resources). The range of values MUST be from 1 to 256, inclusive.

sv599_initsearchtable: Specifies the initial search table size for the server in terms of the number of records (search structures used by the server internally to represent active searches). The range of values MUST be from 1 to 2,048, inclusive.

sv599_alertschedule: Specifies the time, in minutes, between two invocations of an implementation-specific algorithm on the server. This algorithm monitors server errors and disk space limits, and it generates the implementation-specific failure events. The range of values MUST be from 1 to 65,535, inclusive.

sv599_errorthreshold: Specifies the number of failed operations (non-network) that the server logs before raising an administrative alert. The particular operations whose failure causes the count of failed non-network operations to be incremented is implementation-dependent. The range of values MUST be from 1 to 65,535, inclusive.

sv599_networkerrorthreshold: Specifies the minimum percentage of failed network operations that the server records before raising an administrative alert. An alert MUST be raised when (the number of failed network operations / the number of all attempted network operations) * 100 is greater than or equal to this value. The range of values MUST be from 1 to 100, inclusive.

sv599_diskspacethreshold: Specifies the percent of free disk at which to raise an administrative alert. The range of values MUST be from 0 to 99, inclusive.

sv599_reserved: Reserved. This field MUST be set to zero.

sv599_maxlinkdelay: Specifies the maximum link delay, in seconds, for the server. The server enables raw I/O [MS-SMB] for a connection only if oplocks are enabled for this connection and the link delay on the connection is less than or equal to this value. The range of values MUST be from 0x00000000 to 0x10000000, inclusive.

sv599_minlinkthroughput: Specifies the minimum link throughput, in bytes/second, for the server. The server enables oplocks for a connection only if its current throughput is greater than or equal to this value. The range of values MUST be from 0x00000000 to 0xFFFFFFFF, inclusive.

sv599_linkinfovalidtime: Specifies the time interval, in seconds, during which the server can use the computed link information before having to compute it again. The range of values MUST be from 0x00000000 to 0x10000000, inclusive.

sv599_scavqosinfoupdatetime: Specifies the time interval for which an implementation-specific timer on the server has to update QoS information. This time interval allows the client to have the QoS information update done less frequently than the other tasks done by the timer. The range of values MUST be from 0x00000000 to 0x10000000, inclusive.

sv599_maxworkitemidletime: Specifies the maximum work item idle time, in seconds. For historical reasons, the server only stores this value, and it has no effect on server operation. The range of values MUST be from 10 to 1,800, inclusive.