StorPortRegistryRead 함수(storport.h)

StorPortRegistryRead 루틴은 표시된 디바이스 및 값에 대한 레지스트리 데이터를 읽습니다.

구문

BOOLEAN StorPortRegistryRead(
  PVOID  HwDeviceExtension,
  PUCHAR ValueName,
  ULONG  Global,
  ULONG  Type,
  PUCHAR Buffer,
  PULONG BufferLength
);

매개 변수

HwDeviceExtension

하드웨어 디바이스 확장에 대한 포인터입니다. 포트 드라이버가 미니포트 드라이버를 대신하여 할당하고 초기화하는 HBA 스토리지 영역당 입니다. 미니포트 드라이버는 일반적으로 HBA 상태 및 HBA에 대한 매핑된 액세스 범위와 같은 HBA 관련 정보를 이 확장에 저장합니다. 이 영역은 미니포트 드라이버가 StorPortInitialize를 호출한 직후 미니포트 드라이버에서 사용할 수 있습니다. 포트 드라이버는 디바이스를 제거할 때 이 메모리를 해제합니다. 미니포트 드라이버는 이 루틴을 호출할 때 IRQL PASSIVE_LEVEL 실행되어야 합니다.

ValueName

콘텐츠를 읽을 레지스트리 값 이름을 지정하는 UCHAR에 대한 포인터입니다.

Global

0이 아닌 경우 포트 드라이버가 Parameters\Device 하위 키에서 ValueName 으로 지정된 레지스트리 값의 내용을 읽는다는 것을 나타냅니다. 디바이스 키 아래의 값은 시스템의 모든 어댑터에 적용됩니다. Global이 0이면 포트 드라이버는 Parameters\Device(d) 하위 키에서 ValueName으로 지정된 레지스트리 값의 내용을 읽습니다. 여기서 (d)는 특정 어댑터의 포트 번호에 해당하는 10진수 값입니다. 이 경우 검색된 데이터는 어댑터에 따라 다릅니다.

Type

레지스트리 값의 데이터 형식을 나타냅니다. 이 매개 변수에는 다음 표의 값 중 하나가 있어야 합니다.

레지스트리 값 데이터 형식 의미
REG_NONE 데이터 형식이 지정되지 않았습니다.
REG_SZ NULL로 종료된 유니코드 문자열을 나타냅니다.
REG_EXPAND_SZ 전체 문자열을 얻기 위해 확장해야 하는 환경 변수를 포함하는 NULL로 종료된 유니코드 문자열을 나타냅니다. 예를 들어 경로 이름은 "%USERPROFILE%\Application Data"라는 문자열로 저장될 수 있습니다. 이 예제에서는 실제 경로 이름을 가져오려면 환경 변수 USERPROFILE을 확장해야 합니다.
REG_BINARY 원시 이진 데이터를 나타냅니다.
REG_DWORD 32비트 이중 단어 값을 나타냅니다.
REG_DWORD_LITTLE_ENDIAN 32비트 이중 단어 값을 little-endian 순서로 나타냅니다. 이는 REG_DWORD 동일합니다.
REG_DWORD_BIG_ENDIAN 32비트 이중 단어 값을 big-endian 순서로 나타냅니다.
REG_LINK 기호 링크가 포함된 유니코드 문자열을 나타냅니다.
REG_MULTI_SZ 일련의 NULL로 끝나는 문자열을 나타냅니다.
REG_RESOURCE_LIST 레지스트리 값에 HKEY_LOCAL_MACHINE\HARDWARE\ResourceMap 하이브 아래에 저장된 "하드웨어 리소스 맵"으로도 알려진 하드웨어 리소스 목록이 포함되어 있음을 나타냅니다.
REG_FULL_RESOURCE_DESCRIPTOR 레지스트리 값에 HKEY_LOCAL_MACHINE\HARDWARE\Description 하이브 아래에 저장된 하드웨어 리소스에 대한 설명이 포함되어 있음을 나타냅니다.
REG_RESOURCE_REQUIREMENTS_LIST 레지스트리 값에 HKEY_LOCAL_MACHINE\HARDWARE\ResourceMap 트리 아래에 저장된 하드웨어 리소스 요구 사항 목록이 포함되어 있음을 나타냅니다.
REG_QWORD 레지스트리 값에 64비트 번호가 포함되어 있음을 나타냅니다.
REG_QWORD_LITTLE_ENDIAN 레지스트리 값에 64비트 번호가 포함되어 있음을 나타냅니다. REG_QWORD 동일한 데이터 형식입니다.

Buffer

검색된 레지스트리 정보를 보고할 버퍼에 대한 포인터입니다.

BufferLength

반환된 레지스트리 데이터의 크기(바이트)를 포함하는 ULONG에 대한 포인터입니다.

반환 값

ValueName이 가리키는 데이터가 ASCII로 성공적으로 변환되고 버퍼에 복사된 경우 StorPortRegistryReadTRUE의 부울 값을 반환합니다. 이 루틴은 오류가 발생할 경우 FALSE 를 반환합니다.

설명

StorPortRegistryReadBufferLength 매개 변수에서 0이 아닌 값으로 FALSE를 반환하는 경우 전달된 버퍼가 너무 작고 BufferLength 매개 변수에 사용해야 하는 올바른 버퍼 크기가 반영됩니다. BufferLength 매개 변수가 0으로 설정된 상태에서 루틴이 FALSE를 반환하는 경우 또 다른 오류가 발생했습니다.

이 루틴에 사용되는 버퍼는 StorPortAllocateRegistryBuffer 를 호출하여 할당되고 StorPortFreeRegistryBuffer를 호출하여 해제됩니다.

요구 사항

요구 사항
대상 플랫폼 유니버설
헤더 storport.h(Storport.h 포함)
라이브러리 Storport.lib
IRQL PASSIVE_LEVEL
DDI 규정 준수 규칙 StorPortIrql(storport)

추가 정보

StorPortAllocateRegistryBuffer

StorPortFreeRegistryBuffer

StorPortInitialize