Bagikan melalui


makro WDF_DECLARE_CONTEXT_TYPE

[Berlaku untuk KMDF dan UMDF]

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

Sintaksis

void WDF_DECLARE_CONTEXT_TYPE(
    _contexttype
);

Parameter-parameternya

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

Mengembalikan nilai

Makro ini tidak mengembalikan nilai.

Komentar

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

Contoh

Contoh kode berikut mendefinisikan struktur konteks (MY_REQUEST_CONTEXT) untuk objek permintaan, mendaftarkan struktur, lalu memanggil makro WDF_DECLARE_CONTEXT_TYPE. Makro membuat metode aksesor untuk struktur konteks dan memberi nama 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 aksesor 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 sasaran

Universal

Versi KMDF minimum

1.0

Versi UMDF minimum

2.0

Penanda kepala

Wdfobject.h (termasuk Wdf.h)

Lihat juga

WdfObjectGetTypedContext

WDF_DECLARE_CONTEXT_TYPE_WITH_NAME