Fungsi WdfFdoInitAllocAndQueryProperty (wdffdo.h)
[Berlaku untuk KMDF dan UMDF]
Metode WdfFdoInitAllocAndQueryProperty mengalokasikan buffer dan mengambil properti perangkat tertentu.
Sintaks
NTSTATUS WdfFdoInitAllocAndQueryProperty(
[in] PWDFDEVICE_INIT DeviceInit,
[in] DEVICE_REGISTRY_PROPERTY DeviceProperty,
[in] POOL_TYPE PoolType,
[in, optional] PWDF_OBJECT_ATTRIBUTES PropertyMemoryAttributes,
[out] WDFMEMORY *PropertyMemory
);
Parameter
[in] DeviceInit
Penunjuk ke struktur WDFDEVICE_INIT yang diperoleh driver dari fungsi panggilan balik EvtDriverDeviceAdd .
[in] DeviceProperty
Nilai enumerator jenis DEVICE_REGISTRY_PROPERTY yang mengidentifikasi properti perangkat yang akan diambil.
[in] PoolType
Nilai enumerator jenis POOL_TYPE yang menentukan jenis memori yang akan dialokasikan.
[in, optional] PropertyMemoryAttributes
Penunjuk ke struktur WDF_OBJECT_ATTRIBUTES yang dialokasikan pemanggil yang menjelaskan atribut objek untuk objek memori yang akan dialokasikan oleh WdfFdoInitAllocAndQueryProperty . 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
Jika operasi berhasil, metode akan mengembalikan STATUS_SUCCESS. Nilai pengembalian tambahan meliputi:
Menampilkan kode | Deskripsi |
---|---|
|
Nilai DeviceProperty yang ditentukan tidak valid. |
|
Struktur WDFDEVICE_INIT tidak diperoleh dari fungsi panggilan balik EvtDriverDeviceAdd driver. |
Metode ini mungkin juga mengembalikan nilai NTSTATUS lainnya.
Keterangan
Driver harus memanggil WdfFdoInitAllocAndQueryProperty sebelum memanggil WdfDeviceCreate. Untuk informasi selengkapnya tentang memanggil WdfDeviceCreate, lihat Membuat Objek Perangkat Kerangka Kerja.
Setelah memanggil WdfDeviceCreate, driver dapat memperoleh informasi properti perangkat dengan memanggil WdfDeviceAllocAndQueryProperty.
Untuk informasi selengkapnya tentang metode WdfFdoInitAllocAndQueryProperty , lihat Membuat Objek Perangkat di Driver Fungsi.
Atau, Anda dapat menggunakan WdfFdoInitAllocAndQueryPropertyEx untuk mengakses properti perangkat yang diekspos melalui Model Properti Terpadu.
Contoh
Contoh kode berikut memanggil WdfFdoInitAllocAndQueryProperty untuk mendapatkan handel ke objek memori kerangka kerja yang berisi nama kelas penyiapan perangkat. Kemudian, contoh memanggil WdfMemoryGetBuffer untuk mendapatkan penunjuk ke buffer yang berisi string Unicode nama kelas penyiapan.
NTSTATUS status = STATUS_SUCCESS;
PVOID pMemoryBuffer = NULL;
WDFMEMORY memory = NULL;
status = WdfFdoInitAllocAndQueryProperty(
DeviceInit,
DevicePropertyClassName,
NonPagedPool,
WDF_NO_OBJECT_ATTRIBUTES,
&memory
);
if(NT_SUCCESS(status)){
pMemoryBuffer = WdfMemoryGetBuffer(
memory,
NULL
);
}
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Universal |
Versi KMDF minimum | 1,0 |
Versi UMDF minimum | 2.0 |
Header | wdffdo.h (termasuk Wdf.h) |
Pustaka | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL | PASSIVE_LEVEL |
Aturan kepatuhan DDI | DeviceInitAPI(kmdf), DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |
Lihat juga
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