Bagikan melalui


makro WDF_DECLARE_CONTEXT_TYPE

[Berlaku untuk KMDF dan UMDF]

Makro WDF_DECLARE_CONTEXT_TYPE membuat nama dan metode pengaktor untuk ruang konteks khusus objek driver.

Sintaks

void WDF_DECLARE_CONTEXT_TYPE(
    _contexttype
);

Parameter

_contexttype
Nama jenis struktur struktur yang ditentukan driver yang menjelaskan konten ruang konteks objek.

Menampilkan nilai

Makro ini tidak mengembalikan nilai.

Keterangan

Untuk informasi selengkapnya tentang menggunakan makro ini, lihat Ruang Konteks Objek Kerangka Kerja.

Contoh

Contoh kode berikut menentukan struktur konteks (MY_REQUEST_CONTEXT) untuk objek permintaan, mendaftarkan struktur, lalu memanggil makro WDF_DECLARE_CONTEXT_TYPE. Makro membuat metode pengaktor untuk struktur konteks dan menamai metode WdfObjectGet_MY_REQUEST_CONTEXT.

typedef struct _MY_REQUEST_CONTEXT {
  LIST_ENTRY ListEntry;
  WDFMEMORY Memory;
} MY_REQUEST_CONTEXT, *PMY_REQUEST_CONTEXT;

WDF_DECLARE_CONTEXT_TYPE(MY_REQUEST_CONTEXT)

Contoh kode berikut membuat objek permintaan, lalu menggunakan metode pengaktor WdfObjectGet_MY_REQUEST_CONTEXT untuk mendapatkan penunjuk ke ruang konteks objek.

WDFREQUEST Request;
WDF_OBJECT_ATTRIBUTES MyRequestObjectAttributes;
PMY_REQUEST_CONTEXT pMyContext;

WDF_OBJECT_ATTRIBUTES_INIT(&MyRequestObjectAttributes);
WDF_OBJECT_ATTRIBUTES_SET_CONTEXT_TYPE(
                                       &MyRequestObjectAttributes,
                                       MY_REQUEST_CONTEXT
                                       );
status = WdfRequestCreate(
                          &MyRequestObjectAttributes
                          NULL,
                          &Request
                          );
if (!NT_SUCCESS(status)) {
    return status;
}
pMyContext = WdfObjectGet_MY_REQUEST_CONTEXT(Request);

Persyaratan

Platform target

Universal

Versi KMDF minimum

1,0

Versi UMDF minimum

2.0

Header

Wdfobject.h (termasuk Wdf.h)

Lihat juga

WdfObjectGetTypedContext

WDF_DECLARE_CONTEXT_TYPE_WITH_NAME