PHW_RECEIVE_DEVICE_SRB 콜백 함수(strmini.h)
미니 드라이버 제공 루틴은 디바이스 초기화 또는 디바이스 내에서 스트림 열기와 같이 드라이버 전체에 적용되는 클래스 드라이버 요청을 처리합니다.
통사론
PHW_RECEIVE_DEVICE_SRB PhwReceiveDeviceSrb;
void PhwReceiveDeviceSrb(
[in] IN PHW_STREAM_REQUEST_BLOCK SRB
)
{...}
매개 변수
[in] SRB
스트림 요청 블록에 대한 포인터입니다.
반환 값
없음
발언
미니 드라이버는 HW_INITIALIZATION_DATA 구조의 HwReceivePacket 멤버에서 이 루틴을 지정합니다. 미니 드라이버는 StreamClassRegisterMinidriver호출하여 자신을 등록할 때 클래스 드라이버에 이 구조를 전달합니다.
StrMiniReceiveDevicePacket 디바이스 초기화 또는 디바이스 내에서 스트림 열기와 같이 드라이버 전체에 적용되는 클래스 드라이버 요청을 처리해야 합니다. 클래스 드라이버는 스트림 요청 블록에 대한 포인터 형식으로 해당 정보를 전달합니다. 클래스 드라이버는 스트림 요청 블록의 일부 항목을 채웁니다. 미니 드라이버는 루틴이 완료되면 클래스 드라이버가 처리를 계속하는 데 사용할 추가 정보를 입력해야 합니다.
요청 처리가 완료되면 미니 드라이버는 StreamClassDeviceNotification(DeviceRequestComplete, pSRB->HwDeviceExtension, pSRB)호출하여 구조를 클래스 드라이버로 다시 전달합니다.
Stream 클래스 SRB 참조관련 SRB 코드에 대한 정보를 참조하세요.
미니 드라이버는 요청 처리를 마치면 pSrb 작업의 반환 상태를 입력합니다.>상태. 미니 드라이버는 정상적인 성공적인 처리를 위해 STATUS_SUCCESS 입력해야 합니다. 미니 드라이버가 해당 명령 값을 지원하지 않는 경우 pSrb설정해야 합니다.>상태 STATUS_NOT_IMPLEMENTED. 미니 드라이버가 요청을 완료하지 못하게 하는 디바이스 하드웨어 오류가 있는 경우 pSrb 설정해야 합니다.>상태 STATUS_IO_DEVICE_ERROR. 특정 상황에서 루틴이 사용하는 다른 오류 코드는 특정 명령 코드와 함께 위에 나열되어 있습니다.
클래스 드라이버는 읽기 및 쓰기 요청을 StrMiniReceiveStreamDataPacket 루틴에 전달합니다.
미니 드라이버는 다음과 같이 StrMiniReceiveStreamControlPacket 루틴을 등록합니다. 클래스 드라이버가 스트림을 열면 SRB_OPEN_STREAM 요청 블록을 미니 드라이버의 StrMiniReceiveDevicePacket 루틴에 전달합니다. 요청 패킷의 StreamObject 멤버는 HW_STREAM_OBJECT가리킵니다. 미니 드라이버는 StreamObject 가리키는 구조의 ReceiveControlPacket 멤버를 미니 드라이버의 StrMiniReceiveControlPacket 루틴으로 설정합니다.
요청 처리가 완료되면 미니 드라이버는 StreamClassStreamNotification(StreamRequestComplete, pSRB->StreamObject, pSRB)호출하여 구조를 클래스 드라이버로 다시 전달합니다.
Stream 클래스 SRB 참조관련 SRB 코드에 대한 정보를 참조하세요.
미니 드라이버는 요청 처리를 마치면 pSrb 작업의 반환 상태를 입력합니다.>상태. 미니 드라이버는 정상적인 성공적인 처리를 위해 STATUS_SUCCESS 입력해야 합니다. 미니 드라이버가 해당 명령 값을 지원하지 않는 경우 pSrb설정해야 합니다.>상태 STATUS_NOT_IMPLEMENTED. 미니 드라이버가 요청을 완료하지 못하게 하는 디바이스 하드웨어 오류가 있는 경우 pSrb 설정해야 합니다.>상태 STATUS_IO_DEVICE_ERROR. 특정 상황에서 루틴이 사용하는 다른 오류 코드는 특정 명령 코드와 함께 위에 나열되어 있습니다.
스트림 클래스 드라이버는 미니 드라이버의 StrMiniReceiveStreamDataPacket 루틴을 호출하여 특정 스트림에 대한 읽기 및 쓰기 요청을 처리합니다.
미니 드라이버는 다음과 같이 StrMiniReceiveStreamDataPacket 루틴을 등록합니다. 클래스 드라이버가 스트림을 열면 SRB_OPEN_STREAM 요청 블록을 미니 드라이버의 StrMiniReceiveDevicePacket 루틴에 전달합니다. 요청 패킷의 StreamObject는 HW_STREAM_OBJECT가리킵니다. 미니 드라이버는 pSrb가리키는 구조의 ReceiveDataPacket 멤버를 설정합니다.>StreamObject 미니 드라이버의 StrMiniReceiveDataPacket 루틴으로 설정합니다.
요청 처리가 완료되면 미니 드라이버는 StreamClassStreamNotification(StreamRequestComplete, pSRB->StreamObject, pSRB)호출하여 구조를 클래스 드라이버로 다시 전달합니다.
Stream 클래스 SRB 참조관련 SRB 코드에 대한 정보를 참조하세요.
미니 드라이버는 요청 처리를 마치면 pSrb 작업의 반환 상태를 입력합니다.>상태. 미니 드라이버는 정상적인 성공적인 처리를 위해 STATUS_SUCCESS 입력해야 합니다. 미니 드라이버가 해당 명령 값을 지원하지 않는 경우 pSrb설정해야 합니다.>상태 STATUS_NOT_IMPLEMENTED. 미니 드라이버가 요청을 완료하지 못하게 하는 디바이스 하드웨어 오류가 있는 경우 pSrb 설정해야 합니다.>상태 STATUS_IO_DEVICE_ERROR. 특정 상황에서 루틴이 사용하는 다른 오류 코드는 특정 명령 코드와 함께 위에 나열되어 있습니다.
요구 사항
요구 | 값 |
---|---|
대상 플랫폼 | 바탕 화면 |
헤더 | strmini.h(Strmini.h 포함) |