System.Runtime.InteropServices 名前空間
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
COM 相互運用機能とプラットフォーム呼び出しサービスをサポートするさまざまなメンバーを提供します。 これらのサービスに慣れていない場合は、「アンマネージ コードとの相互運用」を参照してください。
クラス
AllowReversePInvokeCallsAttribute |
アンマネージ メソッドがマネージド メソッドを呼び出すことができます。 |
AutomationProxyAttribute |
Automation マーシャラーまたはカスタム プロキシとスタブを使用して型をマーシャリングするかどうかを指定します。 |
BestFitMappingAttribute |
Unicode 文字を最も近い一致する ANSI 文字に変換するかどうかを制御します。 |
BStrWrapper |
マネージド コードからアンマネージド コードに |
ClassInterfaceAttribute |
インターフェイスがまったく生成された場合に、COM に公開されるクラスに対して生成されるクラス インターフェイスの型を示します。 |
CoClassAttribute |
タイプ ライブラリからインポートされたコクラスのクラス識別子を指定します。 |
CollectionsMarshal |
コレクションの基になるデータ表現にアクセスするための一連のメソッドを提供する安全でないクラス。 |
ComAliasNameAttribute |
パラメーターまたはフィールド型の COM エイリアスを示します。 |
ComAwareEventInfo |
イベント ハンドラーの遅延バインディング登録を許可します。 |
ComCompatibleVersionAttribute |
アセンブリの現在のバージョンのすべてのクラスが、以前のバージョンのアセンブリのクラスと互換性があることを COM クライアントに示します。 |
ComConversionLossAttribute |
タイプ ライブラリからアセンブリにインポートされたときに、クラスまたはインターフェイスに関する情報が失われたことを示します。 |
ComDefaultInterfaceAttribute |
COM に公開する既定のインターフェイスを指定します。 このクラスは継承できません。 |
ComEventInterfaceAttribute |
COM タイプ ライブラリからコクラスをインポートするときに生成されるイベント インターフェイスのメソッドを実装するソース インターフェイスとクラスを識別します。 |
ComEventsHelper |
COM オブジェクトに対するイベントの追加と削除を処理する .NET デリゲートを有効にするメソッドを提供します。 |
COMException |
認識できない HRESULT が COM メソッド呼び出しから返されたときにスローされる例外。 |
ComImportAttribute |
属性付き型が COM で以前に定義されたことを示します。 |
ComRegisterFunctionAttribute |
COM から使用するアセンブリを登録するときに呼び出すメソッドを指定します。これにより、登録プロセス中にユーザーが記述したコードを実行できます。 |
ComSourceInterfacesAttribute |
属性付きクラスの COM イベント ソースとして公開されるインターフェイスの一覧を識別します。 |
ComUnregisterFunctionAttribute |
COM から使用するアセンブリの登録を解除するときに呼び出すメソッドを指定します。これにより、登録解除プロセス中にユーザーが記述したコードを実行できます。 |
ComVisibleAttribute |
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 に公開するときに共通言語ランタイムが使用する |
ImmutableCollectionsMarshal |
不変コレクションの基になるデータ表現にアクセスするための一連のメソッドを提供する安全でないクラス。 |
ImportedFromTypeLibAttribute |
アセンブリ内で定義された型が最初にタイプ ライブラリで定義されたことを示します。 |
InAttribute |
呼び出し元から呼び出し先にデータをマーシャリングする必要がありますが、呼び出し元にはマーシャリングしないことを示します。 |
InterfaceTypeAttribute |
マネージド インターフェイスが COM に公開されるときに、デュアル インターフェイス、ディスパッチ専用インターフェイス、または |
InvalidComObjectException |
無効な COM オブジェクトが使用されている場合にスローされる例外。 |
InvalidOleVariantTypeException |
マーシャラーがマネージド コードにマーシャリングできないバリアント型の引数を検出したときにスローされる例外。 |
JsonMarshal |
COM 相互運用機能とプラットフォーム呼び出しサービスをサポートするさまざまなメンバーを提供します。 これらのサービスに慣れていない場合は、「アンマネージ コードとの相互運用」を参照してください。 |
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 |
マネージド コードからアンマネージド コードに |
WasmImportLinkageAttribute |
この属性でマークされた P/Invoke を WASM インポートとしてリンクするように指定します。 |
構造体
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 ビット プラットフォーム上の C または 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は、マネージド メモリとアンマネージド メモリの間でデータをマーシャリングする方法を指定するために使用します。
.NET
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示