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 d’accesseur avec un nom spécifié pour l’espace de contexte spécifique à l’objet d’un pilote.

Syntaxe

void WDF_DECLARE_CONTEXT_TYPE_WITH_NAME(
    _contexttype,
    _castingfunction
);

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.

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

Valeur de retour

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

Spécifications

Plateforme cible

universel

Version minimale de KMDF

1.0

Version minimale de UMDF

2.0

En-tête de page

Wdfobject.h (include Wdf.h)

Voir aussi

WdfObjectGetTypedContext

WDF_DECLARE_CONTEXT_TYPE