Я пытаюсь перезаписать функцию 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 ( In ULONG dwAlgOperations, Out ULONG * pAlgCount, Out 10 10PALG_BRIG_PL_BL_PG_P_L_P_LIF_L_P_LIF_P_C_LIF_P_LIF_B_PY_BR_C_PG* In ULONG dwFlags);
Я попытался скопировать и вставить определение функции из bcrypt.h в мою DLL, но я все еще получаю эту ссылку ошибка
Есть идеи, как ее решить?