Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
[Berlaku untuk KMDF dan UMDF]
Metode WdfMemoryGetBuffer mengembalikan penunjuk ke buffer yang terkait dengan objek memori tertentu.
Sintaksis
PVOID WdfMemoryGetBuffer(
[in] WDFMEMORY Memory,
[out, optional] size_t *BufferSize
);
Parameter-parameternya
[in] Memory
Handel ke objek memori kerangka kerja.
[out, optional] BufferSize
Penunjuk ke lokasi yang menerima ukuran, dalam byte, dari buffer memori. Parameter ini bersifat opsional dan dapat NULL.
Mengembalikan nilai
WdfMemoryGetBuffer mengembalikan pointer ke buffer memori.
Pemeriksaan bug terjadi jika driver menyediakan handel objek yang tidak valid.
Komentar
Untuk informasi selengkapnya tentang objek memori kerangka kerja, lihat Menggunakan Buffer Memori.
WdfMemoryGetBuffer dapat dipanggil di IRQL apa pun.
Contoh
Contoh kode berikut didasarkan pada fungsi callback EvtUsbTargetPipeReadComplete di driver sampel kmdf_fx2. Contoh mendapatkan buffer yang terkait dengan objek memori yang diterima fungsi panggilan balik. Contoh menyalin data dari buffer ke ruang konteks objek perangkat yang telah ditentukan driver.
VOID
OsrFxEvtUsbInterruptPipeReadComplete(
WDFUSBPIPE Pipe,
WDFMEMORY Buffer,
size_t NumBytesTransferred,
WDFCONTEXT Context
)
{
PUCHAR switchState = NULL;
WDFDEVICE device;
PDEVICE_CONTEXT pDeviceContext = Context;
device = WdfObjectContextGetObject(pDeviceContext);
switchState = WdfMemoryGetBuffer(Buffer, NULL);
pDeviceContext->CurrentSwitchState = *switchState;
}
Persyaratan
| Persyaratan | Nilai |
|---|---|
| Platform Target | Universal |
| versi KMDF Minimum | 1.0 |
| versi UMDF Minimum | 2.0 |
| Tajuk | wdfmemory.h (termasuk Wdf.h) |
| Perpustakaan | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
| IRQL | Tingkat apa pun |
| aturan kepatuhan DDI | DriverCreate(kmdf), MemAfterReqCompletedIntIoctlA(kmdf), MemAfterReqCompletedIoctlA(kmdf), MemAfterReqCompletedReadA(kmdf), MemAfterReqCompletedWriteA(kmdf) |