次の方法で共有


PFND3D11_1DDI_QUERYAUTHENTICATEDCHANNELコールバック関数 (d3d10umddi.h)

認証されたチャネルに対して、機能と状態の情報を照会します。 Windows ディスプレイ ドライバー モデル (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 が含まれます。 ConfigureAuthenticatedChannel(D3D11_1) 関数を使用してシーケンス番号が以前に初期化されていない場合、ドライバーは E_INVALIDARG を返す必要があります。 また、シーケンス番号が前のクエリ呼び出しのシーケンス番号より大きくない場合、ドライバーは E_INVALIDARG も返す必要があります。

pOutputData パラメーターによって参照されるバイト配列は、D3D11_1DDI_AUTHENTICATED_QUERY_INPUT 構造体の QueryType メンバーで指定された形式です。 次の一覧では、QueryType メンバーに基づいて、このデータの形式について説明します。

ドライバーは、次の手順に従って、pOutputData パラメーターによって参照される出力バッファーを準備します。

  1. QueryType メンバーに基づいて返される各構造体は、D3D11_1DDI_AUTHENTICATED_QUERY_OUTPUT 構造体で始まります。 ドライバーは、D3D11_1DDI_AUTHENTICATED_QUERY_INPUT のメンバーを D3D11_1DDI_AUTHENTICATED_QUERY_OUTPUT 構造体にコピーする必要があります。
  2. ドライバーは、QueryAuthenticatedChannel(D3D11_1) 呼び出しで返されるのと同じリターン コードに、ReturnCode メンバーを設定する必要があります。 これにより、リターン コードにアクセスするための安全なメカニズムがアプリケーションに提供されます。
  3. QueryType メンバーの値に基づいて、ドライバーは、pOutputData バッファー内の D3D11_1DDI_AUTHENTICATED_QUERY_OUTPUT 構造体に続く対応する構造体を初期化する必要があります。
  4. ドライバーは、output Protection Manager (OPM) クエリを処理する方法と同じ方法で、pOutputData バッファーに署名する必要があります。

    D3D11_1DDI_AUTHENTICATED_QUERY_OUTPUT 構造体には、データの AES ベースの 1 キー CBC メッセージ認証コード (OMAC) が含まれています。 ディスプレイ ミニポート ドライバーは、データを認証する出力バッファー内のデータの OMAC を計算する必要があります。 ドライバーは、最初に omac メンバーを 0 に設定し、バッファー内のデータの OMAC を計算することによってこれを行います。 その後、ドライバーは、omac メンバーを計算した OMAC に設定します。

ディスプレイ ミニポート ドライバーは、次の条件下で、QueryAuthenticatedChannel(D3D11_1) 呼び出しの E_INVALIDARG を返す必要があります。
  • シーケンス番号が、前の構成呼び出しで指定されたシーケンス番号より大きくない。
  • シーケンス番号は、ConfigureAuthenticatedChannel(D3D11_1) 関数の呼び出しによってまだ初期化されていません。
  • OutputDataSize パラメーターが、D3D11_1DDI_AUTHENTICATED_CONFIGURE_INPUT で指定された構造体のサイズ未満です。QueryType メンバー。

必要条件

要件 価値
サポートされる最小クライアント Windows 8
サポートされる最小サーバー Windows Server 2012
ターゲット プラットフォーム デスクトップ
ヘッダー d3d10umddi.h (D3d10umddi.h を含む)

関連項目

ConfigureAuthenticatedChannel(D3D11_1)

CreateAuthenticatedChannel(D3D11_1)

D3D11_1DDI_AUTHENTICATED_QUERY_INPUT

D3D11_1DDI_AUTHENTICATED_QUERY_OUTPUT