220 lines
3.7 KiB
C
220 lines
3.7 KiB
C
|
/*++
|
||
|
|
||
|
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
|
||
|
);
|