0

モバイル ブロードバンド API への C# インターフェイスを使用しようとしています。以下のコードはコンパイルされ、Intellisense はすべての COM メソッドを表示しますが、コードは正しく実行されません。

MbnInterfaceManager mbnInfMgr = new MbnInterfaceManager();
IMbnConnectionProfile conProfile = (IMbnConnectionProfile)mbnInfMgr;

string xmlBuff = conProfile.GetProfileXmlData();

次のエラーが生成されます。

タイプ 'System.__ComObject' の COM オブジェクトを interfacetype にキャストできません
「MbnApi.IMbnConnectionProfile」。
COM コンポーネントで QueryInterface 呼び出しが行われたため、この操作は失敗しました
IID '{DCBBBAB6-2010-4BBB-AAEE-338E368AF6FA}' を持つインターフェイスの失敗
次のエラーのため:
そのようなインターフェイスはサポートされていません (HRESULT からの例外: 0x80004002 (E_NOINTERFACE))。

Microsoft は、次のように呼び出しを一覧表示します。

IMbnConnectionProfile Interface Method C# Signature

Delete              public void Delete();
GetProfileXmlData   public string GetProfileXmlData();
UpdateProfile       public void UpdateProfile( string strProfile);

インターフェイスを指定する必要があるように見えますが、これを行う方法がわかりません。

誰でもこれを行う方法を教えてもらえますか?

4

1 に答える 1

0

IMbnInterfaceManager::GetInterfaceまたはIMbnInterfaceManager::GetInterfacesメソッドを呼び出す。

例えば

MbnInterfaceManager mbnInfMgr = new MbnInterfaceManager();
IMbnInterfaceManager infManager = (IMbnInterfaceManager)mbnInfMgr;

//obtain the IMbnInterface passing interfaceID
string interfaceID = “{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}”;

IMbnInterface mbnInterface= infMgr.GetInterface(interfaceID);

MbnConnectionProfileManager mbnProfMgr = new MbnConnectionProfileManager();
IMbnConnectionProfileManager profileManager = 
                                  (IMbnConnectionProfileManager)mbnProfMgr;

IMbnConnectionProfile[] profArr = 
(IMbnConnectionProfile[])profileManager.GetConnectionProfiles(mbnInterface);
于 2013-06-11T04:01:36.077 に答える