JS を使用して xpcom コンポーネントを構築しています。データ型がimage/pngの場合、JSでクリップボードデータを取得しました。base64文字列を取得したいのですが、コードは次のとおりです。
......
trans.addDataFlavor('image/png');
clipboard.getData(trans, Services.clipboard.kGlobalClipboard);
trans.getTransferData('image/png', str, strLength);
let mw = Services.wm.getMostRecentWindow("navigator:browser");
data.data = str.value.QueryInterface(Ci.nsISupportsCString).data;
data.data = mw.btoa(data.data);
...
Linux では base64 文字列を取得できますが、Windows でコードを実行するとエラーが発生しました: NS_NOINTERFACE: コンポーネントが失敗コードを返しました: 0x80004002 (NS_NOINTERFACE) [nsISupports.QueryInterface]
data.data = str.value.QueryInterface(Ci.nsISupportsCString).data; xpcom コンポーネントで画像データの base64 文字列を取得する方法がわかりません。だれが答えてくれますか?