WDF_DECLARE_CONTEXT_TYPE_WITH_NAME makro

[Berlaku untuk KMDF dan UMDF]

Makro WDF_DECLARE_CONTEXT_TYPE_WITH_NAME membuat metode pengaktor dengan nama tertentu untuk ruang konteks khusus objek driver.

Sintaks

void WDF_DECLARE_CONTEXT_TYPE_WITH_NAME(
    _contexttype,
    _castingfunction
);

Parameter

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

_castingfunction
Nama rutin bahasa C. Makro menggunakan nama ini sebagai nama untuk metode pengaktor yang dibuatnya untuk 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. Kemudian, contoh memanggil makro WDF_DECLARE_CONTEXT_TYPE_WITH_NAME untuk mendaftarkan struktur dan menentukan bahwa metode pengakses konteks akan diberi nama RequestGetMyContext.

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

WDF_DECLARE_CONTEXT_TYPE_WITH_NAME(MY_REQUEST_CONTEXT, RequestGetMyContext)

Contoh kode berikut membuat objek permintaan lalu menggunakan metode pengakses RequestGetMyContext 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 = RequestGetMyContext(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