There is no publicly documented DDEML regression or planned correction for KB5132061; because the documented Win32 contract explicitly supports SetWindowLongPtrA plus CallWindowProcA when subclassing a Unicode-class window, this behavior should be reported to Microsoft as an apparent compatibility regression rather than treated as an intentional API change.
Documented status
KB5132061 applies to Windows 11 25H2 build 26200.9974, but its published fixes and known issues do not mention DDEMLMom, DDE, SetWindowLongPtrA, CallWindowProcA, or missing XTYP_CONNECT callbacks.^1^ The public release-health material likewise contains no matching DDEML issue.^2^
Consequently, the public information cannot confirm either:
- that Microsoft has formally acknowledged this as a known issue; or
- that a fix has been scheduled for a particular update.
Your A/B results strongly isolate a build-dependent A/W forwarding change, but only Microsoft can confirm whether it is a servicing regression and provide a fix commitment.
Supported subclassing behavior
The documented ANSI path is already the path used by your application:
- Install the subclass with
SetWindowLongPtrA. - Preserve the returned previous procedure, including when it is a special internal value.
- Forward unprocessed messages through
CallWindowProcA; do not invoke the returned value directly.
Microsoft specifically documents that when an ANSI subclass forwards to a procedure created from a Unicode class, the system translates the message into Unicode during CallWindowProc processing.^3^ CallWindowProcA also documents that the previous-procedure value can be a special internal value meaningful only to CallWindowProc, and that the function performs Unicode-to-ANSI conversion.^4^
Therefore, there is no separately documented “new” ANSI forwarding method for WM_DDE_INITIATE. An A/W thunk such as 0xFFFFxxxx must continue to be passed unchanged to CallWindowProcA.
Practical mitigation
Since your tested W/W variant works on 26200.9974, the least invasive application mitigation is to exclude DDEMLMom from the MFC ANSI subclassing path or subclass that window explicitly through the Unicode APIs:
static WNDPROC g_prev;
LRESULT CALLBACK DdeMomSubclass(
HWND hwnd, UINT msg, WPARAM wp, LPARAM lp)
{
// Observe or handle messages here.
return CallWindowProcW(g_prev, hwnd, msg, wp, lp);
}
void SubclassDdeMom(HWND hwnd)
{
g_prev = reinterpret_cast<WNDPROC>(
SetWindowLongPtrW(hwnd, GWLP_WNDPROC,
reinterpret_cast<LONG_PTR>(DdeMomSubclass)));
}
The WNDPROC signature itself does not contain character strings, so an MBCS build can call the explicit W APIs. Keep the A and W operations paired—SetWindowLongPtrW with CallWindowProcW—and restore the saved previous procedure when removing the subclass. Windows requires intercepted messages to be passed through CallWindowProc, and subclass chains must be removed in reverse order.^5^
Your current class-procedure restoration workaround bypasses the failing subclass, but it can also discard other instance subclasses in the chain. Prefer preventing MFC from subclassing DDEMLMom, or removing only your own subclass using its saved previous procedure, rather than replacing GWLP_WNDPROC with GCLP_WNDPROC.
Also keep DdeInitializeA versus DdeInitializeW deliberate: Microsoft documents that the selected variant determines whether DDEML uses ANSI or Unicode window procedures to control conversations.^6^ Changing that call is therefore broader than changing only the subclass API and should receive full interoperability testing.
Escalation needed for acknowledgement and scheduling
Submit the minimal x86 reproducer through Feedback Hub → Report a problem on build 26200.9974:
- Include both build numbers and the four-cell A/W result matrix.
- Attach the complete source and compiler command.
- Select Recreate my problem, start recording, and reproduce
server Afollowed byserver W. - Include the returned previous-procedure value and
DdeGetLastErrorresult. - Save a local copy of diagnostics and submit.
Feedback Hub supports attached files and diagnostic recordings of the reproduction.^7^ If a formal acknowledgement or servicing timeline is required, open a Microsoft Support case and provide the Feedback Hub link plus the same reproducer; Feedback Hub reports product defects, while Support is the channel for direct assistance and case tracking.
References
- [Windows 11, versions 25H2 and 26H2](https://support.microsoft.com/servicing/os/windows-11/2026/11/kb5132061-windows-11-24h2-25h2-26h2-security-update)
- Windows 11, version 26H2 known issues and notifications
- Subclassing and Automatic Message Translation
- CallWindowProcA function (winuser.h)
- About Window Procedures
- DdeInitializeW function (ddeml.h)
- Send feedback to Microsoft with the Feedback Hub app | Microsoft Support