Dela via


WDF_DECLARE_CONTEXT_TYPE_WITH_NAME makro

[Gäller för KMDF och UMDF]

Makrot WDF_DECLARE_CONTEXT_TYPE_WITH_NAME skapar en accessor-metod med ett angivet namn för en drivrutins objektspecifika kontextutrymme.

Syntax

void WDF_DECLARE_CONTEXT_TYPE_WITH_NAME(
    _contexttype,
    _castingfunction
);

Parameterar

_contexttype
Namnet på strukturtypen för en drivrutinsdefinierad struktur som beskriver innehållet i ett objekts kontextutrymme.

_castingfunction
Ett C-språks rutinnamn. Makrot använder det här namnet som namn på den accessor-metod som skapas för objektets kontextutrymme.

Returvärde

Det här makrot returnerar inte något värde.

Anmärkningar

Mer information om hur du använder det här makrot finns i Framework Object Context Space.

Exempel

I följande kodexempel definieras en kontextstruktur (MY_REQUEST_CONTEXT) för ett begärandeobjekt. Sedan anropar exemplet det WDF_DECLARE_CONTEXT_TYPE_WITH_NAME makrot för att registrera strukturen och anger att kontextåtkomstmetoden ska namnges 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)

Följande kodexempel skapar ett begärandeobjekt och använder sedan metoden RequestGetMyContext accessor för att hämta en pekare till objektets kontextutrymme.

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

Krav

Målplattform

Universell

Lägsta KMDF-version

1.0

Lägsta UMDF-version

2.0

Header

Wdfobject.h (inkludera Wdf.h)

Se även

WdfObjectGetTypedContext

WDF_DECLARE_CONTEXT_TYPE