UnmanagedCallersOnly属性
static メソッドに付与すると、そのメソッドをネイティブコードから直接呼び出せるCのエントリポイントとして公開できる.NETの属性。
この概念が関わる関係
- Native AOTはUnmanagedCallersOnly属性を利用します。
- UnmanagedCallersOnly属性はblittable型を前提とします。
- 呼び出し規約(calling convention)はUnmanagedCallersOnly属性で構成できます。
- UnmanagedCallersOnly属性はC ABI(Application Binary Interface)を前提とします。
- エラーをstatus codeで返す設計はUnmanagedCallersOnly属性に対する本記事の推奨です。
- ハンドルベースのC API設計(create/destroy/operate)はUnmanagedCallersOnly属性に対する本記事の推奨です。
- UnmanagedCallersOnly属性は関数ポインターのデリゲートがGCに回収されるクラッシュに対する本記事の推奨です。
この概念を扱う記事
- C# Native AOT DLLをC/C++から呼び出す方法(主要トピック)
- C#からWin32 APIを安全に呼ぶ ── P/Invoke実務ガイド(DllImport / LibraryImport / CsWin32)(言及)
一次資料
このページはサイトの知識グラフ(_data/knowledge/)から自動生成されています。誤りの指摘はお問い合わせからお願いします。