Bagikan melalui


Makro WdfObjectGetTypedContext

[Berlaku untuk KMDF dan UMDF]

Makro WdfObjectGetTypedContext mengembalikan penunjuk ke ruang konteks objek.

Sintaksis

PVOID WdfObjectGetTypedContext(
    Handle,
    Type
);

Parameter-parameternya

Handel
Handel ke objek kerangka kerja.

Tipe
Nama simbol struktur yang ditentukan driver yang menjelaskan ruang konteks objek.

Mengembalikan nilai

WdfObjectGetTypedContext mengembalikan penunjuk ke ruang konteks objek yang ditentukan.

Komentar

Anda dapat menggunakan makro WdfObjectGetTypedContext untuk mendapatkan penunjuk ke ruang konteks objek kerangka kerja apa pun. Gunakan makro ini sebagai alternatif untuk memanggil metode aksesor konteks khusus objek yang dibuat oleh makro WDF_DECLARE_CONTEXT_TYPE atau makro WDF_DECLARE_CONTEXT_TYPE_WITH_NAME. Perhatikan bahwa jika Anda menggunakan WdfObjectGetTypedContext, Anda masih harus menggunakan WDF_DECLARE_CONTEXT_TYPE atau WDF_DECLARE_CONTEXT_TYPE_WITH_NAME untuk mendeklarasikan konteks objek Anda.

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

Contoh

Contoh kode berikut mendefinisikan struktur konteks (MY_REQUEST_CONTEXT) untuk objek permintaan lalu mendaftarkan struktur.

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 dan mendapatkan penunjuk ke ruang konteksnya.

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 = WdfObjectGetTypedContext(
                                      Request,
                                      MY_REQUEST_CONTEXT
                                      );

Persyaratan

Platform sasaran

Universal

Versi KMDF minimum

1.0

Versi UMDF minimum

2.0

Penanda kepala

Wdfobject.h (termasuk Wdf.h)

Perpustakaan

Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)

IRQL

Tingkat apa pun

Lihat juga

WDF_DECLARE_CONTEXT_TYPE

WDF_DECLARE_CONTEXT_TYPE_WITH_NAME