Поделиться через


функция обратного вызова PFND3D11_1DDI_QUERYAUTHENTICATEDCHANNEL (d3d10umddi.h)

Запрашивает канал, прошедший проверку подлинности, для получения сведений о возможностях и состоянии. Реализован драйвером пользовательского режима windows Display Driver Model (WDDM) 1.2 или более поздней версии.

Синтаксис

PFND3D11_1DDI_QUERYAUTHENTICATEDCHANNEL Pfnd3d111DdiQueryauthenticatedchannel;

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

Параметры

hDevice

Дескриптор устройства отображения (графический контекст).

hCAuthChannel

Дескриптор объекта канала с проверкой подлинности, созданный с помощью вызова функции CreateAuthenticatedChannel(D3D11_1).

InputDataSize

Размер данных в байтах в массиве pInputData.

pInputData

Указатель на буфер, описывающий сведения для запроса. Данные в этом буфере форматируются как структура D3D11_1DDI_AUTHENTICATED_QUERY_INPUT.

OutputDataSize

Размер данных в байтах в массиве pOutputData.

pOutputData

Указатель на буфер, содержащий запрашиваемые сведения. Дополнительные сведения см. в разделе "Примечания".

Возвращаемое значение

Возвращает одно из следующих значений:

Возвращаемый код Описание
S_OK Прошедший проверку подлинности канал успешно запрашивался.
E_FAIL Драйвер минипорта отображения не поддерживает указанную команду.
E_INVALIDARG Параметры были проверены и определены как неверные.
E_OUTOFMEMORY Память недоступна для завершения операции.

Замечания

Параметр pInputData ссылается на буфер, содержащий структуру D3D11_1DDI_AUTHENTICATED_QUERY_INPUT. Эта структура содержит дескриптор драйвера к каналу проверки подлинности, номеру последовательности и GUID, который указывает тип выполняемого запроса. Драйвер должен вернуть E_INVALIDARG, если номер последовательности не был инициализирован с помощью функции ConfigureAuthenticatedChannel(D3D11_1). Драйвер также должен возвращать E_INVALIDARG, если порядковый номер не превышает порядковый номер предыдущего вызова запроса.

Массив байтов, на который ссылается параметр pOutputData, находится в формате, указанном элементом QueryType структуры D3D11_1DDI_AUTHENTICATED_QUERY_INPUT. В следующем списке описывается формат этих данных на основе элемента QueryType.

Драйвер подготавливает выходной буфер, на который ссылается параметр pOutputData, выполнив следующие действия:

  1. Каждая структура, возвращаемая на основе элемента queryType, начинается со структуры D3D11_1DDI_AUTHENTICATED_QUERY_OUTPUT. Драйвер должен скопировать элементы D3D11_1DDI_AUTHENTICATED_QUERY_INPUT в структуру D3D11_1DDI_AUTHENTICATED_QUERY_OUTPUT.
  2. Драйвер должен задать элемент ReturnCode в тот же код возврата, что и для вызова QueryAuthenticatedChannel(D3D11_1). Это обеспечивает приложению безопасный механизм доступа к коду возврата.
  3. В зависимости от значения элемента QueryType драйвер должен инициализировать соответствующую структуру, которая соответствует структуре D3D11_1DDI_AUTHENTICATED_QUERY_OUTPUT в буфере pOutputData.
  4. Драйвер должен подписать буфер pOutputData таким образом, который идентичен тому, как он обрабатывает запросы Диспетчера выходных данных (OPM).

    Структура D3D11_1DDI_AUTHENTICATED_QUERY_OUTPUT содержит код проверки подлинности сообщений CBC на основе AES (OMAC) данных. Чтобы проверить подлинность данных, драйвер минипорта отображения должен вычислить OMAC по данным в выходном буфере. Драйвер делает это, сначала задав элемент omac равным нулю, а затем вычисляя OMAC для данных в буфере. Затем драйвер задает элемент omac элементу OMAC, который он вычисляет.

Драйвер мини-порта отображения должен возвращать E_INVALIDARG для вызова QueryAuthenticatedChannel(D3D11_1) в следующих условиях:
  • Порядковый номер не превышает порядковый номер, указанный в предыдущем вызове конфигурации.
  • Порядковый номер еще не инициализирован вызовом функции ConfigureAuthenticatedChannel(D3D11_1).
  • Параметр outputDataSize меньше размера структуры, указанной D3D11_1DDI_AUTHENTICATED_CONFIGURE_INPUT. Элемент QueryType.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 8
минимальный поддерживаемый сервер Windows Server 2012
целевая платформа Настольный
заголовка d3d10umddi.h (include D3d10umddi.h)

См. также

ConfigureAuthenticatedChannel(D3D11_1)

CreateAuthenticatedChannel(D3D11_1)

D3D11_1DDI_AUTHENTICATED_QUERY_INPUT

D3D11_1DDI_AUTHENTICATED_QUERY_OUTPUT