Сегмент ниже является частью большей функции в файле большего размера. Я сократил его до того, что считаю необходимым для объяснения моей нынешней проблемы.
Я использую Visual Studio 2010.
Строка с вызовом RegConnectRegistryA заставляет компилятор предупредить меня таким образом: «предупреждение C4229: используется анахронизм: модификаторы данных игнорируются». Это единственное предупреждение или ошибка в выводе компилятора. Сборка завершается успешно, и исполняемый файл запускается, как и ожидалось. Но я хочу избавиться от этого предупреждения. (Я думаю, это было там много месяцев, если честно.)
extern "C" __declspec(dllexport) void whoOpsRegistryGetREG_SZ(
LPCSTR szServer,
LPCSTR szKey,
LPCSTR szValue,
char* szReturn,
int iSize)
{
HKEY hKey;
LONG WINAPI lReturn = ::RegConnectRegistryA(
szServer,
HKEY_LOCAL_MACHINE,
&hKey);
}
То, что я читаю в других постах, наводит меня на мысль, что это как-то связано с #include. Вот и они. Если вам нужно содержимое любого из заголовочных файлов в кавычках, дайте мне знать.
#include "stdafx.h"
#include <windows.h>
#include <initguid.h>
#include <ole2.h>
#include <mstask.h>
#include <msterr.h>
#include <objidl.h>
#include <wchar.h>
#include <stdio.h>
#include <stdarg.h>
#include <lm.h>
#include "whoOpsPrivate.h"
#include "whoOps.h"
#include "jni.h"
#include "whoOps_TaskScheduler.h"
#include "whoOps_ServiceMangler.h"
#include "whoOps_RegistryRaptor.h"
#include "../../cyclOps.h"
Спасибо!