D3DDDI_QUERYREGISTRY_INFO 구조체(d3dukmdt.h)

이 구조는 D3DKMT_QUERYADAPTERINFO:Type이 KMTQAITYPE_QUERYREGISTRY 때 : D3DKMT_QUERYADAPTERINFO::p DriverPrivateData 를 재해석하는 방법을 나타냅니다. 드라이버 설치 중에 일반적으로 캐시되는 정보는 레지스트리를 읽는 데 사용됩니다.

원시 OS 메서드를 사용하는 대신 사용자 모드 드라이버 및 기타 구성 요소는 지원되는 OS 버전에서 이 기술을 유비쿼터스로 사용해야 합니다. 이를 통해 OS는 가상화된 환경과 같은 종속성 변경 및 시나리오와의 사용자 모드 호환성을 최대화할 수 있습니다.

구문

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

[In] D3DDDI_QUERYREGISTRY_TYPE QueryType

QueryType 은 가장 중요한 필드입니다. 레지스트리 또는 파일 경로가 검색되는지 여부와 특정 레지스트리 하이브 및 파일 경로를 나타냅니다.

레지스트리 키 열거형:

  • D3DDDI_QUERYREGISTRY_SERVICEKEY
  • D3DDDI_QUERYREGISTRY_ADAPTERKEY

파일 경로 열거형:

  • D3DDDI_QUERYREGISTRY_DRIVERSTOREPATH
  • D3DDDI_QUERYREGISTRY_DRIVERIMAGEPATH

QueryFlags

[In] D3DDDI_QUERYREGISTRY_FLAGS QueryFlags

QueryFlags는 파일 경로가 포함된 검색된 문자열을 게스트 환경으로 변환하는 등의 추가 작업을 수행할 수 있습니다.

ValueName

[In] WCHAR ValueName[ MAX_PATH ]

레지스트리 정보를 검색할 때 ValueName 은 검색할 레지스트리 값 이름을 지정해야 합니다. 파일 경로 정보를 검색할 때 ValueName 은 무시됩니다.

ValueType

[In] ULONG ValueType

레지스트리 정보를 검색할 때 ValueType 은 레지스트리 값 이름에 해당하는 예상 레지스트리 값 형식을 지정해야 합니다. 파일 경로 정보를 검색할 때 성공하려면 ValueType 이 0이어야 합니다. 자세한 내용은 레지스트리 값 형식 을 참조하세요.

PhysicalAdapterIndex

[In] ULONG PhysicalAdapterIndex

LDA 체인의 실제 어댑터 인덱스입니다.

OutputValueSize

[Out] ULONG OutputValueSize

출력 데이터의 크기는 해당 데이터를 검색할 공간이 부족한 경우에도 이 필드로 검색됩니다. 이 필드는 가변 크기 데이터를 검색할 때 가장 유용합니다.

Status

[Out] D3DDDI_QUERYREGISTRY_STATUS 상태

쿼리의 상태는 다양한 양의 데이터가 검색되었음을 나타내기 위해 순차적으로 반환됩니다. 다음 세 가지 반환 상태를 이해하는 것이 가장 중요합니다.

  • QueryAdapterInfo가 STATUS_SUCCESS 반환하고 상태가 D3DDDI_QUERYREGISTRY_STATUS_SUCCESS 경우 출력 으로 시작하는 모든 필드가 유효합니다.
  • QueryAdapterInfo가 STATUS_SUCCESS 반환하고 상태가 D3DDDI_QUERYREGISTRY_STATUS_BUFFER_OVERFLOW 경우 OutputValueSize 만 유효합니다.
  • QueryAdapterInfo가 STATUS_SUCCESS 반환하지 않으면 상태가 D3DDDI_QUERYREGISTRY_STATUS_FAIL 변경될 수 있다는 점을 제외하고 모든 필드는 수정되지 않은 상태로 유지 됩니다.

OutputDword

[Out] DWORD OutputDword

OutputDword 는 성공적으로 검색된 데이터를 재해석하기 위한 편리한 필드입니다. 레지스트리 dword를 읽을 때 가장 유용합니다.

OutputQword

[Out] UINT64 OutputQword

OutputQword 는 성공적으로 검색된 데이터를 재해석하기 위한 편리한 필드입니다. 레지스트리 qword를 읽을 때 가장 유용합니다.

OutputString

[Out] WCHAR OutputString[ ANYSIZE_ARRAY ]

OutputString 은 성공적으로 검색된 데이터를 재해석하기 위한 편리한 필드입니다. 레지스트리 문자열 또는 파일 경로를 다시 관리하는 데 가장 유용합니다.

OutputBinary

[Out] BYTE OutputBinary[ ANYSIZE_ARRAY ]

OutputBinary 는 성공적으로 검색된 데이터를 재해석하기 위한 편리한 필드입니다. 레지스트리 이진 Blob을 읽을 때 가장 유용합니다.

OutputDword

OutputQword

OutputString

OutputBinary

요구 사항

   
머리글 d3dukmdt.h

추가 정보