Aracılığıyla paylaş


WdfObjectGetTypedContext makro

[KMDF ve UMDF için geçerlidir]

WdfObjectGetTypedContext makro, nesnenin bağlam alanına bir işaretçi döndürür.

Sözdizimi

PVOID WdfObjectGetTypedContext(
    Handle,
    Type
);

Parametreler

Kulp
Çerçeve nesnesinin tanıtıcısı.

Tür
Bir nesnenin bağlam alanını tanımlayan sürücü tanımlı bir yapının sembol adı.

Dönüş değeri

WdfObjectGetTypedContext belirtilen nesnenin bağlam alanına bir işaretçi döndürür.

Açıklamalar

Herhangi bir çerçeve nesnesinin bağlam alanına işaretçi almak için WdfObjectGetTypedContext makroyu kullanabilirsiniz. Bu makroyu, WDF_DECLARE_CONTEXT_TYPE makro veya WDF_DECLARE_CONTEXT_TYPE_WITH_NAME makro tarafından oluşturulan nesneye özgü bağlam erişimcisi yöntemini çağırmaya alternatif olarak kullanın. WdfObjectGetTypedContextkullanıyorsanız nesne bağlamınızı bildirmek için WDF_DECLARE_CONTEXT_TYPE veya WDF_DECLARE_CONTEXT_TYPE_WITH_NAME kullanmanız gerektiğini unutmayın.

Bu makrolar hakkında daha fazla bilgi için bkz. Framework Nesne Bağlam Alanı.

Örnekler

Aşağıdaki kod örneği, bir istek nesnesi için bağlam yapısını (MY_REQUEST_CONTEXT) tanımlar ve ardından yapıyı kaydeder.

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

WDF_DECLARE_CONTEXT_TYPE(MY_REQUEST_CONTEXT)

Aşağıdaki kod örneği bir istek nesnesi oluşturur ve bağlam alanına bir işaretçi alır.

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
                                      );

Gereksinimler

Hedef platform

Evrensel

En düşük KMDF sürümü

1.0

En düşük UMDF sürümü

2.0

Başlık

Wdfobject.h (Wdf.h dahil)

Kütüphane

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

IRQL

Herhangi bir düzey

Ayrıca bkz.

WDF_DECLARE_CONTEXT_TYPE

WDF_DECLARE_CONTEXT_TYPE_WITH_NAME