|
|
/*++
Copyright (C) Microsoft Corporation, 1999 - 2000
Module Name:
MsdvGuts.h
Abstract:
Header file MsdvGuts.c
Last changed by: Author: Yee J. Wu
Environment:
Kernel mode only
Revision History:
$Revision:: $ $Date:: $
--*/
//
// Device SRB
//
NTSTATUS DVInitializeDevice( IN PDVCR_EXTENSION pDevExt, IN PPORT_CONFIGURATION_INFORMATION pConfigInfo, IN PAV_61883_REQUEST pAVReq );
NTSTATUS DVInitializeCompleted( IN PDVCR_EXTENSION pDevExt );
NTSTATUS DVGetStreamInfo( IN PDVCR_EXTENSION pDevExt, IN ULONG ulBytesToTransfer, IN PHW_STREAM_HEADER pStreamHeader, IN PHW_STREAM_INFORMATION pStreamInfo );
BOOL DVVerifyDataFormat( PKSDATAFORMAT pKSDataFormatToVerify, ULONG StreamNumber, ULONG ulSupportedFrameSize, HW_STREAM_INFORMATION * paCurrentStrmInfo );
NTSTATUS DVGetDataIntersection( IN ULONG ulStreamNumber, IN PKSDATARANGE pDataRange, OUT PVOID pDataFormatBuffer, IN ULONG ulSizeOfDataFormatBuffer, IN ULONG ulSupportedFrameSize, OUT ULONG *pulActualBytesTransferred, HW_STREAM_INFORMATION * paCurrentStrmInfo #ifdef SUPPORT_NEW_AVC
,IN HANDLE hPlug #endif
);
NTSTATUS DVOpenStream( IN PHW_STREAM_OBJECT pStrmObject, IN PKSDATAFORMAT pOpenFormat, IN PAV_61883_REQUEST pAVReq );
NTSTATUS DVCloseStream( 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 DVSurpriseRemoval( PDVCR_EXTENSION pDevExt, PAV_61883_REQUEST pAVReq );
NTSTATUS DVProcessPnPBusReset( PDVCR_EXTENSION pDevExt );
NTSTATUS DVUninitializeDevice( IN PDVCR_EXTENSION pDevExt );
//
// Stream SRB
//
NTSTATUS DVGetStreamState( PSTREAMEX pStrmExt, PKSSTATE pStreamState, PULONG pulActualBytesTransferred );
NTSTATUS DVStreamingStop( PSTREAMEX pStrmExt, PDVCR_EXTENSION pDevExt, PAV_61883_REQUEST pAVReq );
NTSTATUS DVStreamingStart( KSPIN_DATAFLOW ulDataFlow, PSTREAMEX pStrmExt, PDVCR_EXTENSION pDevExt );
NTSTATUS DVSetStreamState( 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 );
BOOL DVAbortStream( PDVCR_EXTENSION pDevExt, PSTREAMEX pStrmExt );
NTSTATUS DVStopCancelDisconnect( PSTREAMEX pStrmExt );
VOID DVCancelOnePacket( IN PHW_STREAM_REQUEST_BLOCK pSrbToCancel );
VOID DVCancelAllPackets( IN PSTREAMEX pStrmExt, IN PDVCR_EXTENSION pDevExt );
VOID DVTimeoutHandler( IN PHW_STREAM_REQUEST_BLOCK pSrb );
NTSTATUS DVOpenCloseMasterClock ( PSTREAMEX pStrmExt, HANDLE hMasterClockHandle );
NTSTATUS DVIndicateMasterClock ( PSTREAMEX pStrmExt, HANDLE hMasterClockHandle );
VOID DVRcvDataPacket( IN PHW_STREAM_REQUEST_BLOCK pSrb );
VOID DVRcvControlPacket( IN PHW_STREAM_REQUEST_BLOCK pSrb );
VOID StreamClockRtn( IN PHW_TIME_CONTEXT TimeContext );
VOID DVSignalClockEvent( IN PKDPC Dpc, IN PSTREAMEX pStrmExt, IN PVOID SystemArgument1, IN PVOID SystemArgument2 );
NTSTATUS DVEventHandler( IN PHW_EVENT_DESCRIPTOR pEventDescriptor );
|