M
Mox schrieb:
Du siehst anhand Deines Enumerators, was Dir zur Verfügung steht.
Hast Du Dir die Ausgaben Deines Programmes überhaupt mal angesehen?
saladin schrieb:
Klaro...
Hier die Konsolenausgabe:
http://www.bilder-upload.eu/show.php?file=a62221-1464880395.png
Hier die Demo, dass mein HRESULT Objekt auf Fail gesetzt wird:
http://www.bilder-upload.eu/show.php?file=22fd68-1464880492.png
Wirklich??
Die erste Frage wäre ob beim enummerieren das gewünschte Gerät dabei.
Wenn das Gerät dabei ist, müsste man sich diesen Moniker merken und ihn danach
für die weiteren Funktionen verwenden.
Hier wird über alles enummeriert und alle Moniker werden danach released.
Es macht keinen Sinn Release auszukommentieren
Der gesuchte Moniker in
DisplayDeviceInformation(pEnum)
darf auch nicht überschrieben werden...
Zuerst muss man mal feststellen ob das Gerät da ist:
// Get description or friendly name.
hr = pPropBag->Read(L"Description", &var, 0);
if (FAILED(hr))
{
hr = pPropBag->Read(L"FriendlyName", &var, 0);
}
if (SUCCEEDED(hr))
{
cout << var.bstrVal << endl;
wstring vgl(var.bstrVal);
if(vgl.compare(TEXT("Basler Camera xxx")) == 0)
gefunden = true;
VariantClear(&var);
}
Wenn gefunden true ist sollte dieser Moniker verwendet werden ...