System.Runtime.InteropServices 名前空間
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
COM 相互運用機能とプラットフォーム呼び出しサービスをサポートするさまざまなメンバーを提供します。 これらのサービスに慣れていない場合は、「アンマネージ コードとの相互運用」をご覧ください。
クラス
AllowReversePInvokeCallsAttribute |
アンマネージド メソッドがマネージド メソッドを呼び出せるようにします。 |
AutomationProxyAttribute |
Automation Marshaler またはカスタムのプロキシとスタブを使用して、型をマーシャリングするかどうかを指定します。 |
BestFitMappingAttribute |
Unicode 文字を、その文字に一番近い ANSI 文字に変換するかどうかを制御します。 |
BStrWrapper |
|
ClassInterfaceAttribute |
インターフェイスが生成される場合、COM に公開されているクラスに対して生成されるクラス インターフェイスの型を指定します。 |
CoClassAttribute |
タイプ ライブラリからインポートされるコクラスのクラス識別子を指定します。 |
CollectionsMarshal |
コレクションの基になるデータ表現にアクセスするための一連のメソッドを提供する安全でないクラスです。 |
ComAliasNameAttribute |
パラメーターまたはフィールドの種類の COM エイリアスを示します。 |
ComAwareEventInfo |
イベント ハンドラーの遅延バインディング登録を許可します。 |
ComCompatibleVersionAttribute |
現在のバージョンのアセンブリ内のクラスはすべて、以前のバージョンのアセンブリ内のクラスと互換性があることを COM クライアントに対して示します。 |
ComConversionLossAttribute |
タイプ ライブラリからアセンブリにインポートしたときに、クラスまたはインターフェイスについての情報が失われたことを示します。 |
ComDefaultInterfaceAttribute |
COM に公開する既定のインターフェイスを指定します。 このクラスは継承できません。 |
ComEventInterfaceAttribute |
ソース インターフェイスと、コクラスが COM タイプ ライブラリからインポートされるときに生成されるイベント インターフェイスのメソッドを実装するクラスとを識別します。 |
ComEventsHelper |
イベントを処理する .NET デリゲートについて、COM オブジェクトとの間でその追加および削除を行うためのメソッドを提供します。 |
COMException |
COM メソッドの呼び出しによって、認識されない HRESULT が返された場合にスローされる例外。 |
ComImportAttribute |
属性付き型が以前に COM で定義されたものであることを示します。 |
ComRegisterFunctionAttribute |
アセンブリを COM から使用できるように登録するときに呼び出すメソッドを指定します。これにより、登録処理中にユーザー記述のコードを実行できるようになります。 |
ComSourceInterfacesAttribute |
属性付きクラスの COM イベント ソースとして公開されるインターフェイスのリストを識別します。 |
ComUnregisterFunctionAttribute |
COM で使用できるように登録したアセンブリの登録を解除するときに呼び出すメソッドを指定します。これにより、登録解除中にユーザー記述コードを実行できます。 |
ComVisibleAttribute |
個々のマネージド型またはマネージド メンバーから COM への、またはアセンブリ内のすべての型から COM へのアクセシビリティを制御します。 |
ComWrappers |
COM IUnknown 型のラッパーを管理するためのクラス。 |
CriticalHandle |
ハンドル リソースのラッパー クラスを表します。 |
CurrencyWrapper |
マーシャラーが |
DefaultCharSetAttribute |
CharSet 列挙体の値を指定します。 このクラスは継承できません。 |
DefaultDllImportSearchPathsAttribute |
プラットフォーム呼び出しの機能を提供する DLL の検索に使用されるパスを指定します。 |
DefaultParameterValueAttribute |
既定のパラメーターをサポートする言語から呼び出された場合の、パラメーターの既定値を設定します。 このクラスは継承できません。 |
DispatchWrapper |
マーシャラーが |
DispIdAttribute |
メソッド、フィールドまたはプロパティの COM ディスパッチ識別子 (DISPID) を指定します。 |
DllImportAttribute |
属性付きメソッドがアンマネージ ダイナミックリンク ライブラリ (DLL) によって静的エントリ ポイントとして公開されることを示します。 |
DynamicInterfaceCastableImplementationAttribute |
GetInterfaceImplementation(RuntimeTypeHandle) によって返されるあらゆる型で必須となる属性。 |
ErrorWrapper |
マーシャラーが |
ExtensibleClassFactory |
アンマネージド オブジェクトから拡張したマネージド オブジェクトの作成時に、そのオブジェクトをカスタマイズできるようにします。 |
ExternalException |
すべての COM 相互運用例外と構造化例外処理 (SEH) 例外の基本的な例外の種類。 |
FieldOffsetAttribute |
クラスまたは構造体のアンマネージ表現内にあるフィールドの物理的な位置を示します。 |
GuidAttribute |
自動 GUID が望ましくない場合に、明示的な Guid を指定します。 |
HandleCollector |
保留状態のハンドルを追跡し、指定したしきい値に達したときに、強制的にガベージ コレクションを実行します。 |
IDispatchImplAttribute |
COM にデュアル インターフェイスと Dispinterface を公開する場合に、共通言語ランタイムが使用する |
ImmutableCollectionsMarshal |
不変コレクションの基になるデータ表現にアクセスするための一連のメソッドを提供する安全でないクラス。 |
ImportedFromTypeLibAttribute |
アセンブリ内で定義された型が、タイプ ライブラリで初めに定義されたことを示します。 |
InAttribute |
呼び出し元から呼び出し先へデータをマーシャリングするものの、逆方向にはマーシャリングしないことを示します。 |
InterfaceTypeAttribute |
COM への公開時に、マネージド インターフェイスがデュアル、ディスパッチ専用、または |
InvalidComObjectException |
無効な COM オブジェクトを使用したときにスローされる例外。 |
InvalidOleVariantTypeException |
マネージド コードにマーシャリングできないバリアント型の引数が見つかった場合に、マーシャラーによってスローされる例外。 |
LCIDConversionAttribute |
メソッドのアンマネージ シグネチャにロケール識別子 (LCID) パラメーターが必要であることを示します。 |
LibraryImportAttribute |
実行時に同等のマーシャリング関数を生成するためにランタイムに依存するのではなく、ソース ジェネレーターが引数をマーシャリングするための関数を作成する必要があることを示します。 |
ManagedToNativeComInteropStubAttribute |
マネージ型から COM への相互運用シナリオにおけるユーザーによる相互運用スタブのカスタマイズのサポートを提供します。 |
Marshal |
アンマネージド コードを扱うときに使用できるさまざまなメソッドを提供します。これらのメソッドを使用すると、アンマネージド メモリの割り当て、アンマネージド メモリ ブロックのコピー、マネージド型からアンマネージド型への変換などができます。 |
MarshalAsAttribute |
マネージド コードとアンマネージド コードとの間のデータのマーシャリング方法を示します。 |
MarshalDirectiveException |
マーシャラーが、サポートしていない MarshalAsAttribute を検出した場合にスローする例外。 |
MemoryMarshal |
、および とMemory<T>ReadOnlyMemory<T>Span<T>相互運用するメソッドを提供します。ReadOnlySpan<T> |
NativeLibrary |
ネイティブ ライブラリを管理するための API を提供します。 |
NativeMemory |
このクラスには、主にネイティブ メモリの管理に使用されるメソッドが含まれています。 |
OptionalAttribute |
パラメーターが省略可能であることを示します。 |
OutAttribute |
呼び出し先から呼び出し元へ、データをマーシャリングすることを示します。 |
PosixSignalContext |
イベントのデータを PosixSignalRegistration 提供します。 |
PosixSignalRegistration |
を処理します PosixSignal。 |
PreserveSigAttribute |
COM 相互運用呼び出し中に行われる HRESULT 署名変換を抑制する必要があることを示します。 |
PrimaryInteropAssemblyAttribute |
この属性が適用されたアセンブリが、プライマリ相互運用機能アセンブリであることを示します。 |
ProgIdAttribute |
ユーザーがクラスの ProgID を指定することを許可します。 |
RegistrationServices |
COM から使用できるようにマネージド アセンブリを登録および登録解除するための一連のサービスを提供します。 |
RuntimeEnvironment |
共通言語ランタイム環境に関する情報を返す |
RuntimeInformation |
.NET ランタイムのインストールに関する情報を示します。 |
SafeArrayRankMismatchException |
着信 |
SafeArrayTypeMismatchException |
着信 |
SafeBuffer |
読み取り用および書き込み用に使用できる管理されたメモリ バッファーを提供します。 管理されたバッファーの外部にあるメモリにアクセスしようとした場合 (アンダーランおよびオーバーラン)、例外が発生します。 |
SafeHandle |
オペレーティング システム ハンドルのラッパー クラスを表します。 このクラスは継承できません。 |
SEHException |
構造化例外処理 (SEH) エラーを表します。 |
SequenceMarshal |
ReadOnlySequence<T> と相互運用するためのメソッドのコレクションを提供します。 |
SetWin32ContextInIDispatchAttribute |
この属性は非推奨とされました。 |
StandardOleMarshalObject |
標準の共通言語ランタイム (CLR) フリー スレッド化マーシャラーを標準の OLE STA マーシャラーで置き換えます。 |
StructLayoutAttribute |
メモリ内のクラスまたは構造体のデータ フィールドの物理的なレイアウトを制御できます。 |
SuppressGCTransitionAttribute |
アンマネージド関数の呼び出しが行われたときに、ガベージ コレクションの遷移をスキップする必要があることを示します。 |
TypeIdentifierAttribute |
型の等価性に対するサポートを提供します。 |
TypeLibConverter |
マネージド アセンブリと COM タイプ ライブラリ間の変換を実行する一連のサービスを提供します。 |
TypeLibFuncAttribute |
COM タイプ ライブラリからこのメソッド用に元来インポートされた FUNCFLAGS を格納します。 |
TypeLibImportClassAttribute |
インターフェイスを排他的に使用する Type を指定します。 このクラスは継承できません。 |
TypeLibTypeAttribute |
COM タイプ ライブラリからこの型用に元来インポートされた TYPEFLAGS を格納します。 |
TypeLibVarAttribute |
COM タイプ ライブラリからこのフィールド用に元来インポートされた VARFLAGS を格納します。 |
TypeLibVersionAttribute |
エクスポートされたタイプ ライブラリのバージョン番号を指定します。 |
UnknownWrapper |
マーシャラーが |
UnmanagedCallConvAttribute |
アンマネージ コードで実装された P/Invoke メソッドを呼び出すために必要な呼び出し規則を指定します。 |
UnmanagedCallersOnlyAttribute |
UnmanagedCallersOnlyAttribute のマークが付いているメソッドは、ネイティブ コードから直接呼び出すことができます。 関数トークンは C# で address-of 演算子を使用してローカル変数に読み込み、コールバックとしてネイティブ メソッドに渡すことができます。 |
UnmanagedFunctionPointerAttribute |
アンマネージ コードとの間でアンマネージ関数ポインターとしてやり取りされるデリゲート シグネチャのマーシャリング動作を制御します。 このクラスは継承できません。 |
VariantWrapper |
|
構造体
ArrayWithOffset |
指定した配列内の配列とオフセットをカプセル化します。 |
BIND_OPTS |
代わりに、BIND_OPTS を使用してください。 |
BINDPTR |
代わりに、BINDPTR を使用してください。 |
CLong |
CLong は、C および C++ の型を |
ComWrappers.ComInterfaceDispatch |
COM インターフェイスの関数ディスパッチ用のアプリケーション バイナリ インターフェイス。 |
ComWrappers.ComInterfaceEntry |
インターフェイスの種類と対象となる VTable へのポインター。 |
CONNECTDATA |
代わりに、CONNECTDATA を使用してください。 |
CULong |
CULong は、C および C++ の型を |
DISPPARAMS |
代わりに、DISPPARAMS を使用してください。 |
ELEMDESC |
代わりに、ELEMDESC を使用してください。 |
ELEMDESC.DESCUNION |
代わりに、ELEMDESC.DESCUNION を使用してください。 |
EXCEPINFO |
代わりに、EXCEPINFO を使用してください。 |
FILETIME |
代わりに、FILETIME を使用してください。 |
FUNCDESC |
代わりに、FUNCDESC を使用してください。 |
GCHandle |
アンマネージド メモリからマネージド オブジェクトにアクセスする手段を提供します。 |
HandleRef |
プラットフォーム呼び出しを使用してアンマネージド コードに渡されるリソースへのハンドルを保持しているマネージド オブジェクトをラップします。 |
IDLDESC |
代わりに、IDLDESC を使用してください。 |
NFloat |
NFloat は、ネイティブ整数サイズと同じサイズの浮動型を表す不変値型です。
これは、マネージド/アンマネージド境界で交換型として使用され、32 ビット プラットフォームまたは 64 ビット プラットフォーム (Apple が提供するライブラリの CGFloat 型など) で C または |
OSPlatform |
オペレーティング システム プラットフォームを表します。 |
PARAMDESC |
代わりに、PARAMDESC を使用してください。 |
STATSTG |
代わりに、STATSTG を使用してください。 |
TYPEATTR |
代わりに、TYPEATTR を使用してください。 |
TYPEDESC |
代わりに、TYPEDESC を使用してください。 |
TYPELIBATTR |
代わりに、TYPELIBATTR を使用してください。 |
VARDESC |
代わりに VARDESC を使用してください |
VARDESC.DESCUNION |
代わりに VARDESC.DESCUNION を使用してください |
インターフェイス
_Activator |
Activator クラスをアンマネージ コードに公開します。 |
_Assembly |
Assembly クラスのパブリック メンバーをアンマネージ コードに公開します。 |
_AssemblyBuilder |
AssemblyBuilder クラスをアンマネージ コードに公開します。 |
_AssemblyName |
AssemblyName クラスをアンマネージ コードに公開します。 |
_Attribute |
Attribute クラスをアンマネージ コードに公開します。 |
_ConstructorBuilder |
ConstructorBuilder クラスをアンマネージ コードに公開します。 |
_ConstructorInfo |
ConstructorInfo クラスのパブリック メンバーをアンマネージ コードに公開します。 |
_CustomAttributeBuilder |
CustomAttributeBuilder クラスをアンマネージ コードに公開します。 |
_EnumBuilder |
EnumBuilder クラスをアンマネージ コードに公開します。 |
_EventBuilder |
EventBuilder クラスをアンマネージ コードに公開します。 |
_EventInfo |
EventInfo クラスのパブリック メンバーをアンマネージ コードに公開します。 |
_Exception |
Exception クラスのパブリック メンバーをアンマネージ コードに公開します。 |
_FieldBuilder |
FieldBuilder クラスをアンマネージ コードに公開します。 |
_FieldInfo |
FieldInfo クラスのパブリック メンバーをアンマネージ コードに公開します。 |
_ILGenerator |
ILGenerator クラスをアンマネージ コードに公開します。 |
_LocalBuilder |
LocalBuilder クラスをアンマネージ コードに公開します。 |
_MemberInfo |
MemberInfo クラスのパブリック メンバーをアンマネージ コードに公開します。 |
_MethodBase |
MethodBase クラスのパブリック メンバーをアンマネージ コードに公開します。 |
_MethodBuilder |
MethodBuilder クラスをアンマネージ コードに公開します。 |
_MethodInfo |
MethodInfo クラスのパブリック メンバーをアンマネージ コードに公開します。 |
_MethodRental |
MethodRental クラスをアンマネージ コードに公開します。 |
_Module |
Module クラスをアンマネージ コードに公開します。 |
_ModuleBuilder |
ModuleBuilder クラスをアンマネージ コードに公開します。 |
_ParameterBuilder |
ParameterBuilder クラスをアンマネージ コードに公開します。 |
_ParameterInfo |
ParameterInfo クラスをアンマネージ コードに公開します。 |
_PropertyBuilder |
PropertyBuilder クラスをアンマネージ コードに公開します。 |
_PropertyInfo |
PropertyInfo クラスのパブリック メンバーをアンマネージ コードに公開します。 |
_SignatureHelper |
SignatureHelper クラスをアンマネージ コードに公開します。 |
_Thread |
Thread クラスをアンマネージ コードに公開します。 |
_Type |
Type クラスのパブリック メンバーをアンマネージ コードに公開します。 |
_TypeBuilder |
TypeBuilder クラスをアンマネージ コードに公開します。 |
ICustomAdapter |
クライアントが、カスタム マーシャラーによって渡されるアダプター オブジェクトではなく、実際のオブジェクトにアクセスできるようにします。 |
ICustomFactory |
MarshalByRefObject を拡張するマネージド オブジェクトのアクティベーション コードを、ユーザーが書き込むことができるようにします。 |
ICustomMarshaler |
メソッド呼び出しを処理するためのカスタム ラッパーを提供します。 |
ICustomQueryInterface |
IUnknown::QueryInterface(REFIID riid, void **ppvObject) メソッドのカスタムのマネージド実装を開発者が提供できるようにします。 |
IDynamicInterfaceCastable |
型キャスト エラーに参加するためのインターフェイス。 |
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 を使用してください |
列挙型
Architecture |
プロセッサ アーキテクチャを示します。 |
AssemblyRegistrationFlags |
アセンブリの登録時に使用される一連のフラグを定義します。 |
CALLCONV |
代わりに、CALLCONV を使用してください。 |
CallingConvention |
アンマネージ コードで実装されたメソッドを呼び出すために必要な呼び出し規約を指定します。 |
CharSet |
マーシャリングされる文字列に使用する文字セットを指定します。 |
ClassInterfaceType |
クラスに対して生成されるクラス インターフェイスの型を識別します。 |
ComInterfaceType |
COM に対するインターフェイスの公開方法を識別します。 |
ComMemberType |
COM メンバーの型について記述します。 |
CreateComInterfaceFlags |
GetOrCreateComInterfaceForObject(Object, CreateComInterfaceFlags) メソッドのフラグを指定します。 |
CreateObjectFlags |
GetOrCreateObjectForComInstance(IntPtr, CreateObjectFlags) メソッドのフラグを指定します。 |
CustomQueryInterfaceMode |
GetComInterfaceForObject(Object, Type, CustomQueryInterfaceMode) メソッドの IUnknown::QueryInterface 呼び出しで ICustomQueryInterface インターフェイスを使用できるかどうかを示します。 |
CustomQueryInterfaceResult |
GetInterface(Guid, IntPtr) メソッドの戻り値を提供します。 |
DESCKIND |
代わりに、DESCKIND を使用してください。 |
DllImportSearchPath |
プラットフォーム呼び出しの機能を提供する DLL の検索に使用されるパスを指定します。 |
ExporterEventKind |
タイプ ライブラリをエクスポートするときにタイプ ライブラリ エクスポーターが実行するコールバックを記述します。 |
FUNCFLAGS |
代わりに、FUNCFLAGS を使用してください。 |
FUNCKIND |
代わりに、FUNCKIND を使用してください。 |
GCHandleType |
型が割り当てることができるハンドルの種類を GCHandle 表します。 |
IDispatchImplType |
特定のクラスにどの |
IDLFLAG |
代わりに、IDLFLAG を使用してください。 |
IMPLTYPEFLAGS |
代わりに、IMPLTYPEFLAGS を使用してください。 |
ImporterEventKind |
タイプ ライブラリをインポートするときにタイプ ライブラリ インポーターが実行するコールバックを記述します。 |
INVOKEKIND |
代わりに、INVOKEKIND を使用してください。 |
LayoutKind |
アンマネージ コードにエクスポートするときにオブジェクトのレイアウトを制御します。 |
LIBFLAGS |
代わりに、LIBFLAGS を使用してください。 |
PARAMFLAG |
代わりに、PARAMFLAG を使用してください。 |
PosixSignal |
POSIX シグナル番号を指定します。 |
RegistrationClassContext |
クラス オブジェクトをインスタンスの構築要求に対して使用できる実行コンテキストのセットを指定します。 |
RegistrationConnectionType |
クラス オブジェクトへの接続の種類を定義します。 |
StringMarshalling |
生成された p/invoke に対して文字列をマーシャリングする方法を指定します |
SYSKIND |
代わりに、SYSKIND を使用してください。 |
TYPEFLAGS |
代わりに、TYPEFLAGS を使用してください。 |
TYPEKIND |
代わりに、TYPEKIND を使用してください。 |
TypeLibExporterFlags |
タイプ ライブラリの生成方法を示します。 |
TypeLibFuncFlags |
このメソッドがインポートされた COM タイプ ライブラリに |
TypeLibImporterFlags |
アセンブリの生成方法を示します。 |
TypeLibTypeFlags |
この型がインポートされた COM タイプ ライブラリに TYPEFLAGS の元の設定を記述します。 |
TypeLibVarFlags |
この変数がインポートされた COM タイプ ライブラリに VARFLAGS の元の設定を記述します。 |
UnmanagedType |
パラメーターまたはフィールドをアンマネージ コードにマーシャリングする方法を示します。 |
VarEnum |
配列が SafeArray としてマネージド コードからアンマネージド コードにマーシャリングされる場合の、配列要素のマーシャリング方法を示します。 |
VARFLAGS |
代わりに、VARFLAGS を使用してください。 |
代理人
DllImportResolver |
コールバック経由でネイティブ ライブラリを解決するためのデリゲートを提供します。 |
ObjectCreationDelegate |
COM オブジェクトを作成します。 |
注釈
この名前空間のメンバーは、次の表に示すように、いくつかのカテゴリの機能を提供します。 属性は、構造体の配置方法や文字列の表現方法など、マーシャリング動作を制御します。 最も重要な属性は、 DllImportAttributeアンマネージ API にアクセスするためのプラットフォーム呼び出しメソッドを定義するために使用する 属性と、マネージド メモリと MarshalAsAttributeアンマネージド メモリの間でデータをマーシャリングする方法を指定するために使用する 属性です。
フィードバック
フィードバックの送信と表示