C++ DLL ファイルがあり、C# の関数を使用する必要があります。C++ ファイルには、ServiceState に「Status」というメソッドがあります。そのブロックの C++ コードを以下に示します。
STDMETHODIMP ServiceState::Status(/*[out]*/VARIANT *Primary,VARIANT *Secondary )
{
if(primary())
Primary->boolVal = TRUE;
else
Secondary->boolVal = FALSE;
return true;
}
C++ プロジェクトをコンパイルし、Status.dllの出力を取得しました。次のようにC#コードで初期化しました。
[DllImport(@"c:\Status.dll")]
public static extern void ServiceState.Status(IntPtr Primary,IntPtr Secondary);
1) 初期化は正しいか?
2) メソッドには C++ のポインターがあるため、どの C# データ型をそのメソッドに渡す必要がありますか? & どのように? 私を案内してください。
ありがとう