Partager via


macro WDF_DECLARE_CONTEXT_TYPE_WITH_NAME

[S’applique à KMDF et UMDF]

La macro WDF_DECLARE_CONTEXT_TYPE_WITH_NAME crée une méthode accesseur avec un nom spécifié pour l’espace de contexte propre à un objet d’un pilote.

Syntaxe

void WDF_DECLARE_CONTEXT_TYPE_WITH_NAME(
    _contexttype,
    _castingfunction
);

Paramètres

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

_castingfunction
Nom de routine en langage C. La macro utilise ce nom comme nom de la méthode accesseur qu’elle crée pour l’espace de contexte de l’objet.

Valeur retournée

Cette macro ne retourne pas de valeur.

Remarques

Pour plus d’informations sur l’utilisation de cette macro, consultez Espace de contexte d’objet Framework.

Exemples

L’exemple de code suivant définit une structure de contexte (MY_REQUEST_CONTEXT) pour un objet de requête. Ensuite, l’exemple appelle la macro WDF_DECLARE_CONTEXT_TYPE_WITH_NAME pour inscrire la structure et spécifier que la méthode d’accesseur de contexte sera nommée 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)

L’exemple de code suivant crée un objet de requête, puis utilise la méthode d’accesseur RequestGetMyContext 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 = RequestGetMyContext(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