J'essaie d'utiliser le didacticiel de Microsoft ici pour configurer une connexion COM pour la programmation WMI. J'ai légèrement modifié l'exemple de code pour l'adapter à mon style. Mon code est jusqu'à présent comme suit:Problème avec l'affectation de HRESULT à l'aide de CoInitializeEx
#include <iostream>
#include <Windows.h>
#include <WbemIdl.h>
#define _WIN32_DCOM
#pragma comment(lib, "wbemidl.lib")
HRESULT hRes;
hRes = CoInitializeEx(0, COINIT_MULTITHREADED);
if(FAILED(hRes))
{
std::cout << "COM initializtion failed." << std::endl;
}
Ma question apparaît sur l'affectation à:
hRes = CoInitializeEx(0, COINIT_MULTITHREADED);
Je vois squiggly un peu rouge, donc je le vérifier et il dit:
Je n'ai aucune idée de ce que le problème est que je n'ai pas vraiment fait C++ dans un moment, alors je pourrais me faire une erreur stupide. Certains googling m'ont conduit à une question SO qui disait que le type n'était pas défini car l'en-tête correct n'avait pas été inclus, mais (corrigez-moi si je me trompe) je pensais que HRESULT
était défini dans Windows.h
.
Quelqu'un peut-il voir un problème avec ce code? Il est une application console Win32 et je suis en utilisant Visual Studio 2015.
Vous semblez essayer de mettre des instructions en dehors d'une fonction? Vous ne pouvez pas faire cela en C++. Tout code qui fait quelque chose doit être dans une fonction. – immibis
@immibis "_Vous ne pouvez pas faire cela en C++ _" En fait, vous pouvez le faire sous des formes rudimentaires :-). Considérons 'HRESULT hRes = CoInitializeEx (0, COINIT_MULTITHREADED);' – AlexD