問題タブ [bstr]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
windows - CStringをBSTRに変換して、「in」パラメーターとしてCOMメソッドに渡すにはどうすればよいですか。
CString
インスタンスを適切に割り当てられたものに変換し、それをCOMメソッドにBSTR
渡す必要があります。ANSIとUnicodeの両方で同じようにコンパイルおよび動作するコードを作成するには、任意の形式をBSTR
UnicodeBSTRに変換するために使用します。CString::AllocSysString()
CString
返されたBSTRは誰も所有していないので、可能な限り最も例外安全な方法で、可能な限り少ないコードで呼び出しが行われた後、それを処理して解放する必要があります。
現在、私ATL::CComBSTR
は生涯管理に使用しています:
ここで私が気に入らないのはATL::CComBSTR
、変換結果へのバインドを作成するために2つの別個のステートメントが必要なことです。
同じタスクを実行するためのより良い方法はありますか?
c++ - SysAllocString に渡されたメモリを解放できますか?
ヒープ上の wchar_t* を介して SysAllocString を使用して新しい BSTR を割り当てる場合、ヒープ上の元の wchar_t* を解放する必要がありますか?
これは正しい方法ですか?
ここで delete を呼び出してメモリを解放する必要がありますか? それとも、そのメモリは BSTR によって追加されただけですか?
c++ - C++: wchar_t* を BSTR に変換しますか?
を に変換しようとしwchar_t *
ていBSTR
ます。
これは0
、私が望んでいたよりも少ないものです。この変換を行う正しい方法は何ですか?
types - BSTR、自分で作るには?
bstr データを使用するサーバーに Linux アプリを接続する必要があります。自分のコードを「ロール」して bstr を作成できますか? 私はbstrの基本を知っています。それには、バイトサイズからnullターミネータを差し引いたヘッダーがあり、ヘッダーのために、文字列の途中にnullを含めることができ、基本的にbstrに従う残りのすべてのルールを含めることができます。
ヘッダーのバイト順や、comのようにヘッダーまたは5番目のバイトを指すデータを渡すなど、より詳細な詳細についてはわかりませんか?この情報をどこで入手できるか、またはLinux用のbstr型クラスを書いた人はいますか? または、一般的に、Microsoft ライブラリに基づく一般的な概要ではなく、bstr の詳細に関する情報をどこで見つけることができますか?
ありがとう
c++ - 文字列配列を BSTR* として Web サービス プロキシに渡す方法
VS2005 で、文字列の 1 次元配列 ("inputArray") を入力パラメーターとして受け取る Web サービスへの Web 参照を生成しました。
この Web サービス呼び出し用に生成されたプロキシ関数は、次の 2 つのパラメーターを要求します。
inputArray を BSTR* として渡すための適切な構文は何ですか? 現在、私はそれを次のように宣言しています:
しかし、これは atlsoap.h で SOAP 応答を生成するときに不適切に解析されています。
c++ - BSTR を char* に変換
BSTR を char* に変換する方法を知っている人はいますか?
更新:これをやろうとしましたが、正しいか間違っているかわかりません。
windows - BSTR UTF-16はエンコードされていますか?
Unicodeを学習しようとしていますか?私にとって最も難しい部分はエンコーディングです。BSTR(基本文字列)コンテンツコードはU + 10000以上を指すことができますか?いいえの場合、BSTRのエンコーディングは何ですか?
marshalling - C# で ref IntPtr を BSTR * にマーシャリングする
文字列にメモリを割り当ててから、文字列で何かを行う関数を呼び出そうとしています。問題を説明する基本的な例を次に示します。
C++:
C++ プログラムからの次の呼び出しは問題なく機能します。
C# 宣言:
C# 呼び出し:
プログラムは失敗します
Function2 の呼び出しは、メモリ不足のためプログラムの実行を続行できませんでした。
C#からそのような呼び出しを行う方法を知っている人はいますか?
c++ - _bstr_tを使用して、関数でタイプBSTR*のパラメーターを渡します
これを行う正しい方法は何ですか:
また:
ここIError:GetDescription
で、次のように定義されます。
私はこれを簡単に行うことができることを知っています:
ありがとう
char - 特殊文字を含む char* を BSTR* に変換する
を に変換しようとしてchar*
いますが、暗号化されていない特殊文字が含まれています。Web で見つかったいくつかのアプローチを試してみましたが、VB コードの呼び出しに戻ると、いつも何か違う結果になります。これは特殊文字と関係があると確信しています。BSTR*
char*
私のコードはこれらの線に沿ったものです...
どんな助けでも大歓迎です!!!
ありがとう!!!!