당신은에서 AdapterUsesPio
멤버를 사용할 수 있습니다 : 당신이 C#으로 AutoIt을 사용하려는 경우
Run ("mmc c:\windows\system32\devmgmt.msc")
WinWaitActive ("Device Manager")
send("{tab}{down}{down}{down}{down}{down}{down}{down}{NUMPADADD}{down}!{enter}")
WinWaitActive ("Primary IDE Channel Properties")
send("^{tab}")
$drivemode = ControlGetText("Primary IDE Channel Properties", "", "Static4")
ControlClick("Primary IDE Channel Properties","Cancel","Button6")
WinKill ("Device Manager")
:
샘플 (다른 Windows 버전과 언어에주의 하시고) STORAGE_ADAPTER_DESCRIPTOR 구조체. 다음은 디스크를 쿼리하는 방법을 보여주는 C++ 예제입니다.
#include "stdafx.h"
int main()
{
wchar_t path[1024];
wsprintf(path, L"\\\\?\\C:"); // or L"\\\\.\\PhysicalDrive0"
// note we use 0, not GENERIC_READ to avoid the need for admin rights
// 0 is ok if you only need to query for characteristics
HANDLE device = CreateFile(path, 0, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, NULL, NULL);
if (device == INVALID_HANDLE_VALUE)
return 0;
STORAGE_PROPERTY_QUERY query = {};
query.PropertyId = StorageAdapterProperty;
query.QueryType = PropertyStandardQuery;
STORAGE_ADAPTER_DESCRIPTOR descriptor = {};
DWORD read;
if (!DeviceIoControl(device, IOCTL_STORAGE_QUERY_PROPERTY,
&query,
sizeof(query),
&descriptor,
sizeof(descriptor),
&read,
NULL
))
{
wprintf(L"DeviceIoControl error: %i\n", GetLastError());
}
else
{
wprintf(L"AdapterUsesPio: %i\n", descriptor.AdapterUsesPio);
}
CloseHandle(device);
return 0;
}
영어 버전이 있습니까? 장치 관리자 –
@SimonMourier DeviceManager -> IDE ATA/ATAPI 컨트롤러 -> 드롭 다운에서 채널 정보를 마우스 오른쪽 버튼으로 클릭하고 속성 -> 고급 속성 (두 번째 탭)을 선택하면이 정보가있는 곳을 정확히 이해하는 것은 어렵습니다. Windows 7. – Nikita
STORAGE_ADAPTER_DESCRIPTOR 구조체 (https://msdn.microsoft.com/en-us/library/windows/desktop/ff800832.aspx)에서 AdapterUsesPio를 사용해 보았습니까? 여기 예제를 게시했습니다. http : // pastebin .com/LSHCy08y하지만 IDE 드라이브가 없으므로 테스트 할 수 없습니다. –