Partager via


PFND3D11_1DDI_QUERYAUTHENTICATEDCHANNEL fonction de rappel (d3d10umddi.h)

Interroge un canal authentifié pour obtenir des informations sur la fonctionnalité et l’état. Implémenté par un pilote d’affichage Windows Display Driver (WDDM) 1.2 ou version ultérieure.

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 de l’appareil d’affichage (contexte graphique).

hCAuthChannel

Handle vers un objet de canal authentifié créé via un appel à la fonction CreateAuthenticatedChannel(D3D11_1).

InputDataSize

Taille, en octets, des données du 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 sous forme de structure D3D11_1DDI_AUTHENTICATED_QUERY_INPUT.

OutputDataSize

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

pOutputData

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

Valeur de retour

Retourne l’une des valeurs suivantes :

Retourner le code Description
S_OK Le canal authentifié a été interrogé avec succès.
E_FAIL Le pilote display miniport 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 sur 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 QueryType membre de la structure D3D11_1DDI_AUTHENTICATED_QUERY_INPUT. La liste suivante décrit le format de ces données en fonction du QueryType membre.

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 retourne 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 à clé unique basé sur AES (OMAC) des données. Le pilote miniport d’affichage doit calculer un OMAC sur les données de la mémoire tampon de sortie pour authentifier les données. Le pilote effectue cette opération en définissant d’abord l'omac membre sur zéro, puis en calculant un OMAC pour les données de 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.

Exigences

Exigence Valeur
client minimum pris en charge Windows 8
serveur minimum pris en charge Windows Server 2012
plateforme cible Bureau
d’en-tête d3d10umddi.h (include D3d10umddi.h)

Voir aussi

ConfigureAuthenticatedChannel(D3D11_1)

CreateAuthenticatedChannel(D3D11_1)

D3D11_1DDI_AUTHENTICATED_QUERY_INPUT

D3D11_1DDI_AUTHENTICATED_QUERY_OUTPUT