MINIPORT_DUMP_POINTERS 구조체(storport.h)
Storport 미니포트 드라이버는 이 구조를 사용하여 SRB(SCSI_REQUEST_BLOCK ) 함수 코드 SRB_FUNCTION_DUMP_POINTERS 지원합니다. 미니포트 드라이버가 이러한 종류의 SRB를 받으면 DataBuffer SRB 멤버는 MINIPORT_DUMP_POINTERS 구조를 가리킵니다. 이 SRB는 미니포트 드라이버의 HwStorInitialize 루틴에서 SRB가 반환된 후 크래시 덤프 데이터를 보유하는 디스크를 제어하는 데 사용되는 미니포트 드라이버로 전송됩니다. 가상 미니포트 드라이버는 SRB_FUNCTION_DUMP_POINTERS 지원해야 합니다.
구문
typedef struct _MINIPORT_DUMP_POINTERS {
USHORT Version;
USHORT Size;
WCHAR DriverName[DUMP_MINIPORT_NAME_LENGTH];
struct _ADAPTER_OBJECT *AdapterObject;
PVOID MappedRegisterBase;
ULONG CommonBufferSize;
PVOID MiniportPrivateDumpData;
ULONG SystemIoBusNumber;
INTERFACE_TYPE AdapterInterfaceType;
ULONG MaximumTransferLength;
ULONG NumberOfPhysicalBreaks;
ULONG AlignmentMask;
ULONG NumberOfAccessRanges;
ACCESS_RANGE( ) *AccessRanges[];
UCHAR NumberOfBuses;
BOOLEAN Master;
BOOLEAN MapBuffers;
UCHAR MaximumNumberOfTargets;
} MINIPORT_DUMP_POINTERS, *PMINIPORT_DUMP_POINTERS;
멤버
Version
DUMP_MINIPORT_VERSION_1 로 설정합니다.
Size
sizeof(MINIPORT_DUMP_POINTERS)로 설정합니다.
DriverName[DUMP_MINIPORT_NAME_LENGTH]
경로 정보가 없는 미니포트 드라이버의 와이드 문자 이름입니다(예: Miniport.sys).
AdapterObject
NULL로 설정합니다.
MappedRegisterBase
0으로 설정됩니다.
CommonBufferSize
필요한 공통 버퍼의 크기입니다. 크기가 64KB(65,536바이트)를 초과하면 안 됩니다.
MiniportPrivateDumpData
충돌 덤프 중에 미니포트 드라이버의 HwStorFindAdapter 루틴에 전달할 컨텍스트입니다. 컨텍스트는 예약 멤버 또는 Windows 8 시작하여 PORT_CONFIGURATION_INFORMATION 구조체의 MiniportDumpData 멤버에 전달됩니다.
SystemIoBusNumber
HBA가 연결된 I/O 버스의 시스템 할당 번호를 지정합니다. Storport 드라이버는 이 멤버를 초기화합니다. Storport 드라이버와 함께 작동하는 미니포트 드라이버는 이 멤버를 변경하면 안됩니다. 자세한 내용은 PORT_CONFIGURATION_INFORMATION SystemIoBusNumber 멤버를 참조 하세요.
AdapterInterfaceType
I/O 버스 인터페이스를 식별합니다. Storport 드라이버는 이 멤버를 초기화합니다. Storport 드라이버와 함께 작동하는 미니포트 드라이버는 이 멤버를 수정하면 안됩니다. 자세한 내용은 PORT_CONFIGURATION_INFORMATION AdapterInterfaceType 멤버를 참조 하세요.
MaximumTransferLength
HBA가 크래시덤프 모드에서 단일 전송 작업에서 전송할 수 있는 최대 바이트 수를 지정합니다. 기본적으로 이 멤버의 값은 무제한 최대 전송 크기를 나타내는 SP_UNINITIALIZED_VALUE. 이 값은 미니포트의 덤프 작업과 관련이 있으며 PORT_CONFIGURATION_INFORMATIONMaximumTransferLength 멤버의 값과 다를 수 있습니다.
NumberOfPhysicalBreaks
데이터 버퍼가 분산/수집 목록을 만들어야 할 수 있는 주소 범위 간의 최대 나누기 수를 지정합니다. 즉, 어댑터가 지원할 수 있는 분산/수집 목록 항목 수에서 1을 뺀 값입니다. 자세한 내용은 PORT_CONFIGURATION_INFORMATIONNumberOfPhysicalBreaks 멤버를 참조하세요.
AlignmentMask
HBA에서 전송 작업에 필요한 버퍼에 대한 맞춤 제한을 나타내는 마스크를 포함합니다. 유효한 마스크 값은 Microsoft Windows 운영 체제의 다른 버전에서 메모리 관리자의 특성에 의해 제한됩니다. 유효한 마스크 값은 0(바이트 정렬), 0x1(단어 정렬), 0x3(DWORD 정렬) 및 0x7(이중 DWORD 정렬)입니다. HBA가 분산/수집을 지원하는 경우 미니포트 드라이버는 이 마스크를 설정해야 합니다. 동일한 고려 사항이 PORT_CONFIGURATION_INFORMATIONAlignmentMask 멤버에 적용됩니다.
NumberOfAccessRanges
배열의 AccessRanges 요소 수를 지정합니다. 자세한 내용은 PORT_CONFIGURATION_INFORMATIONNumberOfAccessRanges 멤버를 참조하세요.
AccessRanges
ACCESS_RANGE 형식 요소의 배열에 대한 포인터입니다. Storport 드라이버는 이 멤버를 초기화합니다. Storport 드라이버와 함께 작동하는 미니포트 드라이버는 이 멤버를 변경하면 안됩니다. 자세한 내용은 PORT_CONFIGURATION_INFORMATION AccessRanges 멤버를 참조 하세요.
NumberOfBuses
어댑터에서 제어하는 버스 수를 지정합니다. 기본적으로 이 멤버의 값은 0입니다. 자세한 내용은 PORT_CONFIGURATION_INFORMATIONNumberOfBuses 멤버를 참조하세요.
Master
TRUE이면 HBA가 master 버스임을 나타냅니다. Storport 드라이버는 미니포트 드라이버가 버스 마스터링 DMA를 지원해야 하므로 이 멤버를 TRUE로 초기화합니다. Storport 드라이버와 함께 작동하는 미니포트 드라이버는 이 값을 변경하지 않아야 합니다. 자세한 내용은 PORT_CONFIGURATION_INFORMATION Master 멤버를 참조 하세요.
MapBuffers
Storport 드라이버가 SRB 데이터 버퍼 주소를 시스템 가상 주소에 매핑하는지 여부를 나타냅니다. 자세한 내용은 HW_INITIALIZATION_DATAMapBuffers 멤버를 참조하세요.
MaximumNumberOfTargets
어댑터가 제어할 수 있는 대상 주변 장치 수를 지정합니다. 자세한 내용은 PORT_CONFIGURATION_INFORMATIONMaximumNumberOfTargets 멤버를 참조하세요.
설명
Windows 8 시작하여 물리적 축소 드라이버는 필요에 따라 SRB_FUNCTION_DUMP_POINTERS 지원할 수 있습니다. 물리적 미니포트가 이 함수를 지원하는 경우 StorPortInitialize를 호출하기 전에 HW_INITIALIZATION_DATA 구조체의 FeatureSupport 멤버에서 STOR_FEATURE_DUMP_POINTERS 플래그를 설정해야 합니다. MINIPORT_DUMP_POINTERS 버전 및 크기 멤버 이상을 설정하려면 물리적 미니포트가 필요합니다. 또한 PORT_CONFIGURATION_INFORMATION 지정된 값과 다른 경우 물리적 미니포트에는 MaximumTransferLength 멤버가 필요합니다.
요구 사항
요구 사항 | 값 |
---|---|
헤더 | storport.h(Storport.h 포함) |