다음을 통해 공유


STOR_DEVICE_CAPABILITIES_EX 구조체(minitape.h)

STOR_DEVICE_CAPABILITIES_EX 구조는 SRB_FUNCTION_PNP 함수를 사용하여 SRB(SCSI 요청 블록)의 기능 쿼리에 대한 응답으로 Storport 드라이버에 디바이스 기능을 보고합니다. STOR_DEVICE_CAPABILITIES 스토리지 디바이스와 관련된 멤버를 포함하는 DEVICE_CAPABILITIES 구조의 하위 집합입니다.

통사론

typedef struct _STOR_DEVICE_CAPABILITIES_EX {
  USHORT Version;
  USHORT Size;
  ULONG  DeviceD1 : 1;
  ULONG  DeviceD2 : 1;
  ULONG  LockSupported : 1;
  ULONG  EjectSupported : 1;
  ULONG  Removable : 1;
  ULONG  DockDevice : 1;
  ULONG  UniqueID : 1;
  ULONG  SilentInstall : 1;
  ULONG  RawDeviceOK : 1;
  ULONG  SurpriseRemovalOK : 1;
  ULONG  NoDisplayInUI : 1;
  ULONG  DefaultWriteCacheEnabled : 1;
  ULONG  Reserved0 : 20;
  ULONG  Address;
  ULONG  UINumber;
  ULONG  Reserved1[2];
} STOR_DEVICE_CAPABILITIES_EX, *PSTOR_DEVICE_CAPABILITIES_EX;

회원

Version

구조체의 버전을 지정합니다. Storport는 이 필드를 STOR_DEVICE_CAPABILITIES_EX_VERSION_1 설정합니다.

Size

구조체의 크기를 지정합니다. Storport는 이 필드를 sizeof(STOR_DEVICE_CAPABILITIES_EX)설정합니다.

DeviceD1

디바이스 하드웨어에서 D1 전원 상태를 지원하는지 여부를 지정합니다. 미니포트 드라이버는 이 비트를 0으로 설정합니다.

DeviceD2

디바이스 하드웨어에서 D2 전원 상태를 지원하는지 여부를 지정합니다. 미니포트 드라이버는 이 비트를 0으로 설정합니다.

LockSupported

디바이스가 디바이스 배출을 방지하는 물리적 디바이스 잠금을 지원하는지 여부를 지정합니다. 이 멤버는 LUN 또는 단위 디바이스를 꺼내는 것과 관련이 있습니다.

EjectSupported

시스템이 PowerSystemWorking 상태인 동안 디바이스에서 소프트웨어 제어 디바이스 배출을 지원하는지 여부를 지정합니다. 이 멤버는 LUN 또는 단위 디바이스를 꺼내는 것과 관련이 있습니다.

Removable

디바이스를 직접 부모에서 동적으로 제거할 수 있는지 여부를 지정합니다. 이동식 TRUE 설정되면 디바이스는 부모와 동일한 물리적 개체에 속하지 않습니다.

이동식 TRUE 설정된 경우 SurpriseRemovalOKTRUE설정하지 않는 한 디바이스가 하드웨어 제거 또는 분리 프로그램에 표시됩니다.

DockDevice

디바이스가 도킹 주변 장치인지 여부를 지정합니다.

UniqueID

디바이스의 인스턴스 ID가 시스템 전체에서 고유한지 여부를 지정합니다. 인스턴스 ID가 버스 범위 내에서만 고유한 경우 이 비트는 분명합니다.

SilentInstall

디바이스 관리자 모든 설치 대화 상자를 표시하지 않아야 하는지 여부를 지정합니다. "호환되는 드라이버를 찾을 수 없음"과 같은 필수 대화 상자를 제외하고

RawDeviceOK

기본 버스의 드라이버가 함수 드라이버가 없는 경우 디바이스를 구동할 수 있는지 여부를 지정합니다(예: 통과 모드의 SCSI 디바이스). 이 작업 모드를 원시 모드라고 합니다.

SurpriseRemovalOK

Storport가 SCSI_PNP_REQUEST_BLOCK 구조에서 PnPActionStorRemoveDevice SRB_FUNCTION_PNP 보내기 전에 디바이스의 미니포트 드라이버가 디바이스가 제거되는 경우를 처리할 수 있는지 여부를 지정합니다. SurpriseRemovalOK TRUE 설정하면 드라이버의 상태에 관계없이 즉시 부모에서 디바이스를 안전하게 제거할 수 있습니다.

NoDisplayInUI

사용자 인터페이스에 디바이스를 표시하지 마세요. 이 비트를 설정하면 디바이스가 있지만 시작에 실패하더라도 디바이스가 사용자 인터페이스에 표시되지 않습니다. 미니포트 드라이버는 이 비트를 설정하지 않습니다.

DefaultWriteCacheEnabled

스토리지 디바이스의 쓰기 캐시는 초기화 시 기본적으로 사용하도록 설정됩니다.

Reserved0

예약된 비트입니다.

Address

스토리지 장치 디바이스의 LUN 주소입니다.

UINumber

사용자 인터페이스에 표시할 수 있는 디바이스와 연결된 숫자를 지정합니다.

이 숫자는 사용자가 물리적 디바이스를 더 쉽게 찾을 수 있도록 선택한 ID 값일 수 있습니다. UINumber 알 수 없는 경우 미니포트 드라이버는 이 멤버를 기본값인 0xFFFFFFFF 설정할 수 있습니다.

Reserved1[2]

예약된 비트입니다.

발언

미니포트 드라이버가 SRB 함수가 SRB_FUNCTION_PNP HwStorStartIo 루틴에서 SRB를 받으면 SRB는 SCSI_PNP_REQUEST_BLOCK 구조로 형식이 지정됩니다. SRB의 PnPAction 멤버가 StorQueryCapabilities 경우 미니포트는 SRB의 DataBuffer 멤버에서 STOR_DEVICE_CAPABILITIES_EX 구조를 반환할 수 있습니다.

디바이스의 배출, 제거 및 설치 특성은 STOR_DEVICE_CAPABILITIES_EX 구조에 설정됩니다. 이 구조체의 사용을 지원하려면 StorPortInitialize호출하기 전에 미니포트가 HW_INITIALIZATION_DATAFeatureSupport 플래그 멤버에 STOR_FEATURE_FULL_PNP_DEVICE_CAPABILITIES 플래그를 설정해야 합니다.

요구 사항

요구
지원되는 최소 클라이언트 Windows 8
헤더 minitape.h(Storport.h, Minitape.h, Srb.h 포함)

참고 항목

DEVICE_CAPABILITIES

HW_INITIALIZATION_DATASCSI_PNP_REQUEST_BLOCK

StorPortInitialize