HW_STREAM_OBJECT 구조체(strmini.h)
HW_STREAM_OBJECT 미니 드라이버 스트림의 instance 설명합니다.
구문
typedef struct _HW_STREAM_OBJECT {
ULONG SizeOfThisPacket;
ULONG StreamNumber;
PVOID HwStreamExtension;
PHW_RECEIVE_STREAM_DATA_SRB ReceiveDataPacket;
PHW_RECEIVE_STREAM_CONTROL_SRB ReceiveControlPacket;
HW_CLOCK_OBJECT HwClockObject;
BOOLEAN Dma;
BOOLEAN Pio;
PVOID HwDeviceExtension;
ULONG StreamHeaderMediaSpecific;
ULONG StreamHeaderWorkspace;
BOOLEAN Allocator;
PHW_EVENT_ROUTINE HwEventRoutine;
ULONG Reserved[2];
} HW_STREAM_OBJECT, *PHW_STREAM_OBJECT;
멤버
SizeOfThisPacket
이 구조체의 크기(바이트)를 지정합니다.
StreamNumber
미니 드라이버의 HW_STREAM_DESCRIPTOR 구조 내에서 스트림의 오프셋을 지정합니다.
HwStreamExtension
이 스트림에 대한 개인 정보를 보유하는 데 사용할 미니드라이버에 대해 클래스 드라이버에서 할당한 버퍼인 스트림 확장을 가리킵니다. 미니 드라이버는 스트림 클래스 드라이버에 자신을 등록할 때 전달하는 HW_INITIALIZATION_DATA 구조에서 버퍼의 크기를 설정합니다.
ReceiveDataPacket
스트림의 StrMiniReceiveStreamDataPacket 루틴에 대한 포인터입니다.
ReceiveControlPacket
스트림의 StrMiniReceiveStreamControlPacket 루틴에 대한 포인터입니다.
HwClockObject
스트림의 클록 개체를 포함합니다. 자세한 내용은 HW_CLOCK_OBJECT 참조하세요.
Dma
TRUE인 경우 디바이스는 DMA를 사용하여 이 스트림에 대한 데이터를 전송합니다.
Pio
TRUE인 경우 디바이스는 프로그래밍된 I/O를 사용하여 이 스트림에 대한 데이터를 전송합니다. Pio 및 Dma 멤버는 모두 TRUE일 수 있습니다.
HwDeviceExtension
미니 드라이버의 디바이스 확장에 대한 포인터입니다. 미니 드라이버는 이 버퍼를 사용하여 개인 정보를 기록할 수 있습니다. 미니 드라이버는 StreamClassRegisterMinidriver를 통해 자신을 등록할 때 통과하는 HW_INITIALIZATION_DATA 구조에서 이 버퍼의 크기를 설정합니다. 또한 클래스 드라이버는 미니 드라이버에 전달하는 HW_STREAM_REQUEST_BLOCK, HW_TIME_CONTEXT 및 PORT_CONFIGURATION_INFORMATION 구조체의 HwDeviceExtension 멤버에서 이 버퍼에 대한 포인터를 전달합니다.
StreamHeaderMediaSpecific
미디어별 스트림별 헤더 확장의 크기(바이트)를 지정합니다.
StreamHeaderWorkspace
스트림 헤더당 작업 영역의 크기를 지정합니다.
Allocator
드라이버에서 할당자를 사용하는 경우 TRUE 를 지정합니다. 대부분의 미니드라이버에서는 이 값을 FALSE로 설정합니다.
HwEventRoutine
스트림의 StrMiniEvent 루틴에 대한 포인터
Reserved[2]
시스템에서 사용하도록 예약되었습니다. 사용하지 마십시오.
설명
이 구조체는 미니드라이버의 특정 스트림에 대한 정보를 보관하기 위해 클래스 드라이버에 의해 만들어집니다. 각 스트림별 요청에 대해 클래스 드라이버는 스트림 요청 블록의 StreamObject 멤버에 있는 스트림에 대한 HW_STREAM_OBJECT 전달합니다( HW_STREAM_REQUEST_BLOCK 참조).
클래스 드라이버가 스트림을 열고 미니드라이버의 StrMiniReceiveDevicePacket 루틴에 SRB_OPEN_STREAM 요청을 실행하면 미니 드라이버가 스트림 개체를 초기화합니다.
요구 사항
요구 사항 | 값 |
---|---|
헤더 | strmini.h(Strmini.h 포함) |