クリックして評価とフィードバックをお寄せください
MSDN
MSDN ライブラリ
.NET 開発
以前のバージョン
.NET Framework SDK 2.0
System.Runtime.InteropServices
すべて縮小/すべて展開 すべて縮小
このページは次のバージョンについて記述しています。
Microsoft Visual Studio 2005/.NET Framework 2.0

その他のバージョンについては、以下の情報を参照してください。
.NET Framework クラス ライブラリ
System.Runtime.InteropServices 名前空間

System.Runtime.InteropServices 名前空間は、COM 相互運用サービスとプラットフォーム呼び出しサービスをサポートする各種メンバを提供します。これらのサービスの詳細については、「アンマネージ コードとの相互運用」を参照してください。

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

 クラス説明
パブリック クラスAutomationProxyAttributeAutomation Marshaler またはカスタムのプロキシとスタブを使用して、型をマーシャリングするかどうかを指定します。
パブリック クラスBestFitMappingAttributeUnicode 文字を最も近い ANSI 文字に変換するかどうかを制御します。
パブリック クラスBStrWrapperVT_BSTR 型のデータをマネージ コードからアンマネージ コードにマーシャリングします。このクラスは継承できません。
パブリック クラスClassInterfaceAttributeインターフェイスが生成される場合に、COM に公開されるクラスに対して生成されるクラス インターフェイスの型を示します。
パブリック クラスCoClassAttributeタイプ ライブラリからインポートされるコクラスのクラス ID を指定します。
パブリック クラスComAliasNameAttributeパラメータまたはフィールド型の COM エイリアスを示します。
パブリック クラスComCompatibleVersionAttribute現在のバージョンのアセンブリ内のクラスはすべて、以前のバージョンのアセンブリ内のクラスと互換性があることを COM クライアントに対して示します。
パブリック クラスComConversionLossAttributeタイプ ライブラリからアセンブリにインポートしたときに、クラスまたはインターフェイスについての情報が失われたことを示します。
パブリック クラスComDefaultInterfaceAttributeCOM に公開する既定のインターフェイスを指定します。このクラスは継承できません。
パブリック クラスComEventInterfaceAttributeソース インターフェイスと、コクラスが COM タイプ ライブラリからインポートされるときに生成されるイベント インターフェイスのメソッドを実装するクラスとを識別します。
パブリック クラスCOMExceptionCOM メソッドの呼び出しによって、認識されない HRESULT が返された場合にスローされる例外です。
パブリック クラスComImportAttribute属性の型が以前に COM で定義されたことを示します。
パブリック クラスComRegisterFunctionAttributeアセンブリを COM から使用できるように登録するときに呼び出すメソッドを指定します。これにより、登録処理中にユーザー記述のコードを実行できるようになります。
パブリック クラスComSourceInterfacesAttribute属性付きクラスの COM イベント ソースとして公開されるインターフェイスのリストを識別します。
パブリック クラスComUnregisterFunctionAttributeCOM で使用できるように登録したアセンブリの登録を解除するときに呼び出すメソッドを指定します。これにより、登録解除中にユーザー記述コードを実行できます。
パブリック クラスComVisibleAttribute個々のマネージ型またはマネージ メンバ、またはアセンブリ内のすべての型の COM 参照可能範囲を制御します。
パブリック クラスCriticalHandleハンドル リソースのラッパー クラスを表します。
パブリック クラスCurrencyWrapperマーシャラが VT_CY としてマーシャリングする必要があるオブジェクトをラップします。
パブリック クラスDefaultCharSetAttributeCharSet 列挙体の値を指定します。このクラスは継承できません。
パブリック クラス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保留状態のハンドルを追跡し、指定したしきい値に達したときに、強制的にガベージ コレクションを実行します。
パブリック クラスIDispatchImplAttributeCOM にデュアル インターフェイスと Dispinterface を公開する場合に、共通言語ランタイムが使用する IDispatch 実装を指定します。
パブリック クラスImportedFromTypeLibAttributeアセンブリ内で定義された型が、タイプ ライブラリで初めに定義されたことを示します。
パブリック クラスInAttribute呼び出し元から呼び出し先へデータをマーシャリングするが、逆方向にはマーシャリングしないことを示します。
パブリック クラスInterfaceTypeAttributeCOM への公開時に、マネージ インターフェイスがデュアル、ディスパッチ専用、または IUnknown 専用のいずれであるかを示します。
パブリック クラスInvalidComObjectException無効な COM オブジェクトを使用したときにスローされる例外です。
パブリック クラスInvalidOleVariantTypeExceptionマネージ コードにマーシャリングできないバリアント型の引数が見つかった場合に、マーシャラによってスローされる例外。
パブリック クラスLCIDConversionAttributeメソッドのアンマネージ シグネチャにロケール識別子 (LCID) パラメータが必要であることを示します。
パブリック クラスMarshalアンマネージ コードを扱うときに使用できるさまざまなメソッドを提供します。これらのメソッドを使用すると、アンマネージ メモリの割り当て、アンマネージ メモリ ブロックのコピー、マネージ型からアンマネージ型への変換などができます。
パブリック クラスMarshalAsAttributeマネージ コードとアンマネージ コード間でデータをマーシャリングする方法を示します。
パブリック クラスMarshalDirectiveExceptionマーシャラが、サポートしていない MarshalAsAttribute を検出した場合にスローする例外。
パブリック クラスOptionalAttributeパラメータが省略できることを示します。
パブリック クラスOutAttribute呼び出し先から呼び出し元へ、データをマーシャリングすることを示します。
パブリック クラスPreserveSigAttributeCOM 相互運用呼び出し中に発生する HRESULT または retval シグネチャ変換を中止することを示します。
パブリック クラスPrimaryInteropAssemblyAttributeこの属性が適用されたアセンブリが、プライマリ相互運用機能アセンブリであることを示します。
パブリック クラスProgIdAttributeユーザーがクラスの ProgID を指定することを許可します。
パブリック クラスRegistrationServicesCOM から使用できるようにマネージ アセンブリを登録および登録解除するための一連のサービスを提供します。
パブリック クラスRuntimeEnvironment共通言語ランタイム環境に関する情報を返す static メソッドのコレクションを提供します。
パブリック クラスSafeArrayRankMismatchException着信 SAFEARRAY のランクが、マネージ シグネチャで指定したランクと一致しない場合にスローされる例外。
パブリック クラスSafeArrayTypeMismatchException着信 SAFEARRAY の型が、マネージ シグネチャで指定した型と一致しない場合にスローされる例外。
パブリック クラスSafeHandleオペレーティング システム ハンドルのラッパー クラスを表します。
パブリック クラスSEHException構造化例外ハンドラ (SEH: Structured Exception Handler) エラーを表します。
パブリック クラスSetWin32ContextInIDispatchAttributeこの属性は推奨されていません。
パブリック クラスStandardOleMarshalObject標準の共通言語ランタイム (CLR) フリー スレッド化マーシャラを標準の OLE STA マーシャラで置き換えます。
パブリック クラスStructLayoutAttributeStructLayoutAttribute クラスを使用すると、クラスまたは構造体のデータ フィールドの物理的なレイアウトを制御できます。
パブリック クラスTypeLibConverterマネージ アセンブリと COM タイプ ライブラリ間の変換を実行する一連のサービスを提供します。
パブリック クラスTypeLibFuncAttributeCOM タイプ ライブラリからこのメソッド用に元来インポートされた FUNCFLAGS を格納します。
パブリック クラスTypeLibImportClassAttributeインターフェイスを排他的に使用する Type を指定します。このクラスは継承できません。
パブリック クラスTypeLibTypeAttributeCOM タイプ ライブラリからこの型用に元来インポートされた TYPEFLAGS を格納します。
パブリック クラスTypeLibVarAttributeCOM タイプ ライブラリからこのフィールド用に元来インポートされた VARFLAGS を格納します。
パブリック クラスTypeLibVersionAttributeエクスポートされたタイプ ライブラリのバージョン番号を指定します。
パブリック クラスUnknownWrapperマーシャラが VT_UNKNOWN としてマーシャリングする必要があるオブジェクトをラップします。
パブリック クラスUnmanagedFunctionPointerAttributeアンマネージ コードとの間のアンマネージ関数ポインタとして渡されたデリゲート シグネチャのマーシャリング動作を制御します。このクラスは継承できません。
パブリック クラスVariantWrapperVT_VARIANT | VT_BYREF 型のデータをマネージ コードからアンマネージ コードにマーシャリングします。このクラスは継承できません。
 インターフェイス説明
パブリック インターフェイス_ActivatorSystem.Activator クラスをアンマネージ コードに公開します。
パブリック インターフェイス_AssemblySystem.Reflection.Assembly クラスのパブリック メンバをアンマネージ コードに公開します。
パブリック インターフェイス_AssemblyBuilderSystem.Reflection.Emit.AssemblyBuilder クラスをアンマネージ コードに公開します。
パブリック インターフェイス_AssemblyNameAssemblyName クラスをアンマネージ コードに公開します。
パブリック インターフェイス_AttributeSystem.Attribute クラスをアンマネージ コードに公開します。
パブリック インターフェイス_ConstructorBuilderSystem.Reflection.Emit.ConstructorBuilder クラスをアンマネージ コードに公開します。
パブリック インターフェイス_ConstructorInfoSystem.Reflection.ConstructorInfo クラスのパブリック メンバをアンマネージ コードに公開します。
パブリック インターフェイス_CustomAttributeBuilderSystem.Reflection.Emit.CustomAttributeBuilder クラスをアンマネージ コードに公開します。
パブリック インターフェイス_EnumBuilderSystem.Reflection.Emit.EnumBuilder クラスをアンマネージ コードに公開します。
パブリック インターフェイス_EventBuilderSystem.Reflection.Emit.EventBuilder クラスをアンマネージ コードに公開します。
パブリック インターフェイス_EventInfoSystem.Reflection.EventInfo クラスのパブリック メンバをアンマネージ コードに公開します。
パブリック インターフェイス_ExceptionSystem.Exception クラスのパブリック メンバをアンマネージ コードに公開します。
パブリック インターフェイス_FieldBuilderSystem.Reflection.Emit.FieldBuilder クラスをアンマネージ コードに公開します。
パブリック インターフェイス_FieldInfoSystem.Reflection.FieldInfo クラスのパブリック メンバをアンマネージ コードに公開します。
パブリック インターフェイス_ILGeneratorSystem.Reflection.Emit.ILGenerator クラスをアンマネージ コードに公開します。
パブリック インターフェイス_LocalBuilderSystem.Reflection.Emit.LocalBuilder クラスをアンマネージ コードに公開します。
パブリック インターフェイス_MemberInfoSystem.Reflection.MemberInfo クラスのパブリック メンバをアンマネージ コードに公開します。
パブリック インターフェイス_MethodBaseSystem.Reflection.MethodBase クラスのパブリック メンバをアンマネージ コードに公開します。
パブリック インターフェイス_MethodBuilderMethodBuilder クラスをアンマネージ コードに公開します。
パブリック インターフェイス_MethodInfoSystem.Reflection.MethodInfo クラスのパブリック メンバをアンマネージ コードに公開します。
パブリック インターフェイス_MethodRentalSystem.Reflection.Emit.MethodRental クラスをアンマネージ コードに公開します。
パブリック インターフェイス_ModuleModule クラスをアンマネージ コードに公開します。
パブリック インターフェイス_ModuleBuilderSystem.Reflection.Emit.ModuleBuilder クラスをアンマネージ コードに公開します。
パブリック インターフェイス_ParameterBuilderSystem.Reflection.Emit.ParameterBuilder クラスをアンマネージ コードに公開します。
パブリック インターフェイス_ParameterInfoSystem.Reflection.ParameterInfo クラスをアンマネージ コードに公開します。
パブリック インターフェイス_PropertyBuilderSystem.Reflection.Emit.PropertyBuilder クラスをアンマネージ コードに公開します。
パブリック インターフェイス_PropertyInfoSystem.Reflection.PropertyInfo クラスのパブリック メンバをアンマネージ コードに公開します。
パブリック インターフェイス_SignatureHelperSystem.Reflection.Emit.SignatureHelper クラスをアンマネージ コードに公開します。
パブリック インターフェイス_ThreadSystem.Threading.Thread クラスをアンマネージ コードに公開します。
パブリック インターフェイス_TypeSystem.Type クラスのパブリック メンバをアンマネージ コードに公開します。
パブリック インターフェイス_TypeBuilderSystem.Reflection.Emit.TypeBuilder クラスをアンマネージ コードに公開します。
パブリック インターフェイスICustomAdapterクライアントが、カスタム マーシャラによって渡されるアダプタ オブジェクトではなく、実際のオブジェクトにアクセスできるようにします。
パブリック インターフェイスICustomFactoryMarshalByRefObject を拡張するマネージ オブジェクトのアクティベーション コードを、ユーザーが書き込むことができるようにします。
パブリック インターフェイスICustomMarshalerメソッド呼び出しを処理するためのカスタム ラッパーの提供を目的としています。
パブリック インターフェイスIRegistrationServicesCOM から使用できるようにマネージ アセンブリを登録および登録解除するための一連のサービスを提供します。
パブリック インターフェイス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 を使用します。
 デリゲート説明
パブリック デリゲートObjectCreationDelegateCOM オブジェクトを作成します。
 列挙体説明
パブリック列挙体AssemblyRegistrationFlagsアセンブリの登録時に使用される一連のフラグを定義します。
パブリック列挙体CALLCONV代わりに CALLCONV を使用します。
パブリック列挙体CallingConventionアンマネージ コードで実装されたメソッドを呼び出すために必要な呼び出し規約を指定します。
パブリック列挙体CharSetマーシャリングされた文字列で使用する文字セットを指定します。
パブリック列挙体ClassInterfaceTypeクラスに対して生成するクラス インターフェイスの型を識別します。
パブリック列挙体ComInterfaceTypeインターフェイスを COM に公開する方法を識別します。
パブリック列挙体ComMemberTypeCOM メンバの型について説明します。
パブリック列挙体DESCKIND代わりに DESCKIND を使用します。
パブリック列挙体ExporterEventKindタイプ ライブラリをエクスポートするときにタイプ ライブラリ エクスポータが実行するコールバックを記述します。
パブリック列挙体FUNCFLAGS代わりに FUNCFLAGS を使用します。
パブリック列挙体FUNCKIND代わりに FUNCKIND を使用します。
パブリック列挙体GCHandleTypeGCHandle クラスが割り当てることのできるハンドルの種類を表します。
パブリック列挙体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 を使用します。
コミュニティ コンテンツ   コミュニティ コンテンツとは
新しいコンテンツの追加 RSS  注釈
Processing
© 2009 Microsoft Corporation. All rights reserved. 使用条件 | 商標 | プライバシー
Page view tracker