Windows store apps Windows 8应用商店设备应用程序开发
我们正在使用C#开发一个windows 8商店设备应用程序,它将使用Win32 API和C dll中的IOCTL调用与设备通信。我们用Create File和一些IOCTL调用创建了一个C dll,并导入到C#应用程序中。集成进展顺利,当调用Create File函数时,它返回“ACCESS DENIED ERROR”。我们还尝试过创建具有管理员请求的执行级别的清单,但问题仍然没有得到解决。我想知道是否可以直接使用Win32 API和IOCTL调用,还是需要使用任何包装器调用才能使其工作Windows store apps Windows 8应用商店设备应用程序开发,windows-store-apps,Windows Store Apps,我们正在使用C#开发一个windows 8商店设备应用程序,它将使用Win32 API和C dll中的IOCTL调用与设备通信。我们用Create File和一些IOCTL调用创建了一个C dll,并导入到C#应用程序中。集成进展顺利,当调用Create File函数时,它返回“ACCESS DENIED ERROR”。我们还尝试过创建具有管理员请求的执行级别的清单,但问题仍然没有得到解决。我想知道是否可以直接使用Win32 API和IOCTL调用,还是需要使用任何包装器调用才能使其工作 提前感
提前感谢并非所有win32 API都受支持。请看
特别支持CreateFile2()。你试过用这个吗 我尝试实现“CreateDeviceAccessInstance”IDeviceIoControl API来获取句柄和访问设备,但是我得到了对GetResult()函数调用的E_INVALIDARG。我的顺序如下1。ICreateDeviceAccessAsync*pDeviceAccess 2。CreateDeviceAccessInstance(文件路径、通用读取、通用写入和pDeviceAccess)-成功3。pDeviceAccess->等待(无限)-成功4。IDeviceIoControl*PDEVIECECONTROL 5。pDeviceAccess->GetResult(IID_IDeviceIoControl,(void**)和pDeviceControl)-失败,带有E_INVALIDARG错误代码。任何建议都会有所帮助。提前谢谢。嗨,第五步:我没有使用pDeviceAccess->GetResult(),而是使用了pDeviceAccess->QueryInterface()。返回的接口类型转换为DeviceIoControl指针。现在我不明白了。但是,当按照下面的方式发出IOCTL时,我得到了E_意外的错误代码。6.pDeviceControl->DeviceIoControlSync(FSCTL\u GET\u RETRIEVAL\u指针,(UCHAR*)、sizeof(启动\u VCN\u输入\u缓冲区),(UCHAR*)、sizeof(检索缓冲区结构)和dwbytesreed);任何意见都会很好。