私の DLLImport ステートメントが次のようになることを知っている人は誰でも:
extern "C" __declspec(dllexport) long SomeFunction(VARIANT *argNames, VARIANT *argValues, VARIANT *pVal)
{
...
}
バリアントはオブジェクトです。
型変換
マーシャリング中の最も重要な手順の 1 つは、アンマネージ型からマネージド型への変換、およびその逆の変換です。CLR マーシャリング サービスは、これらの変換の多くを実行する方法を認識していますが、変換時にさまざまな型が互いにどのように一致するかを知っておく必要があります。マネージド関数へのアンマネージド シグネチャ。この変換表を使用して、さまざまなタイプを一致させることができます。
表1
+------------------------+------------------+ | | Windows データ型 | .NET データ型 | +------------------------+------------------+ | | バリアント | オブジェクト | +------------------------+------------------+
ここからダウンロードしたドキュメントから (ページ 9,249): http://msdn.microsoft.com/en-us/library/aa719104(VS.71).aspx