BitmapData
のプロパティはReserved
で、32ビットのを返します。 Microsoftのドキュメントでは、このプロパティを使用しないように指示しています。私たちがそれを使うべきでないならば。それはなぜそこにあるのですか?それは正確に何のためですか?BitmapData.reservedとは何ですか?
答えて
予約済みのフィールドとプロパティは、さまざまな用途に使用できます。かなり一般的な使い方は、現在の構造が提供していない種類の情報を、より洗練されたタイプのBitmapDataが将来格納する必要がある可能性を可能にすることです。何も予約されたフィールドを誰も使用していない場合、将来の実装では、そのフィールドを使用して、追加の情報を含む別の構造体へのポインタまたはハンドルを保持できます。
プロパティ "予約済み"を呼び出す際のポイントは何ですか?または、後で名前が変更される可能性があります。フィールドは、基礎となる構造体に空きがあることを確認するためだけに存在しますか? – JAB
以前に見たパターン(Microsoftからは必ずしもそうではありませんが)に従うと、後でBitmapDataEx型があるかもしれません。これはBitmapDataと同じですが、「予約済み」だったフィールドは別の名前おそらくタイプしてください)。 Reservedフィールドがゼロに初期化されたままであれば、BitmapDataExへのポインタを期待するコードはBitmapDataへのポインタが与えられれば正常に動作します。 – supercat
...将来必要なときに予約されているためです。 –
マイクロソフトの古いAPIには多くのものがあります。これらは、将来の開発作業のためにプロパティセットにスペースを入れるのが一般的だった時から始まります。彼らは誰も押さなければならない大きな赤いボタンと同じ目的を果たします。多分誰かが将来ボタンを望むでしょうし、そして、まあ、私たちは既にこのボタンをここに持っています!
興味深いことに、それはバグです。実際にはIntPtrです。ネイティブ宣言、SDKのGdiPlusImaging.hヘッダーファイル(VS2008ではc:\ program files \ microsoft sdks \ windows \ v6.0a \ includeディレクトリ)から知ることができます。 GDI +がインスタンスを作成するため、バグはバイトではありません。
これは、フィールドにポインタまたはハンドルが格納されている可能性が高くなります。私はメモリマップされたファイルオブジェクトハンドルを推測します。 UnlockBits()関数でそれを見つけるために辞書を維持しなければならず、クライアントの状態オブジェクトに格納するほうが安い。それを台無しにしないでください。
- 1. トランスフォームとは何か、トランスフォームとは何ですか?
- 2. jobConfクラスとは何ですか?それは何ですか?
- 3. @privateとは何ですか?その用途は何ですか?
- 4. IPM.Noteとは何ですか?その用途は何ですか?
- 5. _applyプラグインとは何ですか: 'com.google.gms.google-services'_は何ですか?
- 6. Mongoclientとは何ですか?その目的は何ですか?
- 7. 型とは何ですか?スカラーの型コンストラクタは何ですか?
- 8. GraphemeClusterとは何ですか?ExpressibleByExtendedGraphemeClusterLiteralの機能は何ですか?
- 9. オプションとは何ですか?typescriptの[x:string]は何ですか?
- 10. Sqliteとは何ですか?
- 11. イメージハッシュとは何ですか?
- 12. (* new)とは何ですか?
- 13. WCF:ServiceHostとは何ですか?
- 14. __gmon_start__シンボルとは何ですか?
- 15. Control.IsHandleCreatedとは何ですか?
- 16. ADBとは何ですか?
- 17. `+:`と ` - :`は何ですか?
- 18. sun.jnu.encodingとは何ですか?
- 19. シャドウメモリとは何ですか?
- 20. os.geteuid()とは何ですか?
- 21. RFC3986とは何ですか?
- 22. シリアライゼーションプロキシパターンとは何ですか?
- 23. onPrepareOptionsMenuとは何ですか?
- 24. BOOST_ROOTとは何ですか?
- 25. WCFとは何ですか?
- 26. _CDSnapshot_EntityNameとは何ですか?
- 27. ViewControllerとは何ですか?
- 28. REQUEST_CHECK_SETTINGとは何ですか?
- 29. msstdfmt.dllとは何ですか?
- 30. キャッシュタグディレクトリとは何ですか?
「今後の使用」です。まだ使用されるのを待っている非常に古いものがいくつかあります。 –