System.Runtime.InteropServices 名前空間
この名前空間のメンバは、機能ごとにいくつかのカテゴリに分けることができます。カテゴリの一覧については、以下の表を参照してください。属性は、マーシャリングの動作 (構造体の配置、文字列の表現など) を制御します。特に重要な属性は、アンマネージ API にアクセスするために使用するプラットフォーム呼び出しメソッドを定義する DllImportAttribute と、マネージ メモリとアンマネージ メモリ間でデータをマーシャリングする方法を指定する MarshalAsAttribute です。

クラス | 説明 | |
---|---|---|
![]() | AutomationProxyAttribute | Automation Marshaler またはカスタムのプロキシとスタブを使用して、型をマーシャリングするかどうかを指定します。 |
![]() | BestFitMappingAttribute | Unicode 文字を最も近い ANSI 文字に変換するかどうかを制御します。 |
![]() | BStrWrapper | VT_BSTR 型のデータをマネージ コードからアンマネージ コードにマーシャリングします。このクラスは継承できません。 |
![]() | ClassInterfaceAttribute | インターフェイスが生成される場合に、COM に公開されるクラスに対して生成されるクラス インターフェイスの型を示します。 |
![]() | CoClassAttribute | タイプ ライブラリからインポートされるコクラスのクラス ID を指定します。 |
![]() | ComAliasNameAttribute | パラメータまたはフィールド型の COM エイリアスを示します。 |
![]() | ComCompatibleVersionAttribute | 現在のバージョンのアセンブリ内のクラスはすべて、以前のバージョンのアセンブリ内のクラスと互換性があることを COM クライアントに対して示します。 |
![]() | ComConversionLossAttribute | タイプ ライブラリからアセンブリにインポートしたときに、クラスまたはインターフェイスについての情報が失われたことを示します。 |
![]() | ComDefaultInterfaceAttribute | COM に公開する既定のインターフェイスを指定します。このクラスは継承できません。 |
![]() | ComEventInterfaceAttribute | ソース インターフェイスと、コクラスが COM タイプ ライブラリからインポートされるときに生成されるイベント インターフェイスのメソッドを実装するクラスとを識別します。 |
![]() | COMException | COM メソッドの呼び出しによって、認識されない HRESULT が返された場合にスローされる例外です。 |
![]() | ComImportAttribute | 属性の型が以前に COM で定義されたことを示します。 |
![]() | ComRegisterFunctionAttribute | アセンブリを COM から使用できるように登録するときに呼び出すメソッドを指定します。これにより、登録処理中にユーザー記述のコードを実行できるようになります。 |
![]() | ComSourceInterfacesAttribute | 属性付きクラスの COM イベント ソースとして公開されるインターフェイスのリストを識別します。 |
![]() | ComUnregisterFunctionAttribute | COM で使用できるように登録したアセンブリの登録を解除するときに呼び出すメソッドを指定します。これにより、登録解除中にユーザー記述コードを実行できます。 |
![]() | ComVisibleAttribute | 個々のマネージ型またはマネージ メンバ、またはアセンブリ内のすべての型の COM 参照可能範囲を制御します。 |
![]() | CriticalHandle | ハンドル リソースのラッパー クラスを表します。 |
![]() | CurrencyWrapper | マーシャラが VT_CY としてマーシャリングする必要があるオブジェクトをラップします。 |
![]() | DefaultCharSetAttribute | CharSet 列挙体の値を指定します。このクラスは継承できません。 |
![]() | DefaultParameterValueAttribute | 既定のパラメータをサポートする言語から呼び出された場合に、パラメータの既定値を設定します。このクラスは継承できません。 |
![]() | DispatchWrapper | マーシャラが VT_DISPATCH としてマーシャリングする必要があるオブジェクトをラップします。 |
![]() | DispIdAttribute | メソッド、フィールド、またはプロパティの COM ディスパッチ ID (DISPID) を指定します。 |
![]() | DllImportAttribute | 属性付きメソッドがアンマネージ DLL (Dynamic-Link Library) によって静的エントリ ポイントとして公開されることを示します。 |
![]() | ErrorWrapper | マーシャラが VT_ERROR としてマーシャリングする必要があるオブジェクトをラップします。 |
![]() | ExtensibleClassFactory | アンマネージ オブジェクトから拡張したマネージ オブジェクトの作成時に、そのオブジェクトをカスタマイズできるようにします。 |
![]() | ExternalException | すべての COM 相互運用例外と構造化例外処理 (SEH) 例外の基本的な例外の種類。 |
![]() | FieldOffsetAttribute | クラスまたは構造体のアンマネージ表現内にあるフィールドの物理的な位置を示します。 |
![]() | GuidAttribute | 自動 GUID が望ましくない場合に、明示的な System.Guid を指定します。 |
![]() | HandleCollector | 保留状態のハンドルを追跡し、指定したしきい値に達したときに、強制的にガベージ コレクションを実行します。 |
![]() | IDispatchImplAttribute | COM にデュアル インターフェイスと Dispinterface を公開する場合に、共通言語ランタイムが使用する IDispatch 実装を指定します。 |
![]() | ImportedFromTypeLibAttribute | アセンブリ内で定義された型が、タイプ ライブラリで初めに定義されたことを示します。 |
![]() | InAttribute | 呼び出し元から呼び出し先へデータをマーシャリングするが、逆方向にはマーシャリングしないことを示します。 |
![]() | InterfaceTypeAttribute | COM への公開時に、マネージ インターフェイスがデュアル、ディスパッチ専用、または IUnknown 専用のいずれであるかを示します。 |
![]() | InvalidComObjectException | 無効な COM オブジェクトを使用したときにスローされる例外です。 |
![]() | InvalidOleVariantTypeException | マネージ コードにマーシャリングできないバリアント型の引数が見つかった場合に、マーシャラによってスローされる例外。 |
![]() | LCIDConversionAttribute | メソッドのアンマネージ シグネチャにロケール識別子 (LCID) パラメータが必要であることを示します。 |
![]() | Marshal | アンマネージ コードを扱うときに使用できるさまざまなメソッドを提供します。これらのメソッドを使用すると、アンマネージ メモリの割り当て、アンマネージ メモリ ブロックのコピー、マネージ型からアンマネージ型への変換などができます。 |
![]() | MarshalAsAttribute | マネージ コードとアンマネージ コード間でデータをマーシャリングする方法を示します。 |
![]() | MarshalDirectiveException | マーシャラが、サポートしていない MarshalAsAttribute を検出した場合にスローする例外。 |
![]() | OptionalAttribute | パラメータが省略できることを示します。 |
![]() | OutAttribute | 呼び出し先から呼び出し元へ、データをマーシャリングすることを示します。 |
![]() | PreserveSigAttribute | COM 相互運用呼び出し中に発生する HRESULT または retval シグネチャ変換を中止することを示します。 |
![]() | PrimaryInteropAssemblyAttribute | この属性が適用されたアセンブリが、プライマリ相互運用機能アセンブリであることを示します。 |
![]() | ProgIdAttribute | ユーザーがクラスの ProgID を指定することを許可します。 |
![]() | RegistrationServices | COM から使用できるようにマネージ アセンブリを登録および登録解除するための一連のサービスを提供します。 |
![]() | RuntimeEnvironment | 共通言語ランタイム環境に関する情報を返す static メソッドのコレクションを提供します。 |
![]() | SafeArrayRankMismatchException | 着信 SAFEARRAY のランクが、マネージ シグネチャで指定したランクと一致しない場合にスローされる例外。 |
![]() | SafeArrayTypeMismatchException | 着信 SAFEARRAY の型が、マネージ シグネチャで指定した型と一致しない場合にスローされる例外。 |
![]() | SafeHandle | オペレーティング システム ハンドルのラッパー クラスを表します。 |
![]() | SEHException | 構造化例外ハンドラ (SEH: Structured Exception Handler) エラーを表します。 |
![]() | SetWin32ContextInIDispatchAttribute | この属性は推奨されていません。 |
![]() | StandardOleMarshalObject | 標準の共通言語ランタイム (CLR) フリー スレッド化マーシャラを標準の OLE STA マーシャラで置き換えます。 |
![]() | StructLayoutAttribute | StructLayoutAttribute クラスを使用すると、クラスまたは構造体のデータ フィールドの物理的なレイアウトを制御できます。 |
![]() | TypeLibConverter | マネージ アセンブリと COM タイプ ライブラリ間の変換を実行する一連のサービスを提供します。 |
![]() | TypeLibFuncAttribute | COM タイプ ライブラリからこのメソッド用に元来インポートされた FUNCFLAGS を格納します。 |
![]() | TypeLibImportClassAttribute | インターフェイスを排他的に使用する Type を指定します。このクラスは継承できません。 |
![]() | TypeLibTypeAttribute | COM タイプ ライブラリからこの型用に元来インポートされた TYPEFLAGS を格納します。 |
![]() | TypeLibVarAttribute | COM タイプ ライブラリからこのフィールド用に元来インポートされた VARFLAGS を格納します。 |
![]() | TypeLibVersionAttribute | エクスポートされたタイプ ライブラリのバージョン番号を指定します。 |
![]() | UnknownWrapper | マーシャラが VT_UNKNOWN としてマーシャリングする必要があるオブジェクトをラップします。 |
![]() | UnmanagedFunctionPointerAttribute | アンマネージ コードとの間のアンマネージ関数ポインタとして渡されたデリゲート シグネチャのマーシャリング動作を制御します。このクラスは継承できません。 |
![]() | VariantWrapper | VT_VARIANT | VT_BYREF 型のデータをマネージ コードからアンマネージ コードにマーシャリングします。このクラスは継承できません。 |

インターフェイス | 説明 | |
---|---|---|
![]() | _Activator | System.Activator クラスをアンマネージ コードに公開します。 |
![]() | _Assembly | System.Reflection.Assembly クラスのパブリック メンバをアンマネージ コードに公開します。 |
![]() | _AssemblyBuilder | System.Reflection.Emit.AssemblyBuilder クラスをアンマネージ コードに公開します。 |
![]() | _AssemblyName | AssemblyName クラスをアンマネージ コードに公開します。 |
![]() | _Attribute | System.Attribute クラスをアンマネージ コードに公開します。 |
![]() | _ConstructorBuilder | System.Reflection.Emit.ConstructorBuilder クラスをアンマネージ コードに公開します。 |
![]() | _ConstructorInfo | System.Reflection.ConstructorInfo クラスのパブリック メンバをアンマネージ コードに公開します。 |
![]() | _CustomAttributeBuilder | System.Reflection.Emit.CustomAttributeBuilder クラスをアンマネージ コードに公開します。 |
![]() | _EnumBuilder | System.Reflection.Emit.EnumBuilder クラスをアンマネージ コードに公開します。 |
![]() | _EventBuilder | System.Reflection.Emit.EventBuilder クラスをアンマネージ コードに公開します。 |
![]() | _EventInfo | System.Reflection.EventInfo クラスのパブリック メンバをアンマネージ コードに公開します。 |
![]() | _Exception | System.Exception クラスのパブリック メンバをアンマネージ コードに公開します。 |
![]() | _FieldBuilder | System.Reflection.Emit.FieldBuilder クラスをアンマネージ コードに公開します。 |
![]() | _FieldInfo | System.Reflection.FieldInfo クラスのパブリック メンバをアンマネージ コードに公開します。 |
![]() | _ILGenerator | System.Reflection.Emit.ILGenerator クラスをアンマネージ コードに公開します。 |
![]() | _LocalBuilder | System.Reflection.Emit.LocalBuilder クラスをアンマネージ コードに公開します。 |
![]() | _MemberInfo | System.Reflection.MemberInfo クラスのパブリック メンバをアンマネージ コードに公開します。 |
![]() | _MethodBase | System.Reflection.MethodBase クラスのパブリック メンバをアンマネージ コードに公開します。 |
![]() | _MethodBuilder | MethodBuilder クラスをアンマネージ コードに公開します。 |
![]() | _MethodInfo | System.Reflection.MethodInfo クラスのパブリック メンバをアンマネージ コードに公開します。 |
![]() | _MethodRental | System.Reflection.Emit.MethodRental クラスをアンマネージ コードに公開します。 |
![]() | _Module | Module クラスをアンマネージ コードに公開します。 |
![]() | _ModuleBuilder | System.Reflection.Emit.ModuleBuilder クラスをアンマネージ コードに公開します。 |
![]() | _ParameterBuilder | System.Reflection.Emit.ParameterBuilder クラスをアンマネージ コードに公開します。 |
![]() | _ParameterInfo | System.Reflection.ParameterInfo クラスをアンマネージ コードに公開します。 |
![]() | _PropertyBuilder | System.Reflection.Emit.PropertyBuilder クラスをアンマネージ コードに公開します。 |
![]() | _PropertyInfo | System.Reflection.PropertyInfo クラスのパブリック メンバをアンマネージ コードに公開します。 |
![]() | _SignatureHelper | System.Reflection.Emit.SignatureHelper クラスをアンマネージ コードに公開します。 |
![]() | _Thread | System.Threading.Thread クラスをアンマネージ コードに公開します。 |
![]() | _Type | System.Type クラスのパブリック メンバをアンマネージ コードに公開します。 |
![]() | _TypeBuilder | System.Reflection.Emit.TypeBuilder クラスをアンマネージ コードに公開します。 |
![]() | ICustomAdapter | クライアントが、カスタム マーシャラによって渡されるアダプタ オブジェクトではなく、実際のオブジェクトにアクセスできるようにします。 |
![]() | ICustomFactory | MarshalByRefObject を拡張するマネージ オブジェクトのアクティベーション コードを、ユーザーが書き込むことができるようにします。 |
![]() | ICustomMarshaler | メソッド呼び出しを処理するためのカスタム ラッパーの提供を目的としています。 |
![]() | IRegistrationServices | COM から使用できるようにマネージ アセンブリを登録および登録解除するための一連のサービスを提供します。 |
![]() | ITypeLibConverter | マネージ アセンブリと COM タイプ ライブラリ間の変換を実行する一連のサービスを提供します。 |
![]() | ITypeLibExporterNameProvider | タイプ ライブラリにエクスポートするときに名前の大文字と小文字を区別する制御を提供します。 |
![]() | ITypeLibExporterNotifySink | アセンブリ コンバータに対してコールバック機構を提供し、呼び出し元に変換の状態を通知し、その呼び出し元を変換処理そのものに関与させます。 |
![]() | ITypeLibImporterNotifySink | タイプ ライブラリ コンバータに対してコールバック機構を提供し、呼び出し元に変換の状態を通知し、その呼び出し元を変換処理そのものに関与させます。 |
![]() | UCOMIBindCtx | 代わりに BIND_OPTS を使用します。 |
![]() | UCOMIConnectionPoint | 代わりに IConnectionPoint を使用します。 |
![]() | UCOMIConnectionPointContainer | 代わりに IConnectionPointContainer を使用します。 |
![]() | UCOMIEnumConnectionPoints | 代わりに IEnumConnectionPoints を使用します。 |
![]() | UCOMIEnumConnections | 代わりに IEnumConnections を使用します。 |
![]() | UCOMIEnumMoniker | 代わりに IEnumMoniker を使用します。 |
![]() | UCOMIEnumString | 代わりに IEnumString を使用します。 |
![]() | UCOMIEnumVARIANT | 代わりに IEnumVARIANT を使用します。 |
![]() | UCOMIMoniker | 代わりに IMoniker を使用します。 |
![]() | UCOMIPersistFile | メモ : このインターフェイスは今後使用しません。代わりに IPersistFile を使用します。 |
![]() | UCOMIRunningObjectTable | 代わりに IRunningObjectTable を使用します。 |
![]() | UCOMIStream | 代わりに IStream を使用します。 |
![]() | UCOMITypeComp | 代わりに ITypeComp を使用します。 |
![]() | UCOMITypeInfo | 代わりに ITypeInfo を使用します。 |
![]() | UCOMITypeLib | 代わりに ITypeLib を使用します。 |

構造体 | 説明 | |
---|---|---|
![]() | ArrayWithOffset | 配列とオフセットを、指定した配列内にカプセル化します。 |
![]() | BIND_OPTS | 代わりに BIND_OPTS を使用します。 |
![]() | BINDPTR | 代わりに BINDPTR を使用します。 |
![]() | CONNECTDATA | 代わりに CONNECTDATA を使用します。 |
![]() | DISPPARAMS | 代わりに DISPPARAMS を使用します。 |
![]() | ELEMDESC | 代わりに ELEMDESC を使用します。 |
![]() | ELEMDESC.DESCUNION | 代わりに ELEMDESC.DESCUNION を使用します。 |
![]() | EXCEPINFO | 代わりに EXCEPINFO を使用します。 |
![]() | FILETIME | 代わりに FILETIME を使用します。 |
![]() | FUNCDESC | 代わりに FUNCDESC を使用します。 |
![]() | GCHandle | アンマネージ メモリからマネージ オブジェクトにアクセスできるようにします。 |
![]() | HandleRef | プラットフォームの呼び出しを使用して、アンマネージ コードに渡されるリソースへのハンドルを保持しているマネージ オブジェクトをラップします。 |
![]() | IDLDESC | 代わりに IDLDESC を使用します。 |
![]() | PARAMDESC | 代わりに PARAMDESC を使用します。 |
![]() | STATSTG | 代わりに STATSTG を使用します。 |
![]() | TYPEATTR | 代わりに TYPEATTR を使用します。 |
![]() | TYPEDESC | 代わりに TYPEDESC を使用します。 |
![]() | TYPELIBATTR | 代わりに TYPELIBATTR を使用します。 |
![]() | VARDESC | 代わりに VARDESC を使用します。 |
![]() | VARDESC.DESCUNION | メモ : この構造体は今後使用しません。代わりに VARDESC.DESCUNION を使用します。 |


列挙体 | 説明 | |
---|---|---|
![]() | AssemblyRegistrationFlags | アセンブリの登録時に使用される一連のフラグを定義します。 |
![]() | CALLCONV | 代わりに CALLCONV を使用します。 |
![]() | CallingConvention | アンマネージ コードで実装されたメソッドを呼び出すために必要な呼び出し規約を指定します。 |
![]() | CharSet | マーシャリングされた文字列で使用する文字セットを指定します。 |
![]() | ClassInterfaceType | クラスに対して生成するクラス インターフェイスの型を識別します。 |
![]() | ComInterfaceType | インターフェイスを COM に公開する方法を識別します。 |
![]() | ComMemberType | COM メンバの型について説明します。 |
![]() | DESCKIND | 代わりに DESCKIND を使用します。 |
![]() | ExporterEventKind | タイプ ライブラリをエクスポートするときにタイプ ライブラリ エクスポータが実行するコールバックを記述します。 |
![]() | FUNCFLAGS | 代わりに FUNCFLAGS を使用します。 |
![]() | FUNCKIND | 代わりに FUNCKIND を使用します。 |
![]() | GCHandleType | GCHandle クラスが割り当てることのできるハンドルの種類を表します。 |
![]() | IDispatchImplType | 特定のクラスで使用する IDispatch 実装を示します。 |
![]() | IDLFLAG | 代わりに IDLFLAG を使用します。 |
![]() | IMPLTYPEFLAGS | 代わりに IMPLTYPEFLAGS を使用します。 |
![]() | ImporterEventKind | タイプ ライブラリをインポートするときにタイプ ライブラリ インポータが実行するコールバックを記述します。 |
![]() | INVOKEKIND | 代わりに INVOKEKIND を使用します。 |
![]() | LayoutKind | アンマネージ コードにエクスポートするときにオブジェクトのレイアウトを制御します。 |
![]() | LIBFLAGS | 代わりに LIBFLAGS を使用します。 |
![]() | PARAMFLAG | 代わりに PARAMFLAG を使用します。 |
![]() | RegistrationClassContext | クラス オブジェクトをインスタンスの構築要求に対して使用できる実行コンテキストのセットを指定します。 |
![]() | RegistrationConnectionType | クラス オブジェクトへの接続の種類を定義します。 |
![]() | SYSKIND | 代わりに SYSKIND を使用します。 |
![]() | TYPEFLAGS | 代わりに TYPEFLAGS を使用します。 |
![]() | TYPEKIND | 代わりに TYPEKIND を使用します。 |
![]() | TypeLibExporterFlags | タイプ ライブラリの生成方法を示します。 |
![]() | TypeLibFuncFlags | このメソッドがインポートされた COM タイプ ライブラリに FUNCFLAGS の元の設定を記述します。 |
![]() | TypeLibImporterFlags | アセンブリの生成方法を示します。 |
![]() | TypeLibTypeFlags | この型がインポートされた COM タイプ ライブラリに TYPEFLAGS の元の設定を記述します。 |
![]() | TypeLibVarFlags | この変数がインポートされた COM タイプ ライブラリに VARFLAGS の元の設定を記述します。 |
![]() | UnmanagedType | パラメータまたはフィールドをアンマネージ コードにマーシャリングする方法を示します。 |
![]() | VarEnum | 配列が UnmanagedType.SafeArray としてマネージ コードからアンマネージ コードにマーシャリングされる場合の、配列要素のマーシャリング方法を示します。 |
![]() | VARFLAGS | 代わりに VARFLAGS を使用します。 |
- System.Runtime.InteropServices 名前空間のページへのリンク