Condividi tramite


PFND3D11_1DDI_QUERYAUTHENTICATEDCHANNEL funzione di callback (d3d10umddi.h)

Esegue una query su un canale autenticato per informazioni sulle funzionalità e sullo stato. Implementato da un driver di visualizzazione WINDOWS Display Driver Model (WDDM) 1.2 o versione successiva.

Sintassi

PFND3D11_1DDI_QUERYAUTHENTICATEDCHANNEL Pfnd3d111DdiQueryauthenticatedchannel;

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

Parametri

hDevice

Handle per il dispositivo di visualizzazione (contesto grafico).

hCAuthChannel

Handle per un oggetto canale autenticato creato tramite una chiamata alla funzione CreateAuthenticatedChannel(D3D11_1).

InputDataSize

Dimensione, in byte, dei dati nella matrice pInputData .

pInputData

Puntatore a un buffer che descrive le informazioni su cui eseguire la query. I dati in questo buffer vengono formattati come struttura D3D11_1DDI_AUTHENTICATED_QUERY_INPUT .

OutputDataSize

Dimensione, in byte, dei dati nella matrice pOutputData .

pOutputData

Puntatore a un buffer contenente le informazioni sottoposte a query. Per altre informazioni, vedere la sezione Osservazioni.

Valore restituito

Restituisce uno dei valori seguenti:

Codice restituito Descrizione
S_OK È stata eseguita una query sul canale autenticato.
E_FAIL Il driver miniport di visualizzazione non supporta il comando specificato
E_INVALIDARG I parametri sono stati convalidati e sono stati determinati come non corretti.
E_OUTOFMEMORY Memoria non disponibile per completare l'operazione.

Commenti

Il parametro pInputData fa riferimento a un buffer che contiene una struttura D3D11_1DDI_AUTHENTICATED_QUERY_INPUT . Questa struttura contiene l'handle del driver per il canale autenticato, un numero di sequenza e un GUID che indica il tipo di query da eseguire. Il driver deve restituire E_INVALIDARG se il numero di sequenza non è stato inizializzato in precedenza usando la funzione ConfigureAuthenticatedChannel(D3D11_1). Il driver deve restituire anche E_INVALIDARG se il numero di sequenza non è maggiore del numero di sequenza della chiamata di query precedente.

La matrice di byte a cui fa riferimento il parametro pOutputData è in un formato specificato dal membro QueryType della struttura D3D11_1DDI_AUTHENTICATED_QUERY_INPUT . Nell'elenco seguente viene descritto il formato di questi dati in base al membro QueryType .

Il driver prepara il buffer di output a cui fa riferimento il parametro pOutputData seguendo questa procedura:

  1. Ogni struttura restituita in base al membro QueryType inizia con una struttura D3D11_1DDI_AUTHENTICATED_QUERY_OUTPUT . Il driver deve copiare i membri del D3D11_1DDI_AUTHENTICATED_QUERY_INPUT nella struttura D3D11_1DDI_AUTHENTICATED_QUERY_OUTPUT .
  2. Il driver deve impostare il membro ReturnCode sullo stesso codice restituito che verrà restituito per la chiamata a QueryAuthenticatedChannel(D3D11_1). In questo modo l'applicazione dispone di un meccanismo sicuro per l'accesso al codice restituito.
  3. In base al valore del membro QueryType , il driver deve inizializzare la struttura corrispondente che segue la struttura D3D11_1DDI_AUTHENTICATED_QUERY_OUTPUT nel buffer pOutputData .
  4. Il driver deve firmare il buffer pOutputData in modo identico al modo in cui gestisce le query di Output Protection Manager (OPM).

    La struttura D3D11_1DDI_AUTHENTICATED_QUERY_OUTPUT contiene un codice OMAC (Message Authentication Code) CBC basato su AES dei dati. Il driver miniport di visualizzazione deve calcolare un OMAC sui dati nel buffer di output per autenticare i dati. Il driver esegue questa operazione impostando prima il membro omac su zero e quindi calcolando un OMAC per i dati nel buffer. Il driver imposta quindi il membro omac sull'OMAC calcolato.

Il driver miniport di visualizzazione deve restituire E_INVALIDARG per la chiamata queryAuthenticatedChannel(D3D11_1) nelle condizioni seguenti:
  • Il numero di sequenza non è maggiore di un numero di sequenza specificato in una chiamata di configurazione precedente.
  • Il numero di sequenza non è ancora stato inizializzato da una chiamata alla funzione ConfigureAuthenticatedChannel(D3D11_1).
  • Il parametro OutputDataSize è minore delle dimensioni della struttura specificata dal D3D11_1DDI_AUTHENTICATED_CONFIGURE_INPUT. Membro QueryType .

Requisiti

Requisito Valore
Client minimo supportato Windows 8
Server minimo supportato Windows Server 2012
Piattaforma di destinazione Desktop
Intestazione d3d10umddi.h (include D3d10umddi.h)

Vedi anche

ConfigureAuthenticatedChannel(D3D11_1)

CreateAuthenticatedChannel(D3D11_1)

D3D11_1DDI_AUTHENTICATED_QUERY_INPUT

D3D11_1DDI_AUTHENTICATED_QUERY_OUTPUT