Partager via


PFND3D11_1DDI_QUERYAUTHENTICATEDCHANNEL fonction de rappel (d3d10umddi.h)

Interroge un canal authentifié pour obtenir des informations sur les fonctionnalités et l’état. Implémenté par un pilote d’affichage windows (WDDM) 1.2 ou version ultérieure en mode utilisateur.

Syntaxe

PFND3D11_1DDI_QUERYAUTHENTICATEDCHANNEL Pfnd3d111DdiQueryauthenticatedchannel;

HRESULT Pfnd3d111DdiQueryauthenticatedchannel(
  D3D10DDI_HDEVICE hDevice,
  D3D11_1DDI_HAUTHCHANNEL hCAuthChannel,
  UINT InputDataSize,
  const VOID *pInputData,
  UINT OutputDataSize,
  VOID *pOutputData
)
{...}

Paramètres

hDevice

Handle pour le périphérique d’affichage (contexte graphique).

hCAuthChannel

Handle pour un objet de canal authentifié qui a été créé via un appel à la fonction CreateAuthenticatedChannel(D3D11_1).

InputDataSize

Taille, en octets, des données dans le tableau pInputData .

pInputData

Pointeur vers une mémoire tampon qui décrit les informations à interroger. Les données de cette mémoire tampon sont mises en forme en tant que structure D3D11_1DDI_AUTHENTICATED_QUERY_INPUT .

OutputDataSize

Taille, en octets, des données du tableau pOutputData .

pOutputData

Pointeur vers une mémoire tampon qui contient les informations interrogées. Pour plus d'informations, consultez la section Notes.

Valeur retournée

Renvoie l'une des valeurs suivantes :

Code de retour Description
S_OK Le canal authentifié a été interrogé avec succès.
E_FAIL Le pilote de miniport d’affichage ne prend pas en charge la commande spécifiée
E_INVALIDARG Les paramètres ont été validés et déterminés comme incorrects.
E_OUTOFMEMORY La mémoire n’était pas disponible pour terminer l’opération.

Remarques

Le paramètre pInputData fait référence à une mémoire tampon qui contient une structure D3D11_1DDI_AUTHENTICATED_QUERY_INPUT . Cette structure contient le handle du pilote pour le canal authentifié, un numéro de séquence et un GUID qui indique le type de requête à effectuer. Le pilote doit retourner E_INVALIDARG si le numéro de séquence n’a pas été initialisé précédemment à l’aide de la fonction ConfigureAuthenticatedChannel(D3D11_1). Le pilote doit également retourner E_INVALIDARG si le numéro de séquence n’est pas supérieur au numéro de séquence de l’appel de requête précédent.

Le tableau d’octets référencé par le paramètre pOutputData est dans un format spécifié par le membre QueryType de la structure D3D11_1DDI_AUTHENTICATED_QUERY_INPUT . La liste suivante décrit le format de ces données en fonction du membre QueryType .

Le pilote prépare la mémoire tampon de sortie référencée par le paramètre pOutputData en procédant comme suit :

  1. Chaque structure retournée en fonction du membre QueryType commence par une structure D3D11_1DDI_AUTHENTICATED_QUERY_OUTPUT . Le pilote doit copier les membres du D3D11_1DDI_AUTHENTICATED_QUERY_INPUT dans la structure D3D11_1DDI_AUTHENTICATED_QUERY_OUTPUT .
  2. Le pilote doit définir le membre ReturnCode sur le même code de retour qu’il retournera pour l’appel QueryAuthenticatedChannel(D3D11_1). Cela fournit à l’application un mécanisme sécurisé d’accès au code de retour.
  3. En fonction de la valeur du membre QueryType , le pilote doit initialiser la structure correspondante qui suit la structure D3D11_1DDI_AUTHENTICATED_QUERY_OUTPUT dans la mémoire tampon pOutputData .
  4. Le pilote doit signer la mémoire tampon pOutputData d’une manière identique à la façon dont il gère les requêtes Output Protection Manager (OPM).

    La structure D3D11_1DDI_AUTHENTICATED_QUERY_OUTPUT contient un code D’authentification de message CBC (OMAC) basé sur AES basé sur une clé des données. Le pilote de miniport d’affichage doit calculer un OMAC sur les données de la mémoire tampon de sortie pour authentifier les données. Pour ce faire, le pilote définit d’abord le membre omac sur zéro, puis calcule un OMAC pour les données dans la mémoire tampon. Le pilote définit ensuite le membre omac sur l’OMAC qu’il a calculé.

Le pilote miniport d’affichage doit retourner E_INVALIDARG pour l’appel QueryAuthenticatedChannel(D3D11_1) dans les conditions suivantes :
  • Le numéro de séquence n’est pas supérieur à un numéro de séquence spécifié dans un appel de configuration précédent.
  • Le numéro de séquence n’a pas encore été initialisé par un appel à la fonction ConfigureAuthenticatedChannel(D3D11_1).
  • Le paramètre OutputDataSize est inférieur à la taille de la structure spécifiée par le D3D11_1DDI_AUTHENTICATED_CONFIGURE_INPUT. QueryType, membre.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 8
Serveur minimal pris en charge Windows Server 2012
Plateforme cible Desktop (Expérience utilisateur)
En-tête d3d10umddi.h (incluez D3d10umddi.h)

Voir aussi

ConfigureAuthenticatedChannel(D3D11_1)

CreateAuthenticatedChannel(D3D11_1)

D3D11_1DDI_AUTHENTICATED_QUERY_INPUT

D3D11_1DDI_AUTHENTICATED_QUERY_OUTPUT