問題タブ [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.
com - 返された BSTR の所有者は誰ですか?
COM インターフェイスのメソッドが BSTR 値を返すとします。それを解放しなければならないという私の意見は正しいですか?
のコード例http://msdn.microsoft.com/en-us/library/aa365382(VS.85).aspxはそれを行いません。
誰が間違っていますか?
cryptography - ICertRequest2::CSR データの送信 互換性 ASCII から BSTR
certrequest を PEM base64 データとして持っています。以下のデータを参照してください。
1) 私の理解では、これは ASCII データ型であり、UNICODE 形式ではありません。どうか明らかにしてください。
-----BEGIN NEW CERTIFICATE REQUEST----- MIIBTjCBuAIBADARMQ8wDQYDVQQDEwZ3dTAwMzEwgZ0wDQYJKoZIhvcNAQEBBQAD gYsAMIGHAoGBAKP48eljetv3fVicT6g6hKjmLpsySJaZ/NnepEJEqtQQNbwsluhW yWxhHWzPoNPV9uqjZBW7EnqYjxyPp1A0vOK35uxmmcNrgmuSjO1WBkD0YVZwzh2u OovRCOwJKklQtJnQWoM+yT8CyBVk7raVJOrLDMC8FR5AMknVCIlt7HppAgEDoAAw DQYJKoZIhvcNAQEFBQADgYEAAK5G10e39GxiNiPXdrOAwtuIiLd1UTWn3VYY7nYY 74LhydUBjo0Xi6HBTTNVlPNoRB9GOe5P1Qgq0EJ6gLIriFY+Gxdl2Y4lSo7FmpxB +87bRCLpC3mxQltNm97ZysmS4I4diYhPDSS/2acKeH2cBgAtQVG9KsuZ41qxUQ10 EY8= -----END NEW CERTIFICATE REQUEST-----
2) 上記のデータが ASCII の場合、ICertRequest2::Submit ではデータが Unicode 文字列である必要があるため、BSTR に変換するにはどうすればよいですか。
3) ASCII データを直接 BSTR に変換できますか?
ありがとうラージ
c++ - LPCOLESTR を BSTR に変換しますか?
LPCOLESTR から BSTR を作成する方法についてのアイデアはありますか? ハングアップする愚かなこと..
com - 「[in, out] BSTR *」パラメーターを使用した VBScript の「型の不一致」の問題
BSTR ポインターとして値を返すメソッドの一部を持つサードパーティの COM オブジェクトを使用しています。VBscript は Variant 型のみをサポートしているため、Object.Method(sMyString) のような方法で使用しようとすると、「型の不一致」エラーで適切に終了します。
このエラーは、オブジェクトがポインターではなく文字列を取得するため、VBscript インタープリターではなく、COM オブジェクト自体によって生成されていると思われます。文字列の配列を定義して回避しようとしましたが、それでも同じエラーです。
だから、誰かが同様の問題を抱えていて、どのような回避策が利用されているのか疑問に思っていました.
強調するだけです。COM オブジェクトを制御できません。それはベンダーのアプリケーションにあります。「そのまま」使わないといけない。
ありがとう、アルバート・ガレエフ
c++ - MS VC++ バイト配列を BSTR に変換しますか?
.Net アプリケーションで開始され、暗号化されて AD に保存される文字列があります。次に、ネイティブ C++ アプリによって取得され、復号化されてバイト配列が生成されます。たとえば、「ABCDEF」は、C++ 側で復号化されると、00,41,00,42,00,43,00,44,00,45 になります。 .
このバイト配列を取得して BSTR "ABCDEF" に変換する必要があるため、他の場所で使用できますが、この最後の手順を完了する方法が見つかりません。
誰でも助けることができますか?
c++ - _bstr_t を CString に変換する方法
私には_bstr_t
変数がbstrErr
あり、変数がありCString
ますcsError
。に入る値を設定するにはどうすればよいbstrErr
ですcsError
か?
visual-c++ - WCHAR* を渡す代わりに CComBSTR を使用するのはなぜですか?
COM初心者です。交換することの利点は正確には何ですか:
と
すべての文字列がこのように置き換えられた .NET アプリケーションの COM 部分に変更リストが表示されます。これの必要性を知りたいです。
com - ComBSTR assignment
I'm confused about COM string assignments. Which of the following string assignment is correct. Why?
OR should it be
What is the reason
com - CComBSTR のメモリ リーク
次のコードでメモリ リークが発生することを確認しました。しかし、理由がわかりませんでした。
何も割り当てていないときに、どのようにリークが発生するのでしょうか?
com - COM が静的な空の BSTR を使用しないのはなぜですか?
空の を割り当てるときBSTR
、 bySysAllocString(L"")
または byのいずれかで、SysAllocStringLen(str, 0)
常に新しいものを取得しますBSTR
(少なくとも私が行ったテストでは)。BSTR
s は可変であるため (Java/.NET の埋め込みのように) 通常は共有されませんが、空の文字列はすべての意図と目的で不変です。
私の質問 (とうとう) は、COM が空を作成するときに常に同じ文字列を返すという簡単な最適化を使用しないのはなぜですかBSTR
(そして でそれを無視しSysFreeString
ます)? そうしないやむを得ない理由はありますか (私の推論に欠陥があるため)、それとも単にそれが十分に重要であると考えられていなかったからですか?