我正在尝试将 PTRobot 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 中获取一个数组?