다음을 통해 공유


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를 사용하여 이 스트림에 대한 데이터를 전송합니다. PioDma 멤버는 모두 TRUE일 수 있습니다.

HwDeviceExtension

미니 드라이버의 디바이스 확장에 대한 포인터입니다. 미니 드라이버는 이 버퍼를 사용하여 개인 정보를 기록할 수 있습니다. 미니 드라이버는 StreamClassRegisterMinidriver를 통해 자신을 등록할 때 통과하는 HW_INITIALIZATION_DATA 구조에서 이 버퍼의 크기를 설정합니다. 또한 클래스 드라이버는 미니 드라이버에 전달하는 HW_STREAM_REQUEST_BLOCK, HW_TIME_CONTEXTPORT_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 포함)

추가 정보

HW_CLOCK_OBJECT