D3DDDI_QUERYREGISTRY_INFO 構造体 (d3dukmdt.h)

D3DDDI_QUERYREGISTRY_INFO構造体は、D3DKMT_QUERYADAPTERINFO::Type がKMTQAITYPE_QUERYREGISTRYされたときにD3DKMT_QUERYADAPTERINFO::p DriverPrivateData を再解釈する方法を示します。

構文

typedef struct _D3DDDI_QUERYREGISTRY_INFO {
  D3DDDI_QUERYREGISTRY_TYPE   QueryType;
  D3DDDI_QUERYREGISTRY_FLAGS  QueryFlags;
  WCHAR                       ValueName[MAX_PATH];
  ULONG                       ValueType;
  ULONG                       PhysicalAdapterIndex;
  ULONG                       OutputValueSize;
  D3DDDI_QUERYREGISTRY_STATUS Status;
  union {
    DWORD                 OutputDword;
    D3DKMT_ALIGN64 UINT64 OutputQword;
    WCHAR                 OutputString[1];
    BYTE                  OutputBinary[1];
  };
} D3DDDI_QUERYREGISTRY_INFO;

メンバー

QueryType

[入力]取得するデータを示す D3DDDI_QUERYREGISTRY_TYPE 値。

QueryType は最も重要なフィールドです。 これは、レジストリパスまたはファイルパスが取得されているかどうか、および特定のレジストリハイブとファイルパスを示します。

レジストリ キー列挙型:

  • D3DDDI_QUERYREGISTRY_SERVICEKEY
  • D3DDDI_QUERYREGISTRY_ADAPTERKEY

ファイル パス列挙型:

  • D3DDDI_QUERYREGISTRY_DRIVERSTOREPATH
  • D3DDDI_QUERYREGISTRY_DRIVERIMAGEPATH

QueryFlags

[入力]文字列の取得方法を制御するフラグを持つ D3DDDI_QUERYREGISTRY_FLAGS 構造体。 QueryFlags では、ファイル パスを含む取得した文字列をゲスト環境に変換するなどの追加の操作を実行できます。

ValueName[MAX_PATH]

[入力]レジストリ情報を取得する場合、 ValueName は 取得するレジストリ値の名前を指定する必要があります。 ファイル パス情報を取得する場合、 ValueName は無視されます。

ValueType

[入力]レジストリ情報を取得する場合、 ValueType は、レジストリ値の名前に対応する予期されるレジストリ値の型を指定する必要があります。 ファイル パス情報を取得する場合、 成功するには ValueType が 0 である必要があります。 詳細については、「 レジストリ値の型 」を参照してください。

PhysicalAdapterIndex

[入力]LDA チェーン内の物理アダプター インデックス。

OutputValueSize

[out]出力データのサイズは、そのデータを取得するのに十分な領域がない場合でも、このフィールドに取得されます。 このフィールドは、可変サイズのデータを取得するときに最も便利です。

Status

[out]クエリの状態を示す D3DDDI_QUERYREGISTRY_STATUS 値。

クエリの状態は、さまざまな量のデータが取得されたことを示すために個別に返されます。 次の 3 つの戻り値の状態を理解することが最も重要です。

  • QueryAdapterInfo がSTATUS_SUCCESSを返し 、StatusD3DDDI_QUERYREGISTRY_STATUS_SUCCESS場合、 Output で始まるすべてのフィールドが有効になります。
  • QueryAdapterInfo がSTATUS_SUCCESSを返し 、StatusD3DDDI_QUERYREGISTRY_STATUS_BUFFER_OVERFLOW場合、 OutputValueSize のみが有効です。
  • QueryAdapterInfo がSTATUS_SUCCESSを返さない場合、Status をD3DDDI_QUERYREGISTRY_STATUS_FAILに変更する場合を除き、すべてのフィールドは変更されません。

OutputDword

[out]正常に取得されたデータを再解釈するための便利なフィールド。 これは、レジストリ DWORD が読み取られている場合に最も便利です。

OutputQword

[out]正常に取得されたデータを再解釈するための便利なフィールド。 レジストリ QWORD が読み取られている場合に最も便利です。

OutputString[1]

OutputBinary[1]

注釈

D3DDDI_QUERYREGISTRY_INFO は、ドライバーのインストール中に一般的にキャッシュされる情報のレジストリを読み取るために使用されます。

生の OS メソッドを使用する代わりに、ユーザー モード ドライバーやその他のコンポーネントは、サポートされている OS バージョンでこの手法をユビキタスに使用する必要があります。 これにより、OS は、依存関係の変更や仮想化された環境などのシナリオとのユーザー モードの互換性を最大化できます。

要件

要件
Header d3dukmdt.h

こちらもご覧ください

D3DDDI_QUERYREGISTRY_TYPE

D3DDDI_QUERYREGISTRY_FLAGS

D3DDDI_QUERYREGISTRY_STATUS

KMTQUERYADAPTERINFOTYPE

D3DKMT_QUERYADAPTERINFO