Partager via


Macro WdfObjectGetTypedContext

[S’applique à KMDF et UMDF]

La macro WdfObjectGetTypedContext retourne un pointeur vers l’espace de contexte d’un objet.

Syntaxe

PVOID WdfObjectGetTypedContext(
    Handle,
    Type
);

Paramètres

Handle
Handle d’un objet framework.

Type
Nom de symbole d’une structure définie par le pilote qui décrit l’espace de contexte d’un objet.

Valeur retournée

WdfObjectGetTypedContext retourne un pointeur vers l’espace de contexte de l’objet spécifié.

Remarques

Vous pouvez utiliser la macro WdfObjectGetTypedContext pour obtenir un pointeur vers l’espace de contexte de n’importe quel objet framework. Utilisez cette macro comme alternative à l’appel d’une méthode d’accesseur de contexte spécifique à un objet créée par la macro WDF_DECLARE_CONTEXT_TYPE ou la macro WDF_DECLARE_CONTEXT_TYPE_WITH_NAME . Notez que si vous utilisez WdfObjectGetTypedContext, vous devez toujours utiliser WDF_DECLARE_CONTEXT_TYPE ou WDF_DECLARE_CONTEXT_TYPE_WITH_NAME pour déclarer votre contexte d’objet.

Pour plus d’informations sur ces macros, 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, puis inscrit la structure.

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 et obtient un pointeur vers son espace de contexte.

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 = WdfObjectGetTypedContext(
                                      Request,
                                      MY_REQUEST_CONTEXT
                                      );

Configuration requise

Plateforme cible

Universal

Version KMDF minimale

1.0

Version UMDF minimale

2.0

En-tête

Wdfobject.h (inclure Wdf.h)

Bibliothèque

Wdf01000.sys (KMDF) ; WUDFx02000.dll (UMDF)

IRQL

N’importe quel niveau

Voir aussi

WDF_DECLARE_CONTEXT_TYPE

WDF_DECLARE_CONTEXT_TYPE_WITH_NAME