Ich versuche get_Skus()
Methode von IStoreProduct
aufrufen, um seine Skus Eigenschaft mit C++/WRL (nicht C++/CX) abrufen, und ich kann keine geeigneten Codebeispiele finden. Diese Methode wird als solche definiert (wie ich sie von der Header-Datei in Visual Studio erhalten):Wie initialisiert man eine Instanz von IVectorView für C++/WRL?
virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Skus(
/* [out][retval] */ __RPC__deref_out_opt IVectorView<ABI::Windows::Services::Store::StoreSku*> **value) = 0;
Also, wenn ich versuche zu tun:
#include <Windows.Services.Store.h>
#include <wrl.h>
using namespace ABI::Windows::Services::Store;
using namespace ABI::Windows::Foundation::Collections;
IVectorView<StoreSku*> pStrSkus;
//IStoreProduct* pStorePrdct = ...;
if (SUCCEEDED(pStorePrdct->get_Skus(&pStrSkus)))
{
}
es gibt mir einen Fehler, dass:
'ABI :: Windows :: Foundation :: Sammlungen :: IVectorView' : nicht abstrakte Klasse instanziiert
Ich bin relativ neu zu WRL
. Kann mir jemand zeigen, wie soll ich diese Methode nennen?
Dank. Ich wusste, es war einfach. – c00000fd
Hör zu, es ist eine separate Frage, aber wenn ich einen 'IVektor' von' HSTRING' initiieren und weitergeben muss, wie würde ich es tun? Ziemlich genau das in C# umgewandelt in C++/WRL: 'string [] storeIds = new string [] {" 9NBLGGH4TNMP "," 9NBLGGH4TNMN "};' – c00000fd
Sie müssen eine Klasse erstellen, die IVector implementiert. Am einfachsten ist es, wenn Sie std :: vector einfügen. –
Sunius