問題タブ [getbuffer]

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.

0 投票する
4 に答える
19788 参照

windows - MemoryStream.GetBuffer()が常にスローされるのはなぜですか?

次のコードは常にUnuthorizedAccessExceptionをスローします(MemoryStreamの内部バッファーにはアクセスできません)。

これは昔ながらのコンソールアプリにあり、管理者として実行しています。このコードを与えることができるより特権的な設定を想像することはできません。では、なぜこのバッファーを取得できないのですか?(そして、誰もできない場合、GetBufferメソッドのポイントは何ですか?)

MSDNのドキュメントによると

公開されているバッファを使用してMemoryStreamインスタンスを作成するには、MemoryStream、MemoryStream(array []、Int32、Int32、Boolean、Boolean)、またはMemoryStream(Int32)を使用します。

私はそれをしていませんか?

PSコピーを作成するため、ToArray()を使用したくありません。

0 投票する
1 に答える
554 参照

c# - GAEJ アプリで C# クライアントによって生成された xml を解析するときに、末尾のセクション例外で不正なコンテンツを取得する

C# クライアントから GAEJ アプリに潜在的に大きな xml チャンクを POST し、それを DOM ドキュメントに解析しようとしています。

リクエストデータを文字列に解析してからトリミングすることで、ドキュメントビルダーにxmlを解析させることができました。

ただし、GAEJ アプリは可能な限り効率的である必要があり、ソースストリームをパーサーに供給するのではなく、潜在的に大きな xml 入力を文字列に 1 行ずつ読み取るのは非常に悪いようです。以下が機能することを望みます。

しかし、その後、常に「org.xml.sax.SAXParseException: Content is not allowed in Trailing section」が発生します。request.getInputStream() 呼び出しの内容をコンソールにダンプすると、最後の終了タグの後にいくつかのボックス文字が表示されますが、それらがどのようにそこに到達したかはわかりません (クライアント側は UTF-8 エンコーディングを使用しています)。または入力ストリームからそれらを削除する方法。ありがとう!

0 投票する
4 に答える
9663 参照

c++ - GetBuffer の後に ReleaseBuffer を呼び出さないとどうなりますか?

CString から char*まで、 のReleaseBuffer()後に使用する必要がありますGetBuffer()。しかし、なぜ?ReleaseBuffer()afterを使用しないとどうなりGetBuffer()ますか?

誰かが私に例を示すことができますか? ありがとう。

0 投票する
7 に答える
24371 参照

.net - MemoryStreamのGetBuffer()はいつ役に立ちますか?

C#/。NETのMemoryStreamでは注意して使用する必要があることを知っています。これGetBuffer()は、ドキュメントで説明されているように、最後に未使用のバイトが存在する可能性があるため、最初のMemoryStreamのみを確認する必要があるためです。バッファ内の.Lengthバイト。

しかし、昨日、バッファの先頭のバイトがジャンクであるというケースに遭遇しました。実際、リフレクターなどのツールを使用してを見るとToArray()、次のことがわかります。

したがって、によって返されるバッファを使用して何かを行うにはGetBuffer()、実際には_originを知っている必要があります。唯一の問題は、_originがプライベートであり、それを取得する方法がないことです...

だから私の質問は-MemoryStreamがどのように構築されたか(これが_originを設定するものです)についての事前の知識がなくてもGetBuffer()、どのような用途がありますか?MemoryStream()

(原点を設定するのはこのコンストラクターであり、このコンストラクターのみです-バイト配列内の特定のインデックスで始まるバイト配列の周りにMemoryStreamが必要な場合:

)。