Bagikan melalui


Menginisialisasi Target I/O Umum di UMDF

Peringatan

UMDF 2 adalah versi terbaru UMDF dan supersedes UMDF 1. Semua driver UMDF baru harus ditulis menggunakan UMDF 2. Tidak ada fitur baru yang ditambahkan ke UMDF 1 dan ada dukungan terbatas untuk UMDF 1 pada versi Windows 10 yang lebih baru. Driver Universal Windows harus menggunakan UMDF 2.

Sampel UMDF 1 yang diarsipkan dapat ditemukan di Windows 11, versi 22H2 - Pembaruan Sampel Driver Mei 2022.

Untuk informasi selengkapnya, lihat Mulai menggunakan UMDF.

Langkah-langkah yang digunakan driver Anda untuk menginisialisasi target I/O umum bergantung pada apakah target I/O lokal atau jarak jauh.

Menginisialisasi target I/O lokal

Target I/O lokal mencakup target I/O default perangkat dan target I/O berbasis handel file.

Kerangka kerja menginisialisasi target I/O default driver untuk perangkat saat driver memanggil metode IWDFDriver::CreateDevice . Untuk mengambil antarmuka IWDFIoTarget yang memungkinkan driver mengakses target I/O default perangkat, driver memanggil metode IWDFDevice::GetDefaultIoTarget .

Sebagian besar driver mengirim permintaan hanya ke target I/O default mereka.

Jika driver UMDF harus mengirim permintaan I/O ke antarmuka berbasis handel, seperti antarmuka soket jaringan, driver harus membuat objek target I/O berbasis handel file. Untuk membuat objek target I/O berbasis handel file, driver harus melakukan hal berikut:

  1. Panggil metode QueryInterface dari antarmuka IWDFDevice perangkat untuk mengambil pointer ke antarmuka IWDFFileHandleTargetFactory .

  2. Dapatkan handel Win32 ke file, pipa bernama, atau soket dengan memanggil fungsi Win32 CreateFile, CreateNamedPipe, atau soket .

  3. Panggil metode IWDFFileHandleTargetFactory::CreateFileHandleTarget untuk membuat objek target I/O berbasis handel file untuk file, pipa, atau soket.

Untuk contoh kode yang menunjukkan cara mengambil antarmuka IWDFFileHandleTargetFactory , mendapatkan handel Win32, dan membuat objek target I/O berbasis handel file, lihat contoh kode di IWDFFileHandleTargetFactory::CreateFileHandleTarget.

Setelah driver membuat target I/O berbasis handel file, driver dapat mengirim permintaan I/O ke target I/O.

Menginisialisasi Target I/O Jarak Jauh

Sebelum driver Anda dapat menggunakan target I/O jarak jauh, driver harus membuat objek target jarak jauh dan membuka target, sebagai berikut:

  1. Panggil IWDFDevice2::CreateRemoteTarget untuk membuat objek target jarak jauh.

  2. Panggil IWDFRemoteTarget::OpenFileByName (untuk file) atau IWDFRemoteTarget::OpenRemoteInterface (untuk antarmuka perangkat) untuk membuka target operasi I/O.