January 14, 2023
https://issues.dlang.org/show_bug.cgi?id=23625

          Issue ID: 23625
           Summary: Function ZeroMemory missing in windows headers
           Product: D
           Version: D2
          Hardware: All
                OS: Windows
            Status: NEW
          Severity: normal
          Priority: P1
         Component: druntime
          Assignee: nobody@puremagic.com
          Reporter: kytodragon@e.mail.de

core.sys.windows.winbase in druntime is missing the functions ZeroMemory, FillMemory, CopyMemory and MoveMemory. They should be defined like so:

alias RtlMoveMemory = memmove;
alias RtlCopyMemory = memcpy;
pragma(inline, true) void RtlFillMemory(PVOID Destination, SIZE_T Length, BYTE
Fill) { memset(Destination, Fill, Length);}
pragma(inline, true) void RtlZeroMemory(PVOID Destination, SIZE_T Length) {
memset(Destination, 0, Length);}

alias MoveMemory = RtlMoveMemory;
alias CopyMemory = RtlCopyMemory;
alias FillMemory = RtlFillMemory;
alias ZeroMemory = RtlZeroMemory;

Currently they are commented out. Tested with LDC 1.30 and DMD 2.094.2

--