Fungsi WdfIoTargetAllocAndQueryTargetProperty (wdfiotarget.h)
[Berlaku untuk KMDF saja]
Metode WdfIoTargetAllocAndQueryTargetProperty mengalokasikan buffer dan mengambil properti perangkat tertentu untuk target I/O tertentu.
Sintaks
NTSTATUS WdfIoTargetAllocAndQueryTargetProperty(
[in] WDFIOTARGET IoTarget,
[in] DEVICE_REGISTRY_PROPERTY DeviceProperty,
[in] POOL_TYPE PoolType,
[in, optional] PWDF_OBJECT_ATTRIBUTES PropertyMemoryAttributes,
[out] WDFMEMORY *PropertyMemory
);
Parameter
[in] IoTarget
Handel ke objek target I/O lokal atau jarak jauh yang diperoleh dari panggilan sebelumnya ke WdfDeviceGetIoTarget atau WdfIoTargetCreate atau dari metode yang disediakan target I/O khusus.
[in] DeviceProperty
Nilai jenis DEVICE_REGISTRY_PROPERTY yang mengidentifikasi properti perangkat yang akan diambil.
[in] PoolType
Nilai jenis POOL_TYPE yang menentukan jenis memori yang akan dialokasikan.
[in, optional] PropertyMemoryAttributes
Penunjuk ke struktur WDF_OBJECT_ATTRIBUTES yang dialokasikan penelepon yang menjelaskan atribut objek untuk objek memori yang akan dialokasikan fungsi. Parameter ini bersifat opsional dan dapat WDF_NO_OBJECT_ATTRIBUTES.
[out] PropertyMemory
Penunjuk ke lokasi yang diketik WDFMEMORY yang menerima handel ke objek memori kerangka kerja.
Nilai kembali
WdfIoTargetAllocAndQueryTargetProperty mengembalikan STATUS_SUCCESS jika operasi berhasil. Jika tidak, metode ini mungkin mengembalikan salah satu nilai berikut:
Menampilkan kode | Deskripsi |
---|---|
|
Nilai yang ditentukan parameter DeviceProperty tidak valid. |
|
Driver perangkat belum melaporkan properti perangkat. |
Metode ini juga mungkin mengembalikan nilai NTSTATUS lainnya.
Pemeriksaan bug terjadi jika driver menyediakan handel objek yang tidak valid.
Keterangan
Metode WdfIoTargetAllocAndQueryTargetProperty menentukan jumlah memori yang diperlukan untuk menahan properti perangkat yang diminta. Metode ini mengalokasikan memori yang cukup untuk menyimpan data dan mengembalikan handel ke objek memori kerangka kerja yang menjelaskan memori yang dialokasikan. Untuk mengakses data, driver Anda dapat memanggil WdfMemoryGetBuffer.
Untuk informasi selengkapnya tentang WdfIoTargetAllocAndQueryTargetProperty, lihat Mendapatkan Informasi Tentang Target I/O Umum.
Untuk informasi selengkapnya tentang target I/O, lihat Menggunakan Target I/O.
Contoh
Contoh kode berikut memanggil WdfIoTargetAllocAndQueryTargetProperty untuk mendapatkan properti DevicePropertyFriendlyName . Setelah WdfIoTargetAllocAndQueryTargetProperty kembali, driver dapat memanggil WdfMemoryGetBuffer untuk mendapatkan penunjuk ke buffer yang berisi string nama.
WDFMEMORY targetName;
NTSTATUS status;
status = WdfIoTargetAllocAndQueryTargetProperty(
Target,
DevicePropertyFriendlyName,
NonPagedPool,
WDF_NO_OBJECT_ATTRIBUTES,
&targetName
);
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Universal |
Versi KMDF minimum | 1,0 |
Header | wdfiotarget.h (termasuk Wdf.h) |
Pustaka | Wdf01000.sys (lihat Penerapan Versi Pustaka Kerangka Kerja.) |
IRQL | PASSIVE_LEVEL |
Aturan kepatuhan DDI | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |
Lihat juga
WdfDeviceAllocAndQueryProperty
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk