Partager via


WDF_DECLARE_CONTEXT_TYPE macro

[S’applique à KMDF et UMDF]

La macro WDF_DECLARE_CONTEXT_TYPE crée un nom et une méthode d’accesseur pour l’espace de contexte spécifique à un objet d’un pilote.

Syntaxe

void WDF_DECLARE_CONTEXT_TYPE(
    _contexttype
);

Paramètres

_contexttype
Nom du type de structure d’une structure définie par le pilote qui décrit le contenu de l’espace de contexte d’un objet.

Valeur retournée

Cette macro ne retourne pas de valeur.

Remarques

Pour plus d’informations sur l’utilisation de cette macro, consultez Framework Object Context Space.

Exemples

L’exemple de code suivant définit une structure de contexte (MY_REQUEST_CONTEXT) pour un objet de requête, inscrit la structure, puis appelle la macro WDF_DECLARE_CONTEXT_TYPE. La macro crée une méthode d’accesseur pour la structure de contexte et nomme la méthode WdfObjectGet_MY_REQUEST_CONTEXT.

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

WDF_DECLARE_CONTEXT_TYPE(MY_REQUEST_CONTEXT)

L’exemple de code suivant crée un objet de requête, puis utilise la méthode d’accesseur WdfObjectGet_MY_REQUEST_CONTEXT pour obtenir un pointeur vers l’espace de contexte de l’objet.

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 = WdfObjectGet_MY_REQUEST_CONTEXT(Request);

Configuration requise

Plateforme cible

Universal

Version KMDF minimale

1.0

Version UMDF minimale

2.0

En-tête

Wdfobject.h (inclure Wdf.h)

Voir aussi

WdfObjectGetTypedContext

WDF_DECLARE_CONTEXT_TYPE_WITH_NAME