/*++ Copyright (C) Microsoft Corporation, 1999 - 2000 Module Name: MsTpGuts.h Abstract: Header file MsTpGuts.c Last changed by: Author: Yee J. Wu Environment: Kernel mode only Revision History: $Revision:: $ $Date:: $ --*/ // // Device SRB // NTSTATUS AVCTapeInitialize( IN PDVCR_EXTENSION pDevExt, IN PPORT_CONFIGURATION_INFORMATION pConfigInfo, IN PAV_61883_REQUEST pAVReq ); NTSTATUS AVCTapeInitializeCompleted( IN PDVCR_EXTENSION pDevExt ); NTSTATUS AVCTapeGetStreamInfo( IN PDVCR_EXTENSION pDevExt, IN ULONG ulBytesToTransfer, IN PHW_STREAM_HEADER pStreamHeader, IN PHW_STREAM_INFORMATION pStreamInfo ); BOOL AVCTapeVerifyDataFormat( IN ULONG NumOfPins, PKSDATAFORMAT pKSDataFormatToVerify, ULONG StreamNumber, ULONG ulSupportedFrameSize, STREAM_INFO_AND_OBJ * paCurrentStrmInfo ); NTSTATUS AVCTapeGetDataIntersection( IN ULONG NumOfPins, IN ULONG ulStreamNumber, IN PKSDATARANGE pDataRange, OUT PVOID pDataFormatBuffer, IN ULONG ulSizeOfDataFormatBuffer, IN ULONG ulSupportedFrameSize, OUT ULONG *pulActualBytesTransferred, STREAM_INFO_AND_OBJ * paCurrentStrmInfo #ifdef SUPPORT_NEW_AVC , IN HANDLE hPlugLocalOut, IN HANDLE hPlugLocalIn #endif ); NTSTATUS AVCTapeOpenStream( IN PHW_STREAM_OBJECT pStrmObject, IN PKSDATAFORMAT pOpenFormat, IN PAV_61883_REQUEST pAVReq ); NTSTATUS AVCTapeCloseStream( IN PHW_STREAM_OBJECT pStrmObject, IN PKSDATAFORMAT pOpenFormat, IN PAV_61883_REQUEST pAVReq ); NTSTATUS DVChangePower( PDVCR_EXTENSION pDevExt, PAV_61883_REQUEST pAVReq, DEVICE_POWER_STATE NewPowerState ); NTSTATUS AVCTapeSurpriseRemoval( PDVCR_EXTENSION pDevExt, PAV_61883_REQUEST pAVReq ); NTSTATUS AVCTapeProcessPnPBusReset( PDVCR_EXTENSION pDevExt ); NTSTATUS AVCTapeUninitialize( IN PDVCR_EXTENSION pDevExt ); // // Stream SRB // NTSTATUS AVCTapeReqReadDataCR( IN PDEVICE_OBJECT DeviceObject, IN PIRP pIrp, IN PDRIVER_REQUEST pDriverReq ); NTSTATUS AVCTapeGetStreamState( PSTREAMEX pStrmExt, IN PDEVICE_OBJECT DeviceObject, PKSSTATE pStreamState, PULONG pulActualBytesTransferred ); NTSTATUS AVCTapeSetStreamState( PSTREAMEX pStrmExt, PDVCR_EXTENSION pDevExt, PAV_61883_REQUEST pAVReq, KSSTATE StreamState ); NTSTATUS DVGetStreamProperty( PHW_STREAM_REQUEST_BLOCK pSrb ); NTSTATUS DVSetStreamProperty( PHW_STREAM_REQUEST_BLOCK pSrb ); VOID AVCTapeCreateAbortWorkItem( PDVCR_EXTENSION pDevExt, PSTREAMEX pStrmExt ); VOID DVCRCancelOnePacket( IN PHW_STREAM_REQUEST_BLOCK pSrbToCancel ); VOID DVCRCancelAllPackets( IN PSTREAMEX pStrmExt, IN PDVCR_EXTENSION pDevExt ); VOID DVTimeoutHandler( IN PHW_STREAM_REQUEST_BLOCK pSrb ); NTSTATUS AVCTapeOpenCloseMasterClock ( PSTREAMEX pStrmExt, HANDLE hMasterClockHandle ); NTSTATUS AVCTapeIndicateMasterClock ( PSTREAMEX pStrmExt, HANDLE hMasterClockHandle ); VOID AVCTapeRcvDataPacket( IN PHW_STREAM_REQUEST_BLOCK pSrb ); VOID AVCTapeRcvControlPacket( IN PHW_STREAM_REQUEST_BLOCK pSrb ); NTSTATUS AVCTapeEventHandler( IN PHW_EVENT_DESCRIPTOR pEventDescriptor ); VOID AVCTapeSignalClockEvent( IN PKDPC Dpc, IN PSTREAMEX pStrmExt, IN PVOID SystemArgument1, IN PVOID SystemArgument2 ); VOID AVCTapeStreamClockRtn( IN PHW_TIME_CONTEXT TimeContext );