Ошибка другого соединения. Перезаписать функцию Microsoft CNG Bcrypt в новой DLL
Я пытаюсь переписать функцию BCryptEnumAlgorithms из bcrypt.h, но я получаю эту ошибку
Ошибка C2375 "BCryptEnumAlgorithms": переопределение; другая связь NewCNGDLL
Моя цель - переписать некоторые функции из CNG Bcrypt и создать новый файл DLL
Мои файлы.h и.cpp из моего.dll:
NewCNGDLL.h
#pragma once
#ifdef NEWCNGDLL_EXPORTS
#define MYLIB_API __declspec(dllexport)
#else
#define MYLIB_API __declspec(dllimport)
#endif
#include"shared/bcrypt.h"
/* Test Function
*/
extern "C" MYLIB_API int AddInt(int a, int b);
extern "C"
MYLIB_API
NTSTATUS
WINAPI
BCryptEnumAlgorithms(
ULONG dwAlgOperations,
ULONG *pAlgCount,
BCRYPT_ALGORITHM_IDENTIFIER **ppAlgList,
ULONG dwFlags);
NewCNGDLL.cpp
// NewCNGDLL.cpp : Defines the exported functions for the DLL application.
//
#pragma once
#include "stdafx.h"
#include"NewCNGDLL.h"
#include<stdio.h>
int AddInt(int a, int b)
{
return a + b;
}
NTSTATUS
WINAPI
BCryptEnumAlgorithms(
ULONG dwAlgOperations,
ULONG *pAlgCount,
BCRYPT_ALGORITHM_IDENTIFIER **ppAlgList,
ULONG dwFlags)
{
NTSTATUS status = 0;
printf("Success\n");
}
- функция
int AddInt(int a, int b)
работает хорошо В bcrypt.h
BCryptEnumAlgorithms
выглядит такMust_inspect_result_ NTSTATUS WINAPI BCryptEnumAlgorithms(в ULONG dwAlgOperations, Out ULONG * pAlgCount, Out BCRYPT_ALGORITHM_IDENTIFIER ** ppAlgList, в ULONG dwFlags);
Я попытался скопировать и вставить определение функции из bcrypt.h в мою DLL, но я все еще получаю эту ошибку ссылки
- Я использую Cryptographic Provider Development Kit от Microsoft
- Когда я пытаюсь использовать функции CNG, не пытаясь перезаписать, он работает нормально
Есть идеи, как это решить?