Share via


Marshal.GetTypeForITypeInfo メソッド

ITypeInfo をマネージ Type オブジェクトに変換します。

Public Shared Function GetTypeForITypeInfo( _
   ByVal piTypeInfo As IntPtr _) As Type
[C#]
public static Type GetTypeForITypeInfo(IntPtrpiTypeInfo);
[C++]
public: static Type* GetTypeForITypeInfo(IntPtrpiTypeInfo);
[JScript]
public static function GetTypeForITypeInfo(
   piTypeInfo : IntPtr) : Type;

パラメータ

  • piTypeInfo
    マーシャリングする ITypeInfo インターフェイス。

戻り値

アンマネージ ITypeInfo を表すマネージ Type

解説

GetTypeForITypeInfo は、元の型による System.Type のインスタンスを返します。 System.Runtime.InteropServices.MarshalAsAttribute を適用すると、相互運用マーシャリングの標準の動作をこのカスタム マーシャラの動作で置き換えることができます。タイプ ライブラリ インポータ (Tlbimp.exe) はカスタム マーシャラを使用して、 ITypeInfo パラメータを Type パラメータに変換します。ただし、Tlbimp.exe 以外の方法を使用して ITypeInfo インターフェイスを取得した場合は、 GetTypeForITypeInfo を使用すると、手動で同様の変換を実行できます。 ITypeInfo の詳細については、MSDN ライブラリを参照してください。

メモ   このメソッドは SecurityAction.LinkDemand を使用して、信頼関係のないコードからの呼び出しを防ぎます。 SecurityPermissionAttribute.UnmanagedCode アクセス許可は、直前の呼び出し元にのみ要求されます。信頼性が一部しか確認されていないコードから呼び出すことができるコードの場合、ユーザー入力を検証せずに Marshal クラスに渡すことは避けてください。 LinkDemand メンバの使用に関する重要な制約事項については、「 Demand と LinkDemand 」を参照してください。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

.NET Framework セキュリティ:

参照

Marshal クラス | Marshal メンバ | System.Runtime.InteropServices 名前空間 | GetITypeInfoForType | MarshalAsAttribute