ICustomMarshaler インターフェイス
アセンブリ: mscorlib (mscorlib.dll 内)
構文
解説
カスタム マーシャラを使用するには、マーシャリングするパラメータまたはフィールドに MarshalAsAttribute を適用する必要があります。また、UnmanagedType.CustomMarshaler をそのコンストラクタに渡し、MarshalType を指定する必要があります。属性は、適切なカスタム マーシャラを識別して、適切なラッパーをアクティブ化します。共通言語ランタイムの相互運用サービスは、次に属性を検査して、引数をマーシャリングするときにカスタム マーシャラを作成します。これは、カスタム マーシャラの MarshalNativeToManaged メソッドと MarshalManagedToNative メソッドを呼び出して、呼び出しを処理するために正しいラッパーをアクティブ化します。
ICustomMarshaler インターフェイスの実装に加えて、カスタム マーシャラは GetInstance という static メソッドを実装する必要があります。このメソッドは、パラメータとして String を受け入れ、戻り型は ICustomMarshaler です。この static メソッドは、カスタム マーシャラのインスタンスをインスタンス化するために、共通言語ランタイムの COM 相互運用層によって呼び出されます。GetInstance に渡される文字列は、返されたカスタム マーシャラをカスタマイズするためにメソッドが使用できる Cookie です。
Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
参照
ICustomMarshaler メソッド
パブリック メソッド
名前 | 説明 | |
---|---|---|
CleanUpManagedData | 不要になったときに、マネージ データの必要なクリーンアップを実行します。 | |
CleanUpNativeData | 不要になったときに、アンマネージ データの必要なクリーンアップを実行します。 | |
GetNativeDataSize | マーシャリングするネイティブ データのサイズを返します。 | |
MarshalManagedToNative | マネージ データをアンマネージ データに変換します。 | |
MarshalNativeToManaged | アンマネージ データをマネージ データに変換します。 |
ICustomMarshaler メンバ
メソッド呼び出しを処理するためのカスタム ラッパーの提供を目的としています。
ICustomMarshaler データ型で公開されるメンバを以下の表に示します。
パブリック メソッド
名前 | 説明 | |
---|---|---|
CleanUpManagedData | 不要になったときに、マネージ データの必要なクリーンアップを実行します。 | |
CleanUpNativeData | 不要になったときに、アンマネージ データの必要なクリーンアップを実行します。 | |
GetNativeDataSize | マーシャリングするネイティブ データのサイズを返します。 | |
MarshalManagedToNative | マネージ データをアンマネージ データに変換します。 | |
MarshalNativeToManaged | アンマネージ データをマネージ データに変換します。 |
Weblioに収録されているすべての辞書からICustomMarshalerを検索する場合は、下記のリンクをクリックしてください。
全ての辞書からICustomMarshalerを検索
- ICustomMarshalerのページへのリンク