小编Fra*_*oof的帖子

P/Invoke SetupDiGetDeviceInterfaceDetail 返回 1784

我目前正在尝试 P/Invoke 到 HID(在 Unity 中(因此使用 .Net 2.0))。但是,当调用SetupDiGetDeviceInterfaceDetail时,它返回错误代码1784。

注意:这是第二次调用,因为第一次调用应该(并且确实)返回错误 122,并设置所需的缓冲区大小。

..Replaced With Full Source Below..
Run Code Online (Sandbox Code Playgroud)

使用的结构:

..Replaced With Full Source Below..
Run Code Online (Sandbox Code Playgroud)

目前未使用 DETAIL_DATA,因为我发现我应该使用 IntPtr 来代替。

如何摆脱错误 1784 并获取/迭代我的设备路径?另外,我读到我应该使用“null”,而不是 dData,但这也会出错(无法将 null 转换为 DEVICE_INTERFACE_DATA)

编辑:完整来源

调试输入.cs:

using UnityEngine;
using System.Collections;
using System;
using System.Runtime.InteropServices;
using Microsoft.Win32.SafeHandles;
using Assets;

public class DebugInput : MonoBehaviour {
    static readonly IntPtr INVALID_HANDLE_VALUE = new IntPtr(-1);
    // Use this for initialization
    void Start () {

    }

    // Update is called once per frame
    void Update () { …
Run Code Online (Sandbox Code Playgroud)

.net c# pinvoke unity-game-engine

0
推荐指数
1
解决办法
2265
查看次数

标签 统计

.net ×1

c# ×1

pinvoke ×1

unity-game-engine ×1