Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
[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 vers un objet framework.
Type
Nom de symbole d’une structure définie par un pilote qui décrit l’espace de contexte d’un objet.
Valeur de retour
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 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, 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
);