[BCRYPTPRIMITIVES] Import from wine-10.0 (#8818)

Import bcryptprimitives.dll from wine-10.0 for modern applications
This commit is contained in:
Mikhail Tyukin
2026-03-31 10:10:35 -04:00
committed by GitHub
parent 23043ce0b8
commit c93cbb9bf1
5 changed files with 43 additions and 0 deletions

View File

@@ -271,5 +271,6 @@ add_subdirectory(xolehlp)
if(DLL_EXPORT_VERSION GREATER_EQUAL 0x600)
add_subdirectory(avrt)
add_subdirectory(bcryptprimitives)
add_subdirectory(dwmapi)
endif()

View File

@@ -0,0 +1,13 @@
spec2def(bcryptprimitives.dll bcryptprimitives.spec ADD_IMPORTLIB)
list(APPEND SOURCE
main.c
${CMAKE_CURRENT_BINARY_DIR}/bcryptprimitives_stubs.c
${CMAKE_CURRENT_BINARY_DIR}/bcryptprimitives.def)
add_library(bcryptprimitives MODULE ${SOURCE})
set_module_type(bcryptprimitives win32dll UNICODE)
add_importlibs(bcryptprimitives advapi32 msvcrt kernel32 ntdll)
add_cd_file(TARGET bcryptprimitives DESTINATION reactos/system32 FOR all)
set_wine_module(bcryptprimitives)

View File

@@ -0,0 +1 @@
@ stdcall ProcessPrng(ptr long)

View File

@@ -0,0 +1,27 @@
/*
* Copyright 2023 Christopher S. Denton
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#include <stdarg.h>
#include "windef.h"
#include "winbase.h"
#include "ntsecapi.h"
BOOL WINAPI ProcessPrng(BYTE *data, SIZE_T size)
{
return RtlGenRandom(data, size);
}

View File

@@ -58,6 +58,7 @@ dll/win32/atl100 # Synced to WineStaging-3.3
dll/win32/avifil32 # Synced to WineStaging-4.18
dll/win32/avrt # Synced to Wine-9.7
dll/win32/bcrypt # Synced to WineStaging-1.9.23 (+ winetest synced to 8d8936cbb6fea3cac862e059e814527f5361f48b, a.k.a 20161206-BJ)
dll/win32/bcryptprimitives # Synced to Wine-10.0
dll/win32/bluetoothapis # Synced to Wine-10.0
dll/win32/browseui # Out of sync
dll/win32/cabinet # Synced to WineStaging-4.18