Storport 확인

Storport 확인 기능은 Storport 미니포트 드라이버와 포트 드라이버 간의 상호 작용을 모니터링합니다. 미니포트 드라이버가 루틴을 오용하거나, 포트 드라이버의 요청에 잘못 응답하거나, 요청에 응답하는 데 과도한 시간이 걸리는 경우 버그 검사 발생합니다.

참고

Storport 확인 기능은 Windows Vista 이상 버전의 Windows에서만 사용할 수 있습니다.

Storport 확인에서 검색된 위반

Storport 확인 기능은 Storport 루틴의 몇 가지 오용을 검색할 수 있습니다. 이러한 검사 중 일부를 개별적으로 사용하지 않도록 설정할 수도 있습니다.

Storport 미니포트 드라이버가 다음 위반 중 하나를 커밋하는 경우 Storport 확인 기능은 버그 검사 0xF1 또는 버그 검사 0xC4 발급합니다.

  • 미니포트 드라이버는 잘못된 인수(NULL 포인터)를 StorPortInitialize 루틴에 전달합니다.

  • 미니포트 드라이버는 StorPortStallExecution 을 호출하고 0.1초보다 긴 지연을 지정하여 과도한 시간 동안 프로세서를 지연시킵니다.

  • StorPortFreeDeviceBase 는 미니포트 드라이버의 HwStorFindAdapter 루틴에서만 호출할 수 있습니다.

  • StorPortGetUncachedExtension은 미니포트 드라이버의 HwStorFindAdapter 루틴에서만 호출할 수 있으며 버스 master 어댑터에 대해서만 호출할 수 있습니다. 미니포트는 StorPortGetUncachedExtension을 호출하기 전에 HW_INITIALIZATION_DATA(Storport) 구조체의 SrbExtensionSize를 설정해야 합니다.

  • StorPortGetDeviceBase 루틴은 시스템 플러그 앤 플레이(PnP) 관리자가 드라이버에 할당한 주소만 지원합니다.

  • 미니포트 드라이버는 잘못된 가상 주소를 StorPortReadxxx 또는 StorPortWritexxx 루틴 중 하나에 전달합니다(예: StorPortReadRegisterUchar 또는 StorPortWritePortBufferUlong). 이는 일반적으로 제공된 주소가 공통 버퍼 영역에 매핑되지 않음을 의미합니다. 지정한 Register 또는 PortStorPortGetDeviceBase 루틴에서 반환되는 매핑된 메모리 공간 범위에 있어야 합니다. 이 검사 x86 기반 시스템에서만 지원됩니다.

Storport 확인에서 사용하는 버그 검사 매개 변수 목록은 버그 검사 0xF1(SCSI_VERIFIER_DETECTED_VIOLATION)을 참조하세요. Storport 확인은 버그 검사 0xF1 외에도 버그 검사 0xC4(DRIVER_VERIFIER_DETECTED_VIOLATION )을 사용합니다.

참고

버그 검사 0xF1 SCSI 확인 및 Storport 확인 모두에 사용됩니다.

Storport 확인 옵션 활성화

Storport 확인 옵션을 활성화하는 절차는 다른 드라이버 검증 도구 옵션을 활성화하는 절차와 다릅니다.

  1. 드라이버 검증 도구 관리자 또는 Verifier.exe 명령줄을 사용하여 미니포트 드라이버 확인을 시작합니다. Storport 확인은 옵션으로 사용할 수 없으므로 하나 이상의 다른 드라이버 검증 도구 옵션을 선택해야 합니다. 자세한 내용은 드라이버 검증 도구 옵션 선택확인할 드라이버 선택을 참조하세요.

  2. regedit.exe사용하여 레지스트리를 엽니다. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\StorPort 키에 Verifier라는 하위 키를 추가합니다. StorPort 키가 없으면 만들어야 합니다. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\STORPort\Verifier 키 내에 VerifyLevel이라는 REG_DWORD 항목을 추가합니다. 이 항목에 할당된 값에 따라 활성 상태가 될 Storport 확인 테스트가 결정됩니다. 0x1 값은 최대 확인을 제공합니다.

  3. 컴퓨터를 다시 시작합니다.

VerifyLevel 값이 없거나 0xFFFFFFFF 같으면 Storport 확인이 비활성화됩니다.

다시 부팅하지 않고 활성화

일반적으로 Windows 운영 체제에서 컴퓨터를 다시 시작(다시 부팅)하지 않고는 Storport 확인을 활성화하거나 비활성화할 수 없습니다. StorPort.sys 드라이버는 일반적으로 부팅 시간에 로드될 때만 VerifyLevel 레지스트리 항목을 읽습니다. 그러나 레지스트리 항목을 추가할 때 StorPort.sys 드라이버가 로드되지 않거나 언로드 및 다시 로드된 경우 컴퓨터를 다시 시작하지 않고 Windows Vista 이상 버전의 Windows에서 Storport 확인을 사용하도록 설정할 수 있습니다.