IEnumVARIANT インターフェイスを持つ COM オブジェクトを受け入れる次の C# コードがあるとします。
public void EnumeratorParameter(
[MarshalAs(UnmanagedType.CustomMarshaler,
MarshalTypeRef = typeof(EnumeratorToEnumVariantMarshaler))]
IEnumerator enumerator) { }
マーシャリングするには、CustomMarshalers.dll ライブラリへの参照を追加する必要があります。ただし、 とは異なりmscorlib.dll
、このライブラリは withAssemblyRef
メタデータ テーブルではなく、テーブルを介して BLOB ヒープで参照されFieldMarshal
ます。ブロブ経由の参照が使用されるのはなぜですか?