6 Appendix A: Product Behavior

The information in this specification is applicable to the following Microsoft products or supplemental software. References to product versions include updates to those products.

The terms "earlier" and "later", when used with a product version, refer to either all preceding versions or all subsequent versions, respectively. The term "through" refers to the inclusive range of versions. Applicable Microsoft products are listed chronologically in this section.

  • Windows NT operating system

  • Windows 2000 operating system

  • Windows 2000 Server operating system

  • Windows XP operating system

  • Windows Server 2003 operating system

  • Windows Vista operating system

  • Windows Server 2008 operating system

  • Windows 7 operating system

  • Windows Server 2008 R2 operating system

  • Windows 8 operating system

  • Windows Server 2012 operating system

  • Windows 8.1 operating system

  • Windows Server 2012 R2 operating system

  • Windows 10 operating system 

  • Windows Server 2016 operating system 

  • Windows Server 2019 operating system

  • Windows Server 2022 operating system 

  • Windows 11 operating system

  • Windows Server 2025 operating system

Exceptions, if any, are noted in this section. If an update version, service pack or Knowledge Base (KB) number appears with a product name, the behavior changed in that update. The new behavior also applies to subsequent updates unless otherwise specified. If a product edition appears with the product version, behavior is different in that product edition.

Unless otherwise specified, any statement of optional behavior in this specification that is prescribed using the terms "SHOULD" or "SHOULD NOT" implies product behavior in accordance with the SHOULD or SHOULD NOT prescription. Unless otherwise specified, the term "MAY" implies that the product does not follow the prescription.

<1> Section 1.6: This protocol is supported on the Windows operating system, including Windows 2000 Server operating system and later and Windows XP operating system and later for purposes of compatibility with pre-Windows NT clients. With the exception of the NetServerEnum2 command and the NetServerEnum3 command, the only client that uses this protocol is Windows 98 operating system. The Remote Administration Protocol is obsolete and is used primarily for communications with Windows 98 clients. The Windows 98 operating system uses the Remote Administration Protocol for the following operations:

  • File Share enumeration (NET VIEW \\SERVER)

  • Printer management

  • Time retrieval

  • Server list retrieval

In addition, the CIFS Browser Protocol uses the Remote Administration Protocol to retrieve lists of servers.

<2> Section 1.7: As shipped, Windows 98 clients use only the NTLM Authentication Protocol. If the Active Directory Client Extension is installed on the Windows 98 machine, the Windows 98 machine uses the NTLM v2 Authentication Protocol.

<3> Section 1.8: Windows uses only the values specified in [MS-ERREF] section 2.2.

<4> Section 2.5.1: The Windows SMB server validates that the ParamDesc matches what is specified by the RAPOpcode; if they do not match, the server returns ERROR_INVALID_PARAMETER (0x57), as specified in section 2.5.2.

<5> Section 2.5.1: The current Windows (versions after Windows 2000) implementation of the Remote Administration Protocol ignores the DataDesc field.

<6> Section 2.5.1: Windows 95 operating system and Windows 98 used the supplied DataDesc, ParamDesc, and AuxDesc structures to convert the RAPParams and the response structures to and from "C" style structures. Current versions of Windows simply validate that the ParamDesc supplied by the client is the value required by the RAPOpcode.

<7> Section 2.5.5.1.1: This command is only supported on Windows 2000, Windows XP, and Windows Vista.

<8> Section 2.5.5.1.2: This command is only supported on Windows 2000 Server, Windows Server 2003, and Windows Server 2008.

<9> Section 2.5.5.2: Windows-based servers only enumerate machines on IPv4 networks, and will return ERROR_FILE_NOT_FOUND (0x00000002) as specified in [MS-ERREF] section 2.2 if only IPv6 is enabled.

<10> Section 2.5.5.2.1: Windows-based servers fail the request with ERROR_INVALID_PARAMETER when SV_TYPE_ALTERNATE_XPORT is set, but will return all server types when SV_TYPE_ALL is set.

<11> Section 2.5.5.3: Windows-based servers only enumerate machines on IPv4 networks, and will return ERROR_FILE_NOT_FOUND (0x00000002) as specified in [MS-ERREF] section 2.2 if only IPv6 is enabled.

<12> Section 2.5.5.4.2: The following table shows the unsigned 8-bit major operating system version number that Windows clients and servers use.

Value

Meaning

0x04

Operating system is Windows 95, Windows 98, Windows Millennium Edition operating system, or Windows NT 4.0 operating system.

0x05

Operating system is Windows 2000 Server, Windows XP, Windows Server 2003, or Windows Server 2003 R2 operating system.

0x06

Operating system is Windows Server 2008 operating system, Windows Vista, Windows Server 2008 R2 operating system, Windows 7, Windows Server 2012, Windows 8, Windows 8.1, or Windows Server 2012 R2.

0x0A

Operating system is Windows 10 and later or Windows Server 2016 operating system and later.

<13> Section 2.5.5.4.2: The following table shows the unsigned 8-bit minor operating system version number that Windows clients and servers use.

Value

Meaning

0x00

Operating system is Windows 95, Windows NT 4.0, Windows 2000 Server, Windows Server 2008, Windows Vista, Windows 10 and later or Windows Server 2016 operating system and later.

0x01

Operating system is Windows XP, Windows Server 2008 R2, or Windows 7.

0x02

Operating system is Windows XP Professional x64 Edition operating system, Windows Server 2003, Windows Server 2003 R2, Windows 8, or Windows Server 2012.

0x03

Operating system is Windows 8.1 or Windows Server 2012 R2.

0x0A

Operating system is Windows 98.

0x5A

Operating system is Windows Millennium Edition.

<14> Section 2.5.6.1.1: This command is only supported on Windows 2000, Windows XP, and Windows Vista.

<15> Section 2.5.6.1.2: This command is only supported on Windows 2000 Server, Windows Server 2003, or Windows Server 2008.

<16> Section 2.5.6.2.1: This command is only supported on Windows 2000, Windows XP, and Windows Vista.

<17> Section 2.5.6.2.2: This command is only supported on Windows 2000 Server, Windows Server 2003, or Windows Server 2008.

<18> Section 2.5.7.1.1: This command is only supported on Windows 2000, Windows XP, and Windows Vista.

<19> Section 2.5.7.1.1: Windows-based servers ignore the input descriptor provided by the client, and validates the input data by using the expected parameter descriptor based on the level provided.

<20> Section 2.5.7.1.2: This command is only supported on Windows 2000 Server, Windows Server 2003, or Windows Server 2008.

<21> Section 2.5.7.1.2: The 64-bit version of Windows Server 2008 will set the Win32ErrorCode value in the Remote Administration Protocol response message to ERROR_UNEXP_NET_ERR (0x0000003B) as specified in [MS-ERREF] section 2.2.

<22> Section 2.5.7.1.2: The 64-bit version of Windows Server 2008 will set the Win32ErrorCode value in the Remote Administration Protocol response message to ERROR_UNEXP_NET_ERR (0x0000003B) as specified in [MS-ERREF] section 2.2.

<23> Section 2.5.7.2.1: This command is only supported on Windows 2000, Windows XP, and Windows Vista.

<24> Section 2.5.7.2.1: Windows-based servers ignore the input descriptor provided by the client, and validates the input data using the expected parameter descriptor based on the level provided.

<25> Section 2.5.7.2.2: This command is only supported on Windows 2000 Server, Windows Server 2003, or Windows Server 2008.

<26> Section 2.5.7.2.2: Windows Server 2008 64-bit version will set the Win32ErrorCode value in the Remote Administration Protocol response message to ERROR_UNEXP_NET_ERR (0x0000003B) as specified in [MS-ERREF], section 2.2.

<27> Section 2.5.7.3.1: This command is only supported on Windows 2000, Windows XP, and Windows Vista.

<28> Section 2.5.7.3.1: For Information level 0x0003, the server will fail the request and return ERROR_NOT_SUPPORTED.

<29> Section 2.5.7.3.2: This command is only supported on Windows 2000 Server, Windows Server 2003, or Windows Server 2008.

<30> Section 2.5.7.4.1: This command is only supported on Windows 2000, Windows XP, and Windows Vista.

<31> Section 2.5.7.4.2: This command is only supported on Windows 2000 Server, Windows Server 2003, or Windows Server 2008.

<32> Section 2.5.7.5.1: This command is only supported on Windows 2000, Windows XP, and Windows Vista.

<33> Section 2.5.7.5.2: This command is only supported on Windows 2000 Server, Windows Server 2003, or Windows Server 2008.

<34> Section 2.5.7.6.1: This command is only supported on Windows 2000, Windows XP, and Windows Vista.

<35> Section 2.5.7.6.2: This command is only supported on Windows 2000 Server, Windows Server 2003, or Windows Server 2008.

<36> Section 2.5.7.7.1: This command is only supported on Windows 2000, Windows XP, and Windows Vista.

<37> Section 2.5.7.7.2: This command is only supported on Windows 2000 Server, Windows Server 2003, or Windows Server 2008.

<38> Section 2.5.7.8.1: For Windows Server 2008, Server will return only 6 bytes of data; the remaining bytes are filled with zeros.

<39> Section 2.5.7.8.3: An IHV driver on the server can provide a Windows 95 compatible driver name in a PrintQueue3 response instead of the actual driver name. The RAP PrintJobInfo3 response always contains the actual driver name.

<40> Section 2.5.8.1.1: This command is only supported on Windows 2000, Windows XP, and Windows Vista.

<41> Section 2.5.8.1.1: Windows makes the following use of this field:

  • The RealPasswordLength is used only for password length restriction checks.

  • The password fields are not encrypted, and the EncryptedPassword field is always set to 0.

  • The contents of the OldPassword and NewPassword fields (past the end of the OldPassword and NewPassword fields) are not initialized and are ignored.

<42> Section 2.5.8.1.2: Windows-based servers will set the Win32ErrorCode value in the Remote Administration Protocol response message to ERROR_UNEXP_NET_ERR (0x0000003B) as specified in [MS-ERREF], section 2.2.

<43> Section 2.5.8.1.2: This command is only supported on Windows 2000 Server, Windows Server 2003, or Windows Server 2008.

<44> Section 2.5.8.2.1: This command is only supported on Windows 2000, Windows XP, and Windows Vista.

<45> Section 2.5.8.2.2: This command is only supported on Windows 2000 Server, Windows Server 2003, or Windows Server 2008.

<46> Section 2.5.8.3.3: A Windows Server 2003 machine needs to be a Domain Controller in order to have accounts operator, server operator, and communication operator groups. If the server is a Domain Controller, the username can be added to one of these groups and will return the relevant flag value. Note that AF_OP_COMM is never set. A Windows Server 2008 Domain Controller will always set the AF_OP_PRINT flag.

<47> Section 2.5.8.3.5: A Windows Server 2003 machine needs to be a Domain Controller in order to have accounts operator, server operator, and communication operator groups. If the server is a Domain Controller, the username can be added to one of these groups and will return the relevant flag value. Note that AF_OP_COMM is never set. A Windows Server 2008 Domain Controller will always set the AF_OP_PRINT flag.

<48> Section 2.5.9.1.1: This command is only supported on Windows 2000, Windows XP, and Windows Vista.

<49> Section 2.5.9.1.2: This command is only supported on Windows 2000 Server, Windows Server 2003, or Windows Server 2008.

<50> Section 2.5.9.2.1: The default ClockFrequency value of a Windows-based server is 31 milliseconds.

<51> Section 2.5.10.1.1: This command is only supported on Windows 2000, Windows XP, and Windows Vista.

<52> Section 2.5.10.1.2: This command is only supported on Windows 2000 Server, Windows Server 2003, or Windows Server 2008.

<53> Section 2.5.10.2.1: This command is only supported on Windows 2000, Windows XP, and Windows Vista.

<54> Section 2.5.10.2.2: Windows-based servers return ERROR_ACCESS_DENIED if WorkstationName is used as the client NetBIOS name. If WorkstationName is used as the client IP address, the request fails with ERROR_UNEXP_NET_ERR.

<55> Section 2.5.10.2.2: This command is only supported on Windows 2000 Server, Windows Server 2003, or Windows Server 2008.

<56> Section 2.5.10.3.1: This command is only supported on Windows 2000, Windows XP, and Windows Vista.

<57> Section 2.5.10.3.2: Windows-based servers return ERROR_ACCESS_DENIED if WorkstationName is used as the client NetBIOS name. If WorkstationName is used as the client IP address, the request fails with ERROR_UNEXP_NET_ERR.

<58> Section 2.5.10.3.2: This command is only supported on Windows 2000 Server, Windows Server 2003, or Windows Server 2008.

<59> Section 2.5.10.4.1: Windows-based servers will set the field to NULL.

<60> Section 2.5.10.4.1: The following table shows the unsigned 8-bit major version number of the networking software (operating system software) the workstation is running:

Value

Meaning

0x05

Windows 2000, Windows XP, Windows Server 2003, or Windows Server 2003 R2.

0x06

Windows Vista, Windows Server 2008, Windows 7, Windows Server 2008 R2, Windows 8, Windows Server 2012, Windows 8.1, or Windows Server 2012 R2.

0x0A

Windows 10 and later, Windows Server 2016 operating system and later.

<61> Section 2.5.10.4.1: The following table shows the unsigned 8-bit minor version number of the networking software (operating system software) the workstation is running:

Value

Meaning

0x00

Windows 2000, Windows Vista, Windows Server 2008, Windows 10 and later, Windows Server 2016 operating system and later.

0x01

Windows XP, Windows 7, or Windows Server 2008 R2

0x02

Windows XP Professional x64 Edition, Windows Server 2003, Windows Server 2003 R2, Windows 8, or Windows Server 2012

0x03

Windows 8.1 and Windows Server 2012 R2

<62> Section 2.5.10.4.1: Windows-based servers will set the field to NULL.

<63> Section 2.5.10.4.1: Windows-based servers will set the field to NULL.

<64> Section 2.5.10.4.3: A Windows Server 2003 machine needs to be a Domain Controller in order to have accounts operator, server operator, and communication operator groups. If the server is a Domain Controller, the username can be added to one of these groups and will return the relevant flag value. Note that AF_OP_COMM is never set. A Windows Server 2008 Domain Controller will always set the AF_OP_PRINT flag.

<65> Section 2.5.11: Windows Server 2008 64-bit version will not return variable-length data. For example, in the NetShareInfo1 (section 2.5.6.3.2) structure, the optional comment string about the share associated with the remarkoffsetlow field will not be returned.

<66> Section 3.2.1.1: Windows-based servers use a browser service to manage this list; for more information, see [MS-BRWS].

<67> Section 3.2.5.1: Windows-based servers will fail the underlying SMB_COM_TRANSACT request with STATUS_INVALID_PARAMETER, as specified in [MS-ERREF] section 2.3.1, instead of sending back an error in the RAP response.

<68> Section 3.2.5.1: If a Windows-based server includes shares with names larger than 12 characters, the server will skip those shares in the response but include their presence in EntriesAvailable. If EntriesReturned + (skipped shares) is equal to EntriesAvailable, the server returns ERROR_SUCCESS instead of ERROR_MORE_DATA.

<69> Section 3.2.5.2: Windows-based servers will fail the underlying SMB_COM_TRANSACT request with STATUS_INVALID_PARAMETER, as specified in [MS-ERREF] section 2.3.1, instead of sending back an error in the RAP response.

<70> Section 3.2.5.3: Windows-based servers will fail the underlying SMB_COM_TRANSACT request with STATUS_INVALID_PARAMETER, as specified in [MS-ERREF] section 2.3.1 instead of sending back an error in the RAP response.

<71> Section 3.2.5.4: Windows-based servers will fail the underlying SMB_COM_TRANSACT request with STATUS_INVALID_PARAMETER, as specified in [MS-ERREF] section 2.3.1, instead of sending back an error in the RAP response.

<72> Section 3.2.5.5: Windows-based servers will fail the underlying SMB_COM_TRANSACT request with STATUS_INVALID_PARAMETER, as specified in [MS-ERREF] section 2.3.1, instead of sending back an error in the RAP response.

<73> Section 3.2.5.6: Windows-based servers will fail the underlying SMB_COM_TRANSACT request with STATUS_INVALID_PARAMETER, as specified in [MS-ERREF] section 2.3.1, instead of sending back an error in the RAP response.

<74> Section 3.2.5.6: For Information level 0x0003, the server will fail the request and return ERROR_NOT_SUPPORTED

<75> Section 3.2.5.7: Windows-based servers will fail the underlying SMB_COM_TRANSACT request with STATUS_INVALID_PARAMETER, as specified in [MS-ERREF] section 2.3.1, instead of sending back an error in the RAP response.

<76> Section 3.2.5.7: Windows-based servers provide the document name as the comment.

<77> Section 3.2.5.7: Windows-based servers provide the document name as the comment.

<78> Section 3.2.5.7: Windows-based servers provide the document name as the comment.

<79> Section 3.2.5.8: Windows-based servers will fail the underlying SMB_COM_TRANSACT request with STATUS_INVALID_PARAMETER, as specified in [MS-ERREF] section 2.3.1, instead of sending back an error in the RAP response.

<80> Section 3.2.5.9: Windows-based servers will fail the underlying SMB_COM_TRANSACT request with STATUS_INVALID_PARAMETER, as specified in [MS-ERREF] section 2.3.1, instead of sending back an error in the RAP response.

<81> Section 3.2.5.10: Windows-based servers will fail the underlying SMB_COM_TRANSACT request with STATUS_INVALID_PARAMETER, as specified in [MS-ERREF] section 2.3.1, instead of sending back an error in the RAP response.

<82> Section 3.2.5.11: Windows-based servers will fail the underlying SMB_COM_TRANSACT request with STATUS_INVALID_PARAMETER, as specified in [MS-ERREF] section 2.3.1, instead of sending back an error in the RAP response.

<83> Section 3.2.5.12: Windows-based servers will fail the underlying SMB_COM_TRANSACT request with STATUS_INVALID_PARAMETER, as specified in [MS-ERREF] section 2.3.1, instead of sending back an error in the RAP response.

<84> Section 3.2.5.13: Windows-based servers will fail the underlying SMB_COM_TRANSACT request with STATUS_INVALID_PARAMETER, as specified in [MS-ERREF] section 2.3.1, instead of sending back an error in the RAP response.

<85> Section 3.2.5.14: Windows-based servers will fail the underlying SMB_COM_TRANSACT request with STATUS_INVALID_PARAMETER, as specified in [MS-ERREF] section 2.3.1, instead of sending back an error in the RAP response.

<86> Section 3.2.5.14: Windows-based servers accept values other than 0x0000 and perform the processing specified in section 3.1.5.10.1, SamrChangePasswordUser, [MS-SAMR].

<87> Section 3.2.5.15: Windows-based servers will fail the underlying SMB_COM_TRANSACT request with STATUS_INVALID_PARAMETER, as specified in [MS-ERREF] section 2.3.1, instead of sending back an error in the RAP response.

<88> Section 3.2.5.15: In Windows, FirstNameToReturn need not be an exact match: the server will return a list of servers that exist on the network greater than or equal to the FirstNameToReturn value.

<89> Section 3.2.5.16: Windows-based servers will fail the underlying SMB_COM_TRANSACT request with STATUS_INVALID_PARAMETER, as specified in  [MS-ERREF] section 2.3.1, instead of sending back an error in the RAP response.

<90> Section 3.2.5.17: Windows-based servers will fail the underlying SMB_COM_TRANSACT request with STATUS_INVALID_PARAMETER, as specified in [MS-ERREF] section 2.3.1, instead of sending back an error in the RAP response.

<91> Section 3.2.5.18: Windows-based servers will fail the underlying SMB_COM_TRANSACT request with STATUS_INVALID_PARAMETER, as specified in [MS-ERREF] section 2.3.1, instead of sending back an error in the RAP response.