Bagikan melalui


WDF_MEMORY_DESCRIPTOR_INIT_MDL (wdfmemory.h)

[Berlaku untuk KMDF dan UMDF]

Fungsi WDF_MEMORY_DESCRIPTOR_INIT_MDL menginisialisasi struktur WDF_MEMORY_DESCRIPTOR sehingga menjelaskan daftar deskriptor memori (MDL) yang ditentukan.

Sintaks

void WDF_MEMORY_DESCRIPTOR_INIT_MDL(
  [out] PWDF_MEMORY_DESCRIPTOR Descriptor,
  [in]  PMDL                   Mdl,
  [in]  ULONG                  BufferLength
);

Parameter

[out] Descriptor

Penunjuk ke struktur WDF_MEMORY_DESCRIPTOR .

[in] Mdl

Penunjuk ke MDL yang menjelaskan buffer.

[in] BufferLength

Ukuran, dalam byte, dari buffer yang ditentukan Mdl .

Nilai kembali

Tidak ada

Keterangan

Fungsi WDF_MEMORY_DESCRIPTOR_INIT_MDL nol struktur WDF_MEMORY_DESCRIPTOR yang ditentukan dan mengatur anggota Jenis struktur ke WdfMemoryDescriptorTypeMdl. Kemudian mengatur anggota u.MdlType.Mdl dan u.MdlType.BufferLength struktur ke nilai yang ditentukan oleh parameter Mdl dan BufferLength .

Contoh

Contoh kode berikut mengalokasikan buffer, membuat MDL untuk buffer, dan menggunakan MDL untuk menginisialisasi struktur WDF_MEMORY_DESCRIPTOR .

PVOID  pBuffer = NULL;
PMDL  pMdl = NULL;

pBuffer = ExAllocatePoolWithTag(
                                NonPagedPool, 
                                BUFFER_LENGTH, 
                                IOTARGET_DRIVER_TAG
                                );
if (pBuffer == NULL){
    Status = STATUS_UNSUCCESSFUL;
    goto Cleanup;
}
pMdl = IoAllocateMdl(
                     pBuffer,
                     BUFFER_LENGTH,
                     FALSE,
                     TRUE,
                     NULL
                     );
if (pMdl == NULL){
    Status = STATUS_UNSUCCESSFUL;
    goto Cleanup;
}
MmBuildMdlForNonPagedPool(pMdl);
WDF_MEMORY_DESCRIPTOR_INIT_MDL(
                               pInputBuffer,
                               pMdl,
                               BUFFER_LENGTH
                               );

Persyaratan

Persyaratan Nilai
Target Platform Universal
Versi KMDF minimum 1,0
Versi UMDF minimum 2.0
Header wdfmemory.h (termasuk Wdf.h)
Aturan kepatuhan DDI MdlAfterReqCompletedIntIoctlA(kmdf), MdlAfterReqCompletedIoctlA(kmdf), MdlAfterReqCompletedReadA(kmdf), MdlAfterReqCompletedWriteA(kmdf)

Lihat juga

ExAllocatePoolWithTag

IoAllocateMdl

MmBuildMdlForNonPagedPool

WDF_MEMORY_DESCRIPTOR

WDF_MEMORY_DESCRIPTOR_INIT_BUFFER

WDF_MEMORY_DESCRIPTOR_INIT_HANDLE