嗨,我有以下代码,我想转换为C#。您能在这里分享一些我如何将它们转换为C#吗?我对C++不太熟悉。特别是在调用WinBase API的函数DeviceIoControl
上。在C#中,应该使用什么功能替换DeviceIOCOntrol?
shareMode = FILE_SHARE_READ | FILE_SHARE_WRITE;
accessMode = GENERIC_READ | GENERIC_WRITE;
sprintf(ff, "\\\\.\\%s", device);
hFile = CreateFile(ff, accessMode, shareMode, NULL, OPEN_EXISTING, 0, NULL);
if(hFile == INVALID_HANDLE_VALUE) {
*response = -1;
sprintf((response + 1), "Failed to open device %s", device);
return;
}
status = DeviceIoControl(hFile,
IOCTL_SCSI_GET_ADDRESS,
NULL,
0,
inquiry_data,
sizeof(inquiry_data),
&returned,
FALSE);
最佳答案
您必须使用P / Invoke互操作访问DeviceIoControl。这是一个调用类似的链接,应该是一个不错的起点:Defrag API C# wrappers
关于c# - 如何将其转换为C#,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5839920/