Cara Menemukan VID, PID, Vendor SCSI, dan Informasi Produk USB Flash Drive di Windows

Diagram alur yang menunjukkan cara Windows mengidentifikasi perangkat USB melalui enumerasi USB, descriptor USB berupa VID dan PID, pemuatan driver Mass Storage, serta SCSI Inquiry yang melaporkan Vendor, Product, dan Revision.

Ada sesuatu yang terasa sangat memuaskan ketika sebuah perangkat USB dicolokkan ke komputer Windows lalu muncul hampir seketika. Windows mengidentifikasi perangkat keras, memuat driver yang sesuai, memberikan huruf drive kepada perangkat penyimpanan, dan dalam satu atau dua detik USB flash drive tersebut sudah siap digunakan.

Sebagian besar pengguna tidak pernah perlu memikirkan apa yang terjadi selama beberapa detik tersebut. Namun, bagi pengembang, administrator TI, teknisi perangkat keras, dan siapa pun yang menulis perangkat lunak yang berinteraksi dengan perangkat USB, proses otomatis itu menimbulkan sebuah pertanyaan penting: dari mana Windows mendapatkan informasi yang digunakannya untuk mengidentifikasi perangkat tersebut?

Sebuah USB flash drive dapat melaporkan lebih dari satu identitas. Pada tingkat USB, perangkat melaporkan Vendor ID, yang biasanya disebut VID, dan Product ID, yang biasanya disebut PID. Setelah Windows mengenali perangkat tersebut sebagai USB mass storage, perangkat penyimpanan juga dapat melaporkan string SCSI Vendor, string SCSI Product, dan revisi produk.

Nilai-nilai tersebut saling berkaitan karena menggambarkan perangkat fisik yang sama, tetapi semuanya tidak berasal dari tempat yang sama. Nilai tersebut tidak dapat saling dipertukarkan dan tidak selalu mengidentifikasi produsen atau nama produk yang sama.

Windows 10 menyediakan beberapa cara untuk melihat atau mengambil informasi ini. Beberapa metode dirancang untuk seseorang yang sedang duduk di depan komputer. Metode lainnya lebih cocok untuk script, sistem inventaris, perangkat lunak diagnostik, atau aplikasi yang perlu mengidentifikasi perangkat penyimpanan USB secara otomatis.

VID dan PID USB Dibandingkan dengan Vendor dan Product SCSI

Sebelum melihat berbagai metode yang tersedia di Windows, ada baiknya memahami dua identitas yang terlibat.

USB Vendor ID dan Product ID berasal dari descriptor USB milik perangkat. Nilai-nilai ini dilaporkan ketika perangkat USB pertama kali dihubungkan dan Windows memulai proses enumerasi USB.

Identifier perangkat keras USB yang umum mungkin terlihat seperti berikut:

USB\VID_090C&PID_1000&REV_1100
USB\VID_090C&PID_1000

Dalam contoh ini, nilainya adalah:

USB VID = 090C
USB PID = 1000

VID dimaksudkan untuk mengidentifikasi vendor USB, sedangkan PID mengidentifikasi produk atau keluarga produk yang ditetapkan oleh vendor tersebut. Kedua nilai tersebut merupakan angka heksadesimal.

Setelah Windows menentukan bahwa perangkat yang terhubung adalah perangkat USB Mass Storage, Windows berkomunikasi dengannya melalui lapisan perintah penyimpanan. Respons standar SCSI Inquiry dapat mencakup string Vendor, string Product, dan string Revision.

Identifier perangkat keras penyimpanan mungkin terlihat seperti berikut:

USBSTOR\Disk&Ven_Generic&Prod_Flash_Disk&Rev_8.07

Dalam contoh ini, nilainya adalah:

SCSI Vendor   = Generic
SCSI Product  = Flash Disk
SCSI Revision = 8.07

VID dan PID USB merupakan identifier numerik yang digunakan selama enumerasi USB. Kolom SCSI Vendor dan Product merupakan string teks yang dilaporkan melalui interface penyimpanan. Produsen perangkat dapat mengubah salah satu identitas tanpa harus mengubah identitas lainnya.

Inilah sebabnya sebuah flash drive dapat melaporkan VID USB yang berkaitan dengan produsen controller, sementara kolom SCSI Product menampilkan nama produk ritel, nama pelanggan, atau sesuatu yang umum seperti “USB Flash Disk”.

Bagaimana Windows Membangun Dua Identitas Perangkat

Cara termudah untuk membayangkan proses ini adalah sebagai dua tahap. Pertama, Windows mengidentifikasi perangkat keras USB yang terhubung. Setelah itu, Windows mengidentifikasi perangkat penyimpanan yang beroperasi melalui koneksi USB tersebut.

VID dan PID USB tersedia pada tahap pertama. Kolom SCSI Vendor, Product, dan Revision tersedia setelah driver USB mass storage dimuat dan Windows menanyakan informasi kepada perangkat penyimpanan.

Perbedaan ini juga membantu menjelaskan mengapa Windows dapat mengingat perangkat USB setelah perangkat tersebut dilepas. Seperti yang dibahas dalam artikel kami mengenai mengapa Windows menyimpan riwayat perangkat USB yang pernah terhubung, Windows menyimpan informasi yang dikumpulkan selama enumerasi perangkat agar dapat mengenali dan mengelola perangkat keras tersebut saat muncul kembali.

Mengapa Seseorang Membutuhkan Kedua Kumpulan Informasi?

Untuk pemecahan masalah sederhana, VID dan PID USB mungkin sudah cukup. Namun, untuk inventaris perangkat, produksi, diagnostik, atau pengembangan perangkat lunak, mengumpulkan kedua identitas memberikan gambaran yang lebih lengkap.

Aplikasi inventaris dapat menggunakan VID dan PID USB untuk mengelompokkan perangkat berdasarkan platform perangkat keras, sambil menampilkan string SCSI Vendor dan Product kepada pengguna. Utilitas produksi dapat memastikan bahwa controller USB yang didukung telah terhubung sebelum menjalankan suatu operasi. Program diagnostik dapat mencatat semua identifier agar hasil dari berbagai perangkat dapat dibandingkan kemudian.

Perangkat analisis forensik digital dapat mengumpulkan identifier sebagai bagian dari catatan perangkat. Perangkat lunak validasi USB dapat membandingkan identitas yang dilaporkan oleh perangkat dengan perilaku yang diamati selama pengujian. Hal ini berguna karena nama, kapasitas, dan performa yang diklaim oleh sebuah perangkat USB tidak selalu membuktikan perangkat keras apa yang sebenarnya berada di dalamnya.

Prinsip yang sama berlaku untuk integritas data. Informasi identifikasi memberi tahu kita perangkat tersebut mengaku sebagai apa, sedangkan pengujian memberi tahu kita bagaimana perangkat tersebut benar-benar berperilaku. Artikel kami yang menjelaskan mengapa verifikasi data USB terkadang perlu mencakup power cycle membahas perbedaan serupa antara informasi yang langsung dilaporkan dan informasi yang dibuktikan setelah perangkat dilepas lalu dihubungkan kembali.

Metode 1: Menggunakan Windows Device Manager

Device Manager adalah tempat termudah untuk memulai karena tidak memerlukan command line, scripting, atau pemrograman. Hal penting yang perlu dipahami adalah bahwa identitas USB dan identitas penyimpanan biasanya muncul pada dua entri perangkat yang berbeda.

Menemukan VID dan PID USB

Buka Device Manager dan perluas bagian bernama Universal Serial Bus controllers. Temukan USB Mass Storage Device yang terkait dengan drive tersebut, klik kanan, lalu pilih Properties.

Pilih tab Details, kemudian pilih Hardware Ids dari daftar tarik-turun Property.

Device Manager
→ Universal Serial Bus controllers
→ USB Mass Storage Device
→ Properties
→ Details
→ Hardware Ids

Hasil yang umum mungkin terlihat seperti berikut:

USB\VID_090C&PID_1000&REV_1100
USB\VID_090C&PID_1000

Empat karakter setelah VID_ merupakan USB Vendor ID. Empat karakter setelah PID_ merupakan USB Product ID.

Menemukan Vendor dan Product SCSI

Kembali ke Device Manager dan perluas Disk drives. Temukan USB flash drive, klik kanan, lalu pilih Properties. Sekali lagi, buka tab Details dan pilih Hardware Ids.

Device Manager
→ Disk drives
→ USB flash drive
→ Properties
→ Details
→ Hardware Ids

Hasilnya mungkin terlihat seperti berikut:

USBSTOR\Disk&Ven_Generic&Prod_Flash_Disk&Rev_8.07

Windows telah memformat nilai-nilai tersebut menjadi identifier perangkat keras Plug-and-Play:

Ven_Generic     = SCSI Vendor
Prod_Flash_Disk = SCSI Product
Rev_8.07        = SCSI Revision

Device Manager merupakan pilihan yang sangat baik ketika memeriksa satu perangkat secara manual. Keterbatasannya adalah mencocokkan entri USB Mass Storage yang benar dengan entri Disk Drive yang benar dapat menjadi membingungkan ketika beberapa USB flash drive terhubung pada saat yang sama.

Metode 2: Menggunakan PowerShell

PowerShell merupakan pilihan yang lebih baik ketika informasi perlu dikumpulkan berulang kali, ditampilkan dalam laporan, atau diambil dari lebih dari satu komputer. Windows 10 sudah menyertakan PowerShell dan cmdlet Plug-and-Play yang diperlukan untuk pemeriksaan perangkat dasar.

Menampilkan Perangkat USB Aktif yang Memiliki VID dan PID

Buka PowerShell dan jalankan perintah berikut:

Get-PnpDevice -PresentOnly |
Where-Object {
    $_.InstanceId -match '^USB\\VID_'
} |
Select-Object FriendlyName, Class, InstanceId

Output akan mencakup device instance ID yang serupa dengan berikut:

USB\VID_090C&PID_1000\1234567890

Contoh berikutnya mengekstrak VID dan PID ke dalam kolom terpisah:

Get-PnpDevice -PresentOnly |
Where-Object {
    $_.InstanceId -match '^USB\\VID_'
} |
ForEach-Object {
    if ($_.InstanceId -match 'VID_([0-9A-F]{4})&PID_([0-9A-F]{4})') {
        [PSCustomObject]@{
            DeviceName = $_.FriendlyName
            VID        = $matches[1]
            PID        = $matches[2]
            InstanceId = $_.InstanceId
        }
    }
}

Hal ini berguna karena mengubah string instance perangkat Windows yang panjang menjadi hasil yang lebih rapi dan berisi nama perangkat, VID, serta PID.

Menampilkan Informasi Penyimpanan USB

Perintah PowerShell berikut menanyakan class disk drive Windows dan menyaring hasilnya agar hanya menampilkan perangkat penyimpanan USB:

Get-CimInstance Win32_DiskDrive |
Where-Object {
    $_.InterfaceType -eq 'USB' -or
    $_.PNPDeviceID -like 'USBSTOR*'
} |
Select-Object DeviceID,
              Manufacturer,
              Model,
              FirmwareRevision,
              PNPDeviceID

Hasilnya mungkin terlihat seperti berikut:

DeviceID        : \\.\PHYSICALDRIVE2
Manufacturer    : Generic
Model           : Flash Disk USB Device
FirmwareRevision: 8.07
PNPDeviceID     : USBSTOR\DISK&VEN_GENERIC&PROD_FLASH_DISK&REV_8.07...

Kolom Manufacturer dan Model dapat memudahkan pembacaan, tetapi tidak diisi secara konsisten oleh setiap perangkat penyimpanan USB. Kolom PNPDeviceID sering kali memberikan representasi paling jelas dari nilai Vendor, Product, dan Revision yang diterima Windows.

PowerShell merupakan salah satu pilihan serbaguna terbaik karena tidak memerlukan aplikasi yang dikompilasi. Bagian yang lebih sulit adalah menghubungkan entri perangkat pada tingkat USB dengan disk fisik yang sesuai ketika beberapa perangkat terhubung. Script yang lebih lanjut dapat mengikuti hubungan parent dan child antarperangkat di Windows untuk membuat pencocokan tersebut.

Metode 3: Menggunakan WMI atau Perintah WMIC

Windows Management Instrumentation, yang biasanya disingkat WMI, telah digunakan selama bertahun-tahun untuk mengambil informasi perangkat keras dan sistem operasi. Banyak komputer Windows 10 juga menyertakan utilitas command line WMIC yang lebih lama.

WMIC berguna untuk pengujian cepat dan mempertahankan script lama, meskipun PowerShell dan CIM secara umum merupakan pilihan yang lebih baik untuk pengembangan baru.

Menampilkan Informasi Disk USB dengan WMIC

Buka Command Prompt dan jalankan:

wmic diskdrive get DeviceID,InterfaceType,Manufacturer,Model,FirmwareRevision,PNPDeviceID

Untuk membatasi hasil hanya pada disk drive yang menggunakan interface USB, jalankan:

wmic diskdrive where "InterfaceType='USB'" get DeviceID,Manufacturer,Model,FirmwareRevision,PNPDeviceID

Hasil yang umum mungkin terlihat seperti berikut:

DeviceID             Manufacturer  Model                  FirmwareRevision
\\.\PHYSICALDRIVE2   Generic       Flash Disk USB Device  8.07

Kolom PNPDeviceID mungkin berisi nilai yang lebih panjang:

USBSTOR\DISK&VEN_GENERIC&PROD_FLASH_DISK&REV_8.07\...

Mencari Entri Plug-and-Play untuk Nilai VID dan PID USB

Perintah WMIC berikut mencari perangkat Plug-and-Play yang memiliki entri berisi VID USB:

wmic path Win32_PnPEntity where "PNPDeviceID like 'USB%%VID_%%'" get Name,PNPDeviceID

Tanda persen ganda digunakan oleh WMIC sebagai karakter wildcard di dalam query.

WMIC mungkin tidak tersedia atau diaktifkan pada semua instalasi Windows yang lebih baru, dan Microsoft telah mengarahkan scripting administratif menuju PowerShell. Namun, untuk utilitas Windows 10 atau script perusahaan yang sudah ada, WMI masih dapat memberikan informasi yang berguna.

Metode 4: Menggunakan Windows SetupAPI

Perangkat lunak yang ditulis dalam C atau C++ dapat mengambil informasi perangkat Plug-and-Play Windows melalui SetupAPI. Ini merupakan pendekatan praktis untuk aplikasi desktop yang perlu menemukan perangkat USB secara otomatis, tanpa meminta pengguna mencarinya melalui Device Manager.

Aplikasi SetupAPI yang lengkap mencakup penanganan error, buffer dinamis, parsing properti perangkat, dan pembersihan resource. Contoh singkat berikut menunjukkan fungsi Windows utama yang terlibat.

Membuat Kumpulan Informasi Perangkat

#include <windows.h>
#include <setupapi.h>

HDEVINFO deviceInfoSet = SetupDiGetClassDevsW(
    nullptr,
    L"USB",
    nullptr,
    DIGCF_ALLCLASSES | DIGCF_PRESENT
);

Kode ini membuat kumpulan informasi perangkat yang berisi perangkat USB yang saat ini terpasang di komputer.

Melakukan Enumerasi Entri Perangkat

SP_DEVINFO_DATA deviceInfoData{};
deviceInfoData.cbSize = sizeof(SP_DEVINFO_DATA);

for (
    DWORD index = 0;
    SetupDiEnumDeviceInfo(
        deviceInfoSet,
        index,
        &deviceInfoData
    );
    ++index
) {
    // Ambil properti perangkat di sini.
}

Membaca Properti Hardware ID

WCHAR hardwareIds[4096]{};
DWORD requiredSize = 0;

if (SetupDiGetDeviceRegistryPropertyW(
        deviceInfoSet,
        &deviceInfoData,
        SPDRP_HARDWAREID,
        nullptr,
        reinterpret_cast<PBYTE>(hardwareIds),
        sizeof(hardwareIds),
        &requiredSize
    )) {

    // Cari di dalam hardwareIds:
    // VID_xxxx
    // PID_xxxx
}

Properti hardware ID yang dikembalikan dapat berisi satu atau beberapa string yang dipisahkan oleh karakter null. Entri perangkat USB dapat memuat identifier seperti berikut:

USB\VID_090C&PID_1000&REV_1100

Aplikasi dapat mencari kolom VID_ dan PID_ di dalam string tersebut, kemudian mengekstrak empat karakter heksadesimal berikutnya.

Setelah selesai, kumpulan informasi perangkat harus dilepaskan:

SetupDiDestroyDeviceInfoList(deviceInfoSet);

SetupAPI sangat kuat, tetapi ada satu hal penting yang perlu dipahami: Windows merepresentasikan perangkat USB dan disk fisik sebagai node yang terpisah di dalam pohon perangkat. Mengambil VID dan PID USB relatif mudah. Namun, mencocokkan nilai tersebut dengan disk, huruf drive, dan identitas SCSI yang benar mungkin memerlukan penelusuran hubungan parent dan child antarperangkat.

Inilah salah satu alasan aplikasi diagnostik komersial biasanya membutuhkan lebih banyak kode daripada yang terlihat dalam demonstrasi singkat. Setiap properti memang tersedia, tetapi pekerjaan sebenarnya adalah menggabungkan seluruh informasi tersebut secara benar menjadi satu catatan perangkat.

Metode 5: Menanyakan Informasi Langsung kepada Perangkat Penyimpanan

Aplikasi Windows dapat menanyakan informasi kepada disk fisik dengan membuka perangkat dan mengirimkan permintaan IOCTL_STORAGE_QUERY_PROPERTY. Metode ini berguna untuk mengambil informasi penyimpanan seperti Vendor, Product, Revision, nomor seri, dan jenis bus.

Contoh di bawah membuka PhysicalDrive2. Nomor physical drive yang sebenarnya bergantung pada komputer dan perangkat USB yang sedang diperiksa.

Membuka Physical Drive

HANDLE drive = CreateFileW(
    L"\\\\.\\PhysicalDrive2",
    GENERIC_READ,
    FILE_SHARE_READ | FILE_SHARE_WRITE,
    nullptr,
    OPEN_EXISTING,
    0,
    nullptr
);

if (drive == INVALID_HANDLE_VALUE) {
    // Tangani error.
}

Menyiapkan Query Penyimpanan

STORAGE_PROPERTY_QUERY query{};
query.PropertyId = StorageDeviceProperty;
query.QueryType  = PropertyStandardQuery;

Mengirim Query ke Windows

BYTE buffer[4096]{};
DWORD bytesReturned = 0;

BOOL result = DeviceIoControl(
    drive,
    IOCTL_STORAGE_QUERY_PROPERTY,
    &query,
    sizeof(query),
    buffer,
    sizeof(buffer),
    &bytesReturned,
    nullptr
);

Menginterpretasikan Descriptor Penyimpanan yang Dikembalikan

if (result) {
    auto descriptor =
        reinterpret_cast<STORAGE_DEVICE_DESCRIPTOR*>(buffer);

    const char* vendor =
        descriptor->VendorIdOffset
            ? reinterpret_cast<const char*>(
                buffer + descriptor->VendorIdOffset
              )
            : "";

    const char* product =
        descriptor->ProductIdOffset
            ? reinterpret_cast<const char*>(
                buffer + descriptor->ProductIdOffset
              )
            : "";

    const char* revision =
        descriptor->ProductRevisionOffset
            ? reinterpret_cast<const char*>(
                buffer + descriptor->ProductRevisionOffset
              )
            : "";

    const char* serial =
        descriptor->SerialNumberOffset
            ? reinterpret_cast<const char*>(
                buffer + descriptor->SerialNumberOffset
              )
            : "";
}

String tersebut tidak disimpan langsung di dalam bagian tetap dari struktur. Sebaliknya, struktur memberikan offset byte yang menunjuk ke lokasi string tersebut di dalam buffer yang dikembalikan.

Setelah selesai menggunakan handle physical drive, tutup handle tersebut:

CloseHandle(drive);

Query penyimpanan yang berhasil dapat memberikan informasi seperti berikut:

Vendor   = Generic
Product  = Flash Disk
Revision = 8.07
Serial   = 1234567890
Bus Type = USB

Metode ini lebih dekat dengan perangkat penyimpanan dibandingkan membaca friendly name dari Device Manager atau menanyakan nilai registry yang disimpan dalam cache. Namun, metode ini tidak secara otomatis mengembalikan VID dan PID USB. Aplikasi tetap harus menghubungkan disk fisik dengan perangkat USB parent-nya dan mengambil hardware identifier USB secara terpisah, biasanya melalui SetupAPI atau fungsi Windows Configuration Manager.

Metode Windows Mana yang Sebaiknya Digunakan?

Tidak ada satu metode yang paling baik untuk setiap situasi. Pilihan yang tepat bergantung pada apakah tujuannya adalah pemeriksaan manual, scripting, pengembangan perangkat lunak, atau analisis perangkat tingkat rendah.

Buka Perbandingan Metode Identifikasi USB di Windows
Metode VID/PID USB Vendor/Product SCSI Memerlukan Pemrograman Penggunaan Terbaik
Device Manager Ya Ya Tidak Memeriksa satu perangkat secara manual
PowerShell Ya Ya Scripting ringan Inventaris dan laporan berulang
WMI atau WMIC Ya Ya Scripting ringan Sistem lama dan script yang sudah ada
SetupAPI Ya Melalui korelasi perangkat Ya Aplikasi Windows dan utilitas USB
Query Penyimpanan Tidak secara langsung Ya Ya Diagnostik dan informasi penyimpanan langsung

Untuk seseorang yang memeriksa satu USB flash drive, Device Manager biasanya sudah cukup. Untuk administrator yang mengumpulkan informasi dari banyak komputer, PowerShell kemungkinan merupakan titik awal terbaik. Untuk pengembang perangkat lunak yang membuat utilitas Windows, SetupAPI yang digabungkan dengan query properti penyimpanan memberikan pendekatan paling lengkap.

Apakah Windows Registry Merupakan Metode Lain?

Windows menyimpan informasi enumerasi USB di Registry, dan entri USB maupun USB storage dapat ditemukan di sana.

Entri perangkat USB umumnya ditemukan di:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB

Entri penyimpanan USB umumnya ditemukan di:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USBSTOR

Lokasi tersebut berguna untuk pemecahan masalah dan analisis historis, tetapi Registry tidak boleh dianggap sebagai sumber asli informasi. Windows membuat dan memperbarui entri tersebut setelah perangkat USB selesai dienumerasi dan interface penyimpanan telah ditanyakan.

VID dan PID USB asli berasal dari descriptor USB. Nilai Vendor, Product, dan Revision penyimpanan asli berasal dari respons Inquiry perangkat penyimpanan. Registry adalah tempat Windows mencatat hasil tersebut untuk digunakan kemudian.

Izin Registry juga dapat membuat akses langsung menjadi kurang praktis bagi perangkat lunak. Ketika sebuah aplikasi hanya memerlukan informasi tentang perangkat yang sedang terhubung, API perangkat Windows yang didukung biasanya merupakan pilihan yang lebih baik.

Mengapa Nama USB dan SCSI Mungkin Tidak Sama

Wajar jika seseorang berharap setiap identifier menampilkan nama produsen yang sama. Namun, dalam praktiknya USB flash drive dibangun dari beberapa lapisan perangkat keras dan firmware, dan setiap lapisan dapat melaporkan informasi yang berbeda.

Perusahaan yang menjual USB flash drive dengan merek ritel dapat membeli controller dari produsen lain. VID USB dapat mengidentifikasi vendor controller atau perusahaan yang bertanggung jawab atas firmware, sedangkan kolom SCSI Product dapat berisi nama merek ritel. Dalam kasus lain, string SCSI tetap sepenuhnya umum.

Sebuah perangkat mungkin melaporkan:

USB VID      = 090C
USB PID      = 1000
SCSI Vendor  = Generic
SCSI Product = Flash Disk

Drive lain mungkin melaporkan:

USB VID      = 0951
USB PID      = 1666
SCSI Vendor  = Kingston
SCSI Product = DataTraveler 3.0

Tidak satu pun format tersebut secara otomatis membuktikan bahwa produk tersebut asli. Identifier ini berguna untuk identifikasi dan korelasi, tetapi nilainya dilaporkan oleh firmware. Perangkat yang telah cukup banyak dimodifikasi atau perangkat palsu dapat melaporkan nilai apa pun yang diprogram ke dalamnya.

Ini merupakan perbedaan penting bagi pengembang yang membuat perangkat lunak validasi perangkat. Nilai identifikasi harus dicatat, tetapi nilai tersebut tidak boleh menggantikan pengujian kapasitas, verifikasi tulis dan baca, pengujian performa, atau bentuk analisis perilaku lainnya.

Catatan Perangkat yang Praktis

Untuk perangkat lunak yang membuat inventaris atau menguji USB flash drive, catatan perangkat yang berguna dapat mencakup lebih dari empat kolom.

USB VID
USB PID
USB Revision
USB Serial Number
SCSI Vendor
SCSI Product
SCSI Revision
Storage Serial Number
Physical Drive Number
Drive Letter
Reported Capacity
Bus Type
Connection Speed

Tidak setiap USB flash drive akan memberikan semua nilai tersebut. Nomor seri mungkin tidak tersedia, dapat terduplikasi, atau dilaporkan secara berbeda pada tingkat USB dan tingkat penyimpanan. String produsen mungkin kosong. Nama produk mungkin bersifat umum. Perangkat lunak harus memperkirakan adanya informasi yang tidak lengkap, bukan menganggap setiap kolom akan selalu tersedia.

Pendekatan yang paling kuat adalah mengumpulkan identifier yang tersedia, mempertahankan nilai aslinya, kemudian menghubungkan nilai tersebut dengan hasil performa, kapasitas, atau verifikasi yang dihasilkan oleh aplikasi.

Satu Hal Lagi Sebelum Anda Pergi

Windows 10 menawarkan beberapa cara yang andal untuk menemukan informasi VID, PID, SCSI Vendor, dan SCSI Product milik USB flash drive. Device Manager memberikan jawaban manual dengan cepat. PowerShell dan WMI memberikan akses melalui script. SetupAPI memberi aplikasi Windows akses ke pohon perangkat Plug-and-Play, sedangkan query properti penyimpanan langsung mengambil informasi yang berkaitan dengan disk fisik.

Pelajaran terpentingnya adalah bahwa perangkat penyimpanan USB memiliki lebih dari satu identitas. VID dan PID USB berasal dari lapisan enumerasi USB. Nilai SCSI Vendor, Product, dan Revision berasal dari lapisan penyimpanan. Melihat hanya di satu tempat mungkin hanya memberikan separuh informasi.

Setelah perbedaan tersebut dipahami, nama-nama yang tampak saling bertentangan di Windows mulai masuk akal. Perangkat tidak selalu sedang mengubah identitasnya. Windows hanya menampilkan informasi yang dikumpulkan dari dua bagian berbeda dari perangkat keras yang sama.

Catatan editorial: Artikel ini didasarkan pada pekerjaan praktis enumerasi perangkat USB dan identifikasi penyimpanan yang dilakukan pada sistem Windows. Output yang tepat dapat berbeda tergantung pada controller USB, firmware, driver Windows, dan implementasi perangkat penyimpanan. Gambar dibuat untuk memudahkan pemahaman informasi dengan bantuan alat pembuatan gambar berbasis kecerdasan buatan.

Read More Articles

Keep exploring more stories, analysis, and technical insights.