Revision Summary Date Revision History Revision Class Comments 10/22/2006 0.01 New Version 0.01 release 1/19/2007 1.0 Version 1.0 release 3/2/2007 1.1 Minor Version 1.1 release 4/3/2007 1.2 Minor Version 1.2 release 5/11/2007 1.3 Minor Version 1.3 release 6/1/2007 1.3.1 Editorial Changed language and formatting in the technical content. 7/3/2007 2.0 Major Updated and revised the technical content. 7/20/2007 3.0 Major Updated and revised the technical content. 8/10/2007 4.0 Major Updated and revised the technical content. 9/28/2007 4.1 Minor Clarified the meaning of the technical content. 10/23/2007 4.2 Minor Clarified the meaning of the technical content. 11/30/2007 4.2.1 Editorial Changed language and formatting in the
technical content. 1/25/2008 4.2.2 Editorial Changed language and formatting in the technical content. 3/14/2008 5.0 Major Updated and revised the technical content. 5/16/2008 6.0 Updated and revised the technical content. 6/20/2008 7.0 Major Updated and revised the technical content. 7/25/2008 7.1 Minor Clarified the meaning of the technical content. 8/29/2008 8.0 Major Updated and revised the technical content. 10/24/2008 8.1 Minor Clarified the meaning of the technical content. 12/5/2008 9.0 Major Updated and revised the technical content. 1/16/2009 9.1 Minor Clarified the meaning of the technical content. 2/27/2009 10.0 Major Updated and revised the
technical content. 4/10/2009 11.0 Updated and revised the technical content. 5/22/2009 12.0 Major Updated and revised the technical content. 7/2/2009 12.1 Minor Clarified the meaning of the technical content. 8/14/2009 12.1.1 Editorial Changed language and formatting in the technical content. 9/25/2009 12.2 Minor Clarified the meaning of the technical content. 11/6/2009 13.0 Major Updated and revised the technical content. 12/18/2009 14.0 Major Updated and revised the technical content. 1/29/2010 15.0 Updated and revised the technical content. 3/12/2010 16.0 Major Updated and revised the technical content. 4/23/2010 17.0 Major Updated and revised the
technical content. 6/4/2010 18.0 Major Updated and revised the technical content. 7/16/2010 19.0 Updated and revised the technical content. 8/27/2010 20.0 Major Updated and revised the technical content. 10/8/2010 21.0 Major Updated and revised the technical content. 11/19/2010 22.0 Updated and revised the technical content. 1/7/2011 23.0 Updated and revised the technical content. 2/11/2011 24.0 Major Updated and revised the technical content. 3/25/2011 25.0 Major Updated and revised the technical content. 5/6/2011 26.0 Major Updated and revised the technical content. 6/17/2011 26.1 Minor Clarified the meaning of the technical content.
9/23/2011 27.0 Major Updated and revised the technical content. 12/16/2011 28.0 Major Updated and revised the technical content. 3/30/2012 29.0 Updated and revised the technical content. 7/12/2012 29.0 None No changes to the meaning, language, or formatting of the technical content. 10/25/2012 30.0 Major Updated and revised the technical content. 1/31/2013 30.0 None No changes to the meaning, language, or formatting of the technical content. 8/8/2013 31.0 Updated and revised the technical content. 11/14/2013 32.0 Major Updated and revised the technical content. 2/13/2014 32.0 None No changes to the meaning, language, or formatting
of the technical content. 5/15/2014 32.0 None No changes to the meaning, language, or formatting of the technical content. 6/30/2015 33.0 Major Significantly changed the technical content. 10/16/2015 33.0 None No changes to the meaning, language, or formatting of the technical content. 7/14/2016 33.0 None No changes to the meaning, language, or formatting of the technical content. 6/1/2017 33.0 None No changes to the meaning, language, or formatting of the technical content. 9/15/2017 34.0 Significantly changed the technical content. 9/12/2018 35.0 Major Significantly changed the technical content.
Messages Transport The methods that the Server Service Remote Protocol exposes are available on one : srvsvc (RPC protseqs ncacn_np), as specified in section 2.1.1.2. The Server Service Remote Protocol endpoint is available only over named pipes. For more details about named pipes, see . This protocol MUST use the as specified in section . The RPC version number is 3.0. This protocol allows any user to establish a to the RPC . The protocol uses the underlying RPC protocol to retrieve the identity of the caller that made the method call, as specified in [MS-RPCE] section 3.3.3.4.3. The server SHOULD use this identity to perform method-specific access checks as specified in section .<2> Common Data Types In addition to base types defined in and , the data types that follow are defined in the specification for this RPC interface. This protocol uses the following types, as specified in . Type Reference DWORD [MS-DTYP] section 2.2.9 GUID [MS-DTYP] section 2.3.4 NET_API_STATUS [MS-DTYP] section 2.2.37 SECURITY_INFORMATION [MS-DTYP] section 2.4.7 WCHAR [MS-DTYP] section 2.2.60 Simple Data Types SRVSVC_HANDLE SRVSVC_HANDLE: A pointer to a null-terminated Unicode UTF-16 string that specifies the or of the remote server on which the method is to execute that is pre-pended with "\\" (two literal backslash characters). This type is declared as follows: typedef [handle, string] wchar_t* SRVSVC_HANDLE;
files from this share. Platform IDs The following values are returned by the to indicate its platform version.<5><6> Constant/value Description PLATFORM_ID_DOS 300 Specified by a server running DOS. PLATFORM_ID_OS2 400 Specified by a server running OS2. PLATFORM_ID_NT 500 Specified by a server running Windows NT or a newer Windows operating system version. PLATFORM_ID_OSF 600 Specified by a server running OSF/1. PLATFORM_ID_VMS 700 Specified by a server running VMS. Software Type Flags The SV_TYPE flags indicate the services that are available on the . Description SV_TYPE_WORKSTATION 0x00000001 A server running the WorkStation Service. SV_TYPE_SERVER 0x00000002 A server running the Server Service. SV_TYPE_SQLSERVER 0x00000004 A server running SQL Server. SV_TYPE_DOMAIN_CTRL 0x00000008 A primary domain controller. SV_TYPE_DOMAIN_BAKCTRL 0x00000010 A backup domain controller. SV_TYPE_TIME_SOURCE A server is available as a
0x00000020 time source for network time synchronization. SV_TYPE_AFP 0x00000040 An Apple File Protocol server. SV_TYPE_NOVELL 0x00000080 A Novell server. SV_TYPE_DOMAIN_MEMBER 0x00000100 A LAN Manager 2.x domain member. SV_TYPE_PRINTQ_SERVER 0x00000200 A server sharing print queue. SV_TYPE_DIALIN_SERVER 0x00000400 A server running a service. SV_TYPE_XENIX_SERVER 0x00000800 A server. SV_TYPE_NT 0x00001000 Windows Server 2003 operating system, Windows XP operating system, Windows 2000 operating system, or Windows NT operating system. SV_TYPE_WFW 0x00002000 A server running Windows for Workgroups. SV_TYPE_SERVER_MFPN 0x00004000 Microsoft File and Print for NetWare. SV_TYPE_SERVER_NT 0x00008000 Windows Server 2003, Windows 2000 Server operating system, or a server that is not a domain controller. SV_TYPE_POTENTIAL_BROWSER 0x00010000 A server that can run the browser service.
SV_TYPE_BACKUP_BROWSER 0x00020000 A server running a browser service as backup. SV_TYPE_MASTER_BROWSER 0x00040000 A server running the master browser service. SV_TYPE_DOMAIN_MASTER 0x00080000 A server running the domain master browser. SV_TYPE_WINDOWS 0x00400000 Windows Millennium Edition operating system, Windows 98 operating system, or Windows 95 operating system. SV_TYPE_DFS 0x00800000 A server running the DFS service. SV_TYPE_CLUSTER_NT 0x01000000 Server clusters available in the domain. SV_TYPE_TERMINALSERVER 0x02000000 Terminal Server. SV_TYPE_CLUSTER_VS_NT 0x04000000 Cluster virtual servers available in the domain. SV_TYPE_DCE 0x10000000 A server running IBM DSS (Directory and Security Services) or equivalent. SV_TYPE_ALTERNATE_XPORT 0x20000000 Return list for alternate transport. SV_TYPE_LOCAL_LIST_ONLY 0x40000000 Servers maintained by the browser. SV_TYPE_DOMAIN_ENUM 0x80000000 Primary domain. SV_TYPE_ALL All servers.
0xFFFFFFFF Name Types The following values specify types of names that are used with the , , and methods. Constant/value Description NAMETYPE_USER 1 User name NAMETYPE_PASSWORD 2 User password NAMETYPE_GROUP 3 Group name NAMETYPE_COMPUTER 4 Computer name NAMETYPE_EVENT 5 name NAMETYPE_DOMAIN 6 NetBIOS name of a domain NAMETYPE_SERVICE 7 Service name NAMETYPE_NET 8 Net name NAMETYPE_SHARE 9 Share name NAMETYPE_MESSAGE 10 Message name NAMETYPE_MESSAGEDEST 11 Message destination NAMETYPE_SHAREPASSWORD 12 Share password NAMETYPE_WORKGROUP 13 Workgroup name More information for each NameType is listed following. The set of default invalid characters includes "/\[]:|<>+=;,? as well as the control characters in the range from 0x01 through 0x1F, inclusive.
101 SV_PLATFORM_ID_PARMNUM Indicates that a sv*_platform_id member caused the 102 SV_NAME_PARMNUM Indicates that a member member caused the error. 103 SV_VERSION_MAJOR_PARMNUM Indicates that a sv*_version_major member caused the error. 104 SV_VERSION_MINOR_PARMNUM Indicates that a sv*_version_minor member caused the error. 105 SV_TYPE_PARMNUM Indicates that a sv*_type member caused the error. 5 SV_COMMENT_PARMNUM Indicates that a sv*_comment member caused the error. 107 SV_USERS_PARMNUM Indicates that a sv*_users member caused the 10 SV_DISC_PARMNUM Indicates that a sv*_disc member caused the error. 16 SV_HIDDEN_PARMNUM Indicates that a sv*_hidden member caused the error. 17 SV_ANNOUNCE_PARMNUM Indicates that a sv*_announce member caused the error. 18 SV_ANNDELTA_PARMNUM Indicates that a sv*_anndelta member caused the error. 112 SV_USERPATH_PARMNUM Indicates that a sv*_userpath member caused the error. 501 SV_SESSOPENS_PARMNUM Indicates that a sv*_sessopens member caused the error. 502 SV_SESSVCS_PARMNUM Indicates that a sv*_sessvcs member caused the 503 SV_OPENSEARCH_PARMNUM Indicates that a sv*_opensearch member caused the error. 504 SV_SIZREQBUF_PARMNUM Indicates that a sv*_sizreqbuf member caused the error. 505 SV_INITWORKITEMS_PARMNUM Indicates that a sv*_initworkitems member caused the error. 506 SV_MAXWORKITEMS_PARMNUM Indicates that a sv*_maxworkitems member caused the error.
507 SV_RAWWORKITEMS_PARMNUM Indicates that a sv*_rawworkitems member caused the error. 508 SV_IRPSTACKSIZE_PARMNUM Indicates that a sv*_irpstacksize member caused the 509 SV_MAXRAWBUFLEN_PARMNUM Indicates that a sv*_maxrawbuflen member caused the error. 510 SV_SESSUSERS_PARMNUM Indicates that a sv*_sessusers member caused the error. 511 SV_SESSCONNS_PARMNUM Indicates that a sv*_sessconns member caused the error. 512 SV_MAXNONPAGEDMEMORYUSAGE_PARMNUM Indicates that a sv*_maxnonpagedmemoryusage member caused the error. 513 SV_MAXPAGEDMEMORYUSAGE_PARMNUM Indicates that a sv*_maxpagedmemoryusage member caused the error. 514 SV_ENABLESOFTCOMPAT_PARMNUM Indicates that a sv*_enablesoftcompat member caused the error. 515 SV_ENABLEFORCEDLOGOFF_PARMNUM Indicates that a sv*_enableforcedlogoff member caused the error. 516 SV_TIMESOURCE_PARMNUM Indicates that a sv*_timesource member caused the error. 517 SV_ACCEPTDOWNLEVELAPIS_PARMNUM Indicates that a sv*_acceptdownlevelapis member caused the 518 SV_LMANNOUNCE_PARMNUM Indicates that a sv*_lmannounce member caused the error. 519 SV_DOMAIN_PARMNUM Indicates that a sv*_domain member caused the error. 520 SV_MAXCOPYREADLEN_PARMNUM Indicates that a sv*_maxcopyreadlen member caused the error. 521 SV_MAXCOPYWRITELEN_PARMNUM Indicates that a sv*_maxcopywritelen member caused the error. 522 SV_MINKEEPSEARCH_PARMNUM Indicates that a sv*_minkeepsearch member caused the error.
523 SV_MAXKEEPSEARCH_PARMNUM Indicates that a sv*_maxkeepsearch member caused the error. 524 SV_MINKEEPCOMPLSEARCH_PARMNUM Indicates that a sv*_minkeepcomplsearch member caused the error. 525 SV_MAXKEEPCOMPLSEARCH_PARMNUM Indicates that a sv*_maxkeepcomplsearch member caused the error. 526 SV_THREADCOUNTADD_PARMNUM Indicates that a sv*_threadcountadd member caused the error. 527 SV_NUMBLOCKTHREADS_PARMNUM Indicates that a sv*_numblockthreads member caused the error. 528 SV_SCAVTIMEOUT_PARMNUM Indicates that a sv*_scavtimeout member caused the error. 529 SV_MINRCVQUEUE_PARMNUM Indicates that a sv*_minrcvqueue member caused the error. 530 SV_MINFREEWORKITEMS_PARMNUM Indicates that a sv*_minfreeworkitems member caused the error. 531 SV_XACTMEMSIZE_PARMNUM Indicates that a sv*_xactmemsize member caused the 532 SV_THREADPRIORITY_PARMNUM Indicates that a sv*_threadpriority member caused the error. 533 SV_MAXMPXCT_PARMNUM Indicates that a sv*_maxmpxct member caused the 534 SV_OPLOCKBREAKWAIT_PARMNUM Indicates that a sv*_oplockbreakwait member caused the error. 535 SV_OPLOCKBREAKRESPONSEWAIT_PARMNUM Indicates that a sv*_oplockbreakresponsewait member caused the error. 536 SV_ENABLEOPLOCKS_PARMNUM Indicates that a sv*_enableoplocks member caused the error. 537 SV_ENABLEOPLOCKFORCECLOSE_PARMNUM Indicates that a sv*_enableoplockforceclose member caused the error. 538 SV_ENABLEFCBOPENS_PARMNUM Indicates that a sv*_enablefcbopens member caused the error.
539 SV_ENABLERAW_PARMNUM Indicates that a sv*_enableraw member caused the 540 SV_ENABLESHAREDNETDRIVES_PARMNUM Indicates that a sv*_enablesharednetdrives member caused the error. 541 SV_MINFREECONNECTIONS_PARMNUM Indicates that a sv*_minfreeconnections member caused the error. 542 SV_MAXFREECONNECTIONS_PARMNUM Indicates that a sv*_maxfreeconnections member caused the error. 543 SV_INITSESSTABLE_PARMNUM Indicates that a sv*_initsesstable member caused the error. 544 SV_INITCONNTABLE_PARMNUM Indicates that a sv*_initconntable member caused the 545 SV_INITFILETABLE_PARMNUM Indicates that a sv*_initfiletable member caused the error. 546 SV_INITSEARCHTABLE_PARMNUM Indicates that a sv*_initsearchtable member caused the error. 547 SV_ALERTSCHEDULE_PARMNUM Indicates that a sv*_alertschedule member caused the error. 548 SV_ERRORTHRESHOLD_PARMNUM Indicates that a sv*_errorthreshold member caused the error. 549 SV_NETWORKERRORTHRESHOLD_PARMNUM Indicates that a sv*_networkerrorthreshold member caused the error. 550 SV_DISKSPACETHRESHOLD_PARMNUM Indicates that a sv*_diskspacethreshold member caused the error. 552 SV_MAXLINKDELAY_PARMNUM Indicates that a sv*_maxlinkdelay member caused the 553 SV_MINLINKTHROUGHPUT_PARMNUM Indicates that a sv*_minlinkthroughput member caused the 554 SV_LINKINFOVALIDTIME_PARMNUM Indicates that a sv*_linkinfovalidtime member caused the error. 555 SV_SCAVQOSINFOUPDATETIME_PARMNUM Indicates that a sv*_scavqosinfoupdatetime member caused the error.
3 NAMETYPE_COMPUTER 4 15/YES 259/NO NAMETYPE_EVENT 5 16/YES 16/YES NAMETYPE_DOMAIN 6 15/YES 15/NO NAMETYPE_SERVICE 7 15/YES 80/NO NAMETYPE_NET 8 259/YES 259/YES NAMETYPE_SHARE 9 12/YES 80/NO NAMETYPE_MESSAGE 10 259/YES 259/YES NAMETYPE_MESSAGEDEST 11 259/YES 259/YES NAMETYPE_SHAREPASSWORD 12 8/NO 8/NO NAMETYPE_WORKGROUP 13 15/YES 15/NO The server MAY<122> enforce security measures to verify that the caller has the required permissions to execute this call. If the server enforces these security measures and the caller does not have the required credentials, the server SHOULD<123> fail the call. NetprNameCompare (Opnum 35) The NetprNameCompare method does comparison of two names of a specific name type. long NetprNameCompare( [in, string, unique] SRVSVC_HANDLE ServerName, [in, string] WCHAR* Name1, [in, string] WCHAR* Name2, [in] DWORD NameType, [in] DWORD Flags ); ServerName: An pointer that identifies the . The MUST map this structure to an RPC binding handle (see sections 4.3.5 and 5.1.5.2). The server MUST ignore this parameter. Name1: A pointer to a null-terminated UTF-16 string that contains the first name to compare.
Index A Abstract data model 178 84 180 82 13 13 C 13 226 Client 178 178 178 178 178 178 178 178 17 15 40 39 40 39 39 16 17 17 17 17 17 D Data - abstract 178 84 Data model abstract 178 84 Data types 15 15 180 29 83 83 76 76 E Error codes ( 23, 24, 25) Events 178 174 178 174 179 179 180 179 179 180 F 13 13 42 41 42 41 42 Flags 29 16 18 184 G 9 I 184 183 183 183 12 Initialization 178 90 9 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21
21 21 21 21 21 21 21 21 21 21 21 21 21 21 L Local events 178 174 local application 177 176 server deregisters 175 175 175 looks up 177 174 176 notifies 177 177 177 registers new 175 175 175 177 177 177 40 39 40 39 39 83 83 76 42 41 42 41 42 82 83 81 80 56 65 56 65 65 66 66 56 57 65 66 66 67 67 67 67 68 68 68 68 69 69 69 69 70 70 70 70 71 71 71 71 72 72 72 72 73 73 73 73 74 74 74 74 75 75 75 75 59 59 60 76 76 77 77 79 47 43 45 43 46 44 46 44 46 45 47 54 47 48
51 51 52 52 48 53 48 53 53 49 54 50 55 81 M 16 Message processing 178 92 Message sequencing 178 92 Messages 15 15 Methods 156 158 155 152 154 151 95 163 160 165 161 166 159 168 164 162 102 98 100 150 151 142 168 172 170 140 128 133 141 143 144 148 148 146 107 103 108 127 123 126 173 125 125 111 115 116 119 N 20 20 20 20 20 20 20 20 20 20 20 20 20 20 82 83 156 156 158 158 155 155 152 152 154 154 151 151 95 95 163 163 160 160 165 165 161 161 166 166 159 159 168 168 164 164 162 162 102 102 98 98
100 100 150 150 151 151 142 142 168 168 172 172 170 170 140 140 128 128 133 133 141 141 143 143 144 144 148 148 148 148 146 146 107 107 103 103 108 108 127 127 123 123 126 126 173 173 125 125 125 125 111 111 115 115 116 116 119 119 11 O 12 P 82 183 183 21 40 39 40 39 39 83 83 76 42 41 42 41 42 29 29 29 29 29 29 29 29 29 29 29 29 18 18 18 18 18 18 13 13 208 Protocol Details 84 81 80 56 65 56 65 65 66 66 56 57 65 66 66 67 67 67 67 68 68 68 68 69 69
69 69 70 70 70 70 71 71 71 71 72 72 72 72 73 73 73 73 74 74 74 74 75 75 75 75 59 59 60 76 76 77 77 79 78 78 79 79 47 43 45 43 46 44 46 44 46 45 47 54 47 48 51 51 52 52 48 53 48 53 53 49 54 50 55 81 R 11 12 11 13 179 S 183 183 183 Sequencing – message 178 92 Sequencing rules 178 92 Server 84 90 174 local application 177 176 server deregisters 175 175 175 looks up 177 174 176 notifies 177 177 177 registers new 175 175 175 177 177 177 92 92 156 158 155 152 154 151 95 163 160 165 161 166 159 168 164
162 102 98 100 150 151 142 168 172 170 140 128 133 141 143 144 148 148 146 107 103 108 127 123 126 173 125 125 111 115 116 119 84 92 174 89 81 80 80 25 56 65 56 65 65 66 66 56 57 65 66 66 67 67 67 67 68 68 68 68 69 69 69 69 70 70 70 70 71 71 71 71 72 72 72 72 73 73 73 73 74 74 74 74 75 75 75 75 59 59 60 76 76 77 77 79 78 78 79 79 16 16 16 47 43 45 43 46 44 46 44 46 45 47 16 16 54 24 47 52 48 53 51 51 52 52 48 53 48 53