TAPE_EXTENSION_INIT_ROUTINE 콜백 함수(minitape.h)

ExtensionInit 는 선택적 드라이버별 컨텍스트 영역을 초기화합니다. 이 루틴은 테이프 미니클래스 드라이버가 로드될 때 TapeClassInitialize 에서 호출됩니다. 이 루틴은 선택 사항입니다.

구문

TAPE_EXTENSION_INIT_ROUTINE TapeExtensionInitRoutine;

void TapeExtensionInitRoutine(
  [in] PVOID MinitapeExtension,
  [in] PINQUIRYDATA InquiryData,
  [in] PMODE_CAPABILITIES_PAGE ModeCapabilitiesPage
)
{...}

매개 변수

[in] MinitapeExtension

초기화할 때 테이프 미니클래스 드라이버가 요청한 크기의 버퍼에 대한 포인터입니다.

[in] InquiryData

테이프 디바이스에 대한 SCSI 조회 데이터에 대한 포인터입니다.

[in] ModeCapabilitiesPage

테이프 디바이스에 대한 하위 수준 정보를 포함하는 버퍼에 대한 포인터입니다. 이 페이지의 형식은 QIC 157 표준에 의해 정의되며 변경될 수 있습니다. 디바이스가 모드 기능 페이지를 지원하지 않는 경우 NULL 입니다.

반환 값

없음

설명

테이프 미니클래스 드라이버는 DriverEntry 루틴에서 TapeClassInitialize로 전달하는 TAPE_INIT_DATA_EX 구조에서 MinitapeExtensionSize에 0이 아닌 값을 지정하여 미니 테이프 확장을 요청합니다. 미니 클래스 드라이버는 미니 테이프 확장의 구조와 내용을 정의하고 일반적으로 이를 사용하여 지원하는 디바이스에 대한 조회 데이터를 저장합니다.

테이프 클래스 드라이버는 미니 테이프 확장을 할당하고 이후에 디바이스 제어 요청의 디바이스별 측면과 미니클래스 드라이버의 선택적 TapeMiniTapeError 루틴을 처리하는 테이프 미니클래스 드라이버의 루틴에 대한 호출에서 제공합니다.

ExtensionInit 는 미니 테이프 확장을 초기화하고 미니클래스 드라이버는 이 영역을 사용하여 디바이스의 런타임 상태를 유지합니다. 테이프 클래스 드라이버는 InquiryDataModeCapabilitiesPage 를 이 루틴에 전달합니다. 이러한 구조에는 테이프 미니클래스 드라이버가 미니 테이프 확장에 저장하려는 정보가 포함되어 있기 때문입니다.

요구 사항

요구 사항
대상 플랫폼 데스크톱
머리글 minitape.h(Minitape.h 포함)

추가 정보

테이프 미니클래스 드라이버의 DriverEntry

TAPE_INIT_DATA_EX

TAPE_STATUS

TapeClassInitialize

TapeMiniTapeError