PRobot API を C# .NET プログラムに統合しようとしていますが、理解できない問題が発生しています。次のコマンドを実行しようとしています。
PTRobot_Initialize()
PTRobot_EnumRobots(HANDLE * phRobots, DWORD * pdwNumRobots)
PTRobot_GetRobotInfo(HANDLE hRobot, PTRobotInfo *pRobotInfo)
PTRobot_EnumDrives(HANDLE hRobot, HANDLE * phDrives, DWORD * pdwNumDrives)
PTRobot_GetDriveInfo(HANDLE hDrive, PTDriveInfo* pDrvInfo)
これは API ドキュメントに由来します。また、Primera は DLL を囲む C# 用の .NET ラッパーも開発しました。更新された関数は次のとおりです。
PTRobot_Initialize()
PTRobot_EnumRobots(ref UInt32 nRobots, ref UInt32 pnNumRobots)
PTRobot_GetRobotInfo(UInt32 nRobotID, [In, Out] RobotInfo myRobotInfo)
PTRobot_EnumDrives(UInt32 nRobotID, ref UInt32 nDriveIDs, ref UInt32 nNumDrives)
PTRobot_GetDriveInfo(UInt32 nDriveID, [In, Out] DriveInfo myDriveInfo)
プログラムに .NET 関数を統合しようとしていますが、問題が発生しています。EnumRobots のパラメータ nRobots は「見つかったロボットを格納する HANDLE の配列を指します」が、EnumDrives パラメータ nDriveIDs は「見つかったドライブを格納する DWORDS の配列を指します」。私の質問は、この uint から配列を取得するにはどうすればよいですか?