PFND3D11_1DDI_QUERYAUTHENTICATEDCHANNEL Rückruffunktion (d3d10umddi.h)

Fragt einen authentifizierten Kanal nach Funktions- und Zustandsinformationen ab. Wird von einem Windows Display Driver Model (WDDM) 1.2 oder höher für den Benutzermodus-Anzeigetreiber implementiert.

Syntax

PFND3D11_1DDI_QUERYAUTHENTICATEDCHANNEL Pfnd3d111DdiQueryauthenticatedchannel;

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

Parameter

hDevice

Ein Handle für das Anzeigegerät (Grafikkontext).

hCAuthChannel

Ein Handle für ein authentifiziertes Kanalobjekt, das durch einen Aufruf der Funktion CreateAuthenticatedChannel(D3D11_1) erstellt wurde.

InputDataSize

Die Größe der Daten im pInputData-Array in Bytes.

pInputData

Ein Zeiger auf einen Puffer, der die abzufragenden Informationen beschreibt. Die Daten in diesem Puffer sind als D3D11_1DDI_AUTHENTICATED_QUERY_INPUT-Struktur formatiert.

OutputDataSize

Die Größe der Daten im pOutputData-Array in Bytes.

pOutputData

Ein Zeiger auf einen Puffer, der die abgefragten Informationen enthält. Weitere Informationen finden Sie im Abschnitt mit Hinweisen.

Rückgabewert

Gibt einen der folgenden Werte zurück:

Rückgabecode Beschreibung
S_OK Der authentifizierte Kanal wurde erfolgreich abgefragt.
E_FAIL Der Anzeigeminiporttreiber unterstützt den angegebenen Befehl nicht.
E_INVALIDARG Parameter wurden überprüft und als falsch ermittelt.
E_OUTOFMEMORY Arbeitsspeicher war nicht verfügbar, um den Vorgang abzuschließen.

Hinweise

Der pInputData-Parameter verweist auf einen Puffer, der eine D3D11_1DDI_AUTHENTICATED_QUERY_INPUT-Struktur enthält. Diese Struktur enthält das Handle des Treibers für den authentifizierten Kanal, eine Sequenznummer und eine GUID, die den Typ der auszuführenden Abfrage angibt. Der Treiber muss E_INVALIDARG zurückgeben, wenn die Sequenznummer zuvor nicht mithilfe der Funktion ConfigureAuthenticatedChannel(D3D11_1) initialisiert wurde. Der Treiber muss auch E_INVALIDARG zurückgeben, wenn die Sequenznummer nicht größer als die Sequenznummer des vorherigen Abfrageaufrufs ist.

Das Bytearray, auf das vom pOutputData-Parameter verwiesen wird, hat ein Format, das vom QueryType-Member der D3D11_1DDI_AUTHENTICATED_QUERY_INPUT-Struktur angegeben wird. In der folgenden Liste wird das Format dieser Daten basierend auf dem QueryType-Element beschrieben.

Der Treiber bereitet den Ausgabepuffer vor, auf den der pOutputData-Parameter verweist, indem er die folgenden Schritte ausführt:

  1. Jede Struktur, die basierend auf dem QueryType-Member zurückgegeben wird, beginnt mit einer D3D11_1DDI_AUTHENTICATED_QUERY_OUTPUT-Struktur . Der Treiber muss die Elemente des D3D11_1DDI_AUTHENTICATED_QUERY_INPUT in die D3D11_1DDI_AUTHENTICATED_QUERY_OUTPUT-Struktur kopieren.
  2. Der Treiber muss das ReturnCode-Element auf denselben Rückgabecode festlegen, den er für den Aufruf QueryAuthenticatedChannel(D3D11_1) zurückgibt. Dies bietet der Anwendung einen sicheren Mechanismus für den Zugriff auf den Rückgabecode.
  3. Basierend auf dem Wert des QueryType-Elements muss der Treiber die entsprechende Struktur initialisieren, die der D3D11_1DDI_AUTHENTICATED_QUERY_OUTPUT-Struktur im pOutputData-Puffer folgt.
  4. Der Treiber muss den pOutputData-Puffer auf eine Weise signieren, die mit der Verarbeitung von OPM-Abfragen (Output Protection Manager) identisch ist.

    Die D3D11_1DDI_AUTHENTICATED_QUERY_OUTPUT-Struktur enthält einen AES-basierten 1-Schlüssel-CBC-Nachrichtenauthentifizierungscode (OMAC) der Daten. Der Anzeigeminiporttreiber muss einen OMAC über die Daten im Ausgabepuffer berechnen, um die Daten zu authentifizieren. Dazu legt der Treiber zuerst den omac-Member auf 0 fest und berechnet dann einen OMAC für die Daten im Puffer. Der Treiber legt dann den omac-Member auf den OMAC fest, den er berechnet hat.

Der Anzeigeminiporttreiber muss unter den folgenden Bedingungen E_INVALIDARG für den Aufruf QueryAuthenticatedChannel(D3D11_1) zurückgeben:
  • Die Sequenznummer ist nicht größer als eine Sequenznummer, die in einem vorherigen Konfigurationsaufruf angegeben wurde.
  • Die Sequenznummer wurde noch nicht durch einen Aufruf der Funktion ConfigureAuthenticatedChannel(D3D11_1) initialisiert.
  • Der OutputDataSize-Parameter ist kleiner als die Vom D3D11_1DDI_AUTHENTICATED_CONFIGURE_INPUT angegebene Struktur . QueryType-Member .

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 8
Unterstützte Mindestversion (Server) Windows Server 2012
Zielplattform Desktop
Kopfzeile d3d10umddi.h (einschließlich D3d10umddi.h)

Weitere Informationen

ConfigureAuthenticatedChannel(D3D11_1)

CreateAuthenticatedChannel(D3D11_1)

D3D11_1DDI_AUTHENTICATED_QUERY_INPUT

D3D11_1DDI_AUTHENTICATED_QUERY_OUTPUT