VS2010 - Alteração da estrutura no CryptoAPI - v7.0A vs. v6.0A - WinCrypt.h

EmC:\Program Files\Microsoft SDKs\Windows\v7.0A\Include\WinCrypt.h, a definição paraCERT_CHAIN_ENGINE_CONFIG

typedef struct _CERT_CHAIN_ENGINE_CONFIG {

    DWORD       cbSize;
    HCERTSTORE  hRestrictedRoot;
    HCERTSTORE  hRestrictedTrust;
    HCERTSTORE  hRestrictedOther;
    DWORD       cAdditionalStore;
    HCERTSTORE* rghAdditionalStore;
    DWORD       dwFlags;
    DWORD       dwUrlRetrievalTimeout;      // milliseconds
    DWORD       MaximumCachedCertificates;
    DWORD       CycleDetectionModulus;

*#if (NTDDI_VERSION >= NTDDI_WIN7)
    HCERTSTORE  hExclusiveRoot;
    HCERTSTORE  hExclusiveTrustedPeople;
#endif*

} CERT_CHAIN_ENGINE_CONFIG, *PCERT_CHAIN_ENGINE_CONFIG;

Estou usando o visual studio 2010 em uma máquina XP sp3; nesse caso, espero que os dois membros a seguir na estrutura acima fiquem acinzentados. Mas isto não esta acontecendo

#if (NTDDI_VERSION >= NTDDI_WIN7)
    HCERTSTORE  hExclusiveRoot;
    HCERTSTORE  hExclusiveTrustedPeople;
#endif

NTDDI_VERSION por sua vez é definido emsdkddkver.h da seguinte forma e_WIN32_WINNT de alguma forma assume o valor deNTDDI_WIN7 que no meu caso está incorreto, pois o meu é um computador XP SP

#if !defined(_WIN32_WINNT) && !defined(_CHICAGO_)
#define  _WIN32_WINNT   0x0601
#endif
#ifndef NTDDI_VERSION
#ifdef _WIN32_WINNT
// set NTDDI_VERSION based on _WIN32_WINNT
#define NTDDI_VERSION   NTDDI_VERSION_FROM_WIN32_WINNT(_WIN32_WINNT)
#else
#define NTDDI_VERSION   0x06010000
#endif
#endif

Os dois membros acima da estruturaCERT_CHAIN_ENGINE_CONFIG em questão não está presente emC:\Program Files\Microsoft SDKs\Windows\v6.0A\Include\WinCrypt.hMas o meu projeto do visual studio 2010 puxa automaticamente o cabeçalho e os arquivos lib deC:\Program Files\Microsoft SDKs\Windows\v7.0A\Include\WinCrypt.h Por causa das estruturas conflitantes, estou recebendoparameter is incorrect

Por favor, informe como posso resolver esse problema?

Devo instalar o visual studio 2010 sp1?

I encontrou uma referência na web onde diz que a inicialização da estrutura resolverá o problema, mas isso não acontecerá, pois os dois parâmetros em questão não serão acinzentados e serão recebidos durante a construçã

UPDATE1:

Configurações do meu projeto:

$ (VCInstalDir) -> C: \ Arquivos de Programas \ Microsoft Visual Studio 10.0 \ VC

$ (WindowsSdkDir) -> C: \ Arquivos de Programas \ Microsoft SDKs \ Windows \ v7.0A

$ (FrameworkSdkDir) -> C: \ Arquivos de Programas \ Microsoft SDKs \ Windows \ v7.0A

Configurações do arquivo da biblioteca,

$(VCInstallDir)lib
$(VCInstallDir)atlmfc\lib
$(WindowsSdkDir)lib
$(FrameworkSDKDir)\lib

UPDATE 2: Minhas definições de pré-processador são

WIN32;_DEBUG;_WINDOWS;_USRDLL;MY_DLL_EXPORTS;%(PreprocessorDefinitions)

% (PreprocessorDefinitions) herdaram os valores da seguinte maneira

_WINDLL
_MBCS

Obrigad

questionAnswers(2)

yourAnswerToTheQuestion