52 questions with Windows development | Windows Open Specifications tags
[MS-CSRA], [MS-WCCE] Missing Diffs
I noticed that a month ago, you released new versions of [MS-CSRA] and [MS-WCCE] protocols. However, Diff document is missing. It is essential for our work, since protocol specifications may include changes that require updates in our code which was…
Windows development Windows Open Specifications

Clarification on handling reparse points vs. symbolic links in MS-SMB2 Create Requests
Hello, I am reviewing the [MS-SMB2] protocol documentation and have encountered what appears to be a contradiction regarding how the server should handle reparse points and symbolic links during a CREATE request. Relevant Sections from the…
Windows development Windows Open Specifications
What is the data structure of NativeData in OLENativeStream
Hello, I would like to ask what the structure of NativeData in OLENativeStream is. In the documentation [MS-OLEDS], chapter 2.3.6, it states that this stream consists of NativeDataSize (4 bytes) NativeData (variable) I can’t find what the content…
Windows development Windows Open Specifications
[MS-CSRA] ICertAdminD::BackupPrepare incorrect parameter descriptions
In [MS-CSRA] §3.1.4.1.18 ICertAdminD::BackupPrepare method, parameter descriptions for grbitJet and dwBackupFlags are swapped. I.e. grbitJet parameter MUST be 0 and ignored on receipt, while backup type (full/incremental) uses values from the table. That…
Windows development Windows Open Specifications

Download latest version of OpenJDK
Where can I download version 17.0.15 of Microsoft Build OpenJDK? It is released on 15th April 2025. I have checked the link below and it has OpenJDK 17.0.14. https://learn.microsoft.com/en-us/java/openjdk/release-notes#openjdk-17-1
Windows development Windows Open Specifications
[MS-CSRA] ICertAdminD::BackupPrepare backup type values
[MS-CSRA] §3.1.4.1.18 ICertAdminD::BackupPrepare method description contains a table with backup type: 0x00000000 -- Full backup 0x00000001 -- Incremental I want to double-check if values in this table are accurate. I'm asking this, because…
Windows development Windows Open Specifications


Handling Kerberos Errors in SMB Client Authentication
Hi, We are seeking clarification on how our SMB client should handle various Kerberos errors encountered during authentication. The MS-KILE specification provides guidance on recovering from KRB_AP_ERR_SKEW, but we could not find similar instructions for…
Windows development Windows Open Specifications
Querying and Setting Computer Account Attributes Without LDAP
Hi, I am looking for a way to query and set specific computer account attributes in Active Directory without using the LDAP protocol. Currently, I am using the DRSUAPI protocol to set the servicePrincipalName property. However, I couldn't find an…
Windows for business Windows Client for IT Pros Directory services Active Directory
Windows development Windows Open Specifications
Wrong signature when fallback from Kerberos to NTLM
Hi, We’ve encountered an issue with one of our hosts acting as a server (Windows 10 22H2, OS Build 19045.4291). During the last session setup response, the signature sent by the server fails validation, as the value appears to be incorrect. I’ve…
Windows development Windows Open Specifications
[MS-SMB2] SMB1 Negotiate and SMB1/CIFS component being disabled
Trying to understand whether SMB1 Negotiate can be rejected by the Windows Server. I have the following setup for Server 2025: "SMB 1.0/CIFS File Sharing Support" listed as "Not installed". …
Windows development Windows Open Specifications
[MS-SMB2] Error code STATUS_SMB_BAD_CLUSTER_DIALECT
How we can intentionally trigger the server to return the error STATUS_SMB_BAD_CLUSTER_DIALECT, we want to test the client's behavior upon receiving this specific error. The documentation is very clear and states: If the server implements the SMB…
Windows development Windows Open Specifications
[MS-SMB2] Client behavior when server requires signing and allows Guest authentication
According to the MS-SMB2 specifications: From Section 3.2.5.2: If the SecurityMode field in the SMB2 header of the response has the SMB2_NEGOTIATE_SIGNING_REQUIRED bit set, the client MUST set Connection.RequireSigning to TRUE From Section 3.2.5.3.1: If…
Windows development Windows Open Specifications
[MS-USBEPD] Operating system support status
Hi, We are trying to implement MS-USBEPD(https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-usbepd/7c4ff9b4-229e-4606-95ab-9384d1382465) to our USB device stack. Although we have successfully added Microsoft OS 2.0 descriptors and…
Windows development Windows Open Specifications
[MS-SMB2] 3.3.5.4 Receiving an SMB2 NEGOTIATE Request - SMB2_SIGNING_CAPABILITIES negotiate context
https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-smb2/b39f253e-4963-40df-8dff-2f9040ebbeb1 According to spec: "If the Connection.Dialect is "3.1.1", then the server MUST process the NegotiateContextList..." "If…
Windows development Windows Open Specifications
Why Windows SMB client ignores supported auth mechanisms in Negotiate Response?
Scenario: SMB311 Server lists NTLM as the only supported auth mechanism in Negotiate response. Windows client ignores the fact and obtains the TGS for cifs/FQDN of the server and uses Kerberos authentication in Session Setup. Error codes such as…
Windows development Windows Open Specifications
[MS-SMB2] Clarification regarding the relationship between MaxTransactSize and MaxReadSize
Hello, According to [MS-SMB2] 2.2.4 NEGOTIATE Response: "MaxTransactSize (4 bytes): The maximum size, in bytes, of the buffer that can be used for QUERY_INFO, QUERY_DIRECTORY, SET_INFO and CHANGE_NOTIFY operations. MaxReadSize - The maximum read…
Windows development Windows Open Specifications
[MS-ADTS] 6.1.6.9.3.1 Record
Hello, I am writing to inquire about the specification for the attribute msDS-TrustForestTrustInfo of a forest trust object, specifically identified as 6.1.6.9.3.1 Record. Previously, I successfully implemented a parser for all record types, with the…
Windows development Windows Open Specifications
[MS-ADTS] 6.1.6.7.9 trustAttributes
Hi, Cross checking my previous question on msDS-TrustForestTrustInfo with https://learn.microsoft.com/en-us/troubleshoot/windows-server/windows-security/windows-updates-add-new-ntlm-pass-through-authentication-protections#issue-mitigations An attribute…
Windows development Windows Open Specifications
[MS-SMB2] MaxTransactSize and MaxReadSize values clarification
I'm investigating documentation about the SMB protocol. And a misunderstanding arose between these two values. 2.2.4 SMB2 NEGOTIATE Response MaxTransactSize (4 bytes): The maximum size, in bytes, of the buffer that can be used for QUERY_INFO,…
Windows development Windows Open Specifications
When is Montenegrin latin and cyrillic keyboard going to be added to Windows?
Hello! When is Microsoft planning to add Montenegrin (Latin) and Montenegrin (Cyrillic) keyboard to Windows OS? Montenegrin language has been officially recognized as a separate language with its own ISO 639-3 code “cnr” with its variants…