共用方式為


WDF_DECLARE_CONTEXT_TYPE_WITH_NAME宏

[適用於 KMDF 和 UMDF]

WDF_DECLARE_CONTEXT_TYPE_WITH_NAME宏會建立具有驅動程序物件特定內容空間指定名稱的存取子方法。

語法

void WDF_DECLARE_CONTEXT_TYPE_WITH_NAME(
    _contexttype,
    _castingfunction
);

參數

_contexttype
描述物件內容空間內容的驅動程式定義結構結構類型名稱。

_castingfunction
C 語言例程名稱。 宏會使用此名稱做為其為對象內容空間所建立之存取子方法的名稱。

傳回值

這個宏不會傳回值。

備註

如需使用此宏的詳細資訊,請參閱 Framework 對象內容空間

範例

下列程式代碼範例會定義要求對象的內容結構 (MY_REQUEST_CONTEXT) 。 然後,此範例會叫用 WDF_DECLARE_CONTEXT_TYPE_WITH_NAME 宏來註冊 結構,並指定內容存取子方法將命名為 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)

下列程式代碼範例會建立要求對象,然後使用 RequestGetMyContext 存取子方法來取得物件的內容空間指標。

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

規格需求

目標平台

Universal

最低 KMDF 版本

1.0

最低UMDF版本

2.0

標頭

Wdfobject.h (包含 Wdf.h)

另請參閱

WdfObjectGetTypedContext

WDF_DECLARE_CONTEXT_TYPE