Initial commit: Genpix SkyWalker-1 DVB-S driver source and DiSEqC docs
Includes original BDA driver source (headers, C++ implementation, INF installer files), DiSEqC implementation PDF with extracted markdown and SVG vector graphics.
This commit is contained in:
commit
f1674c21a3
44 changed files with 14302 additions and 0 deletions
|
|
@ -0,0 +1,546 @@
|
|||
/*****************************************************************************
|
||||
Company : Shree Ganesha Inc.
|
||||
File Name : SkyWalker1AntennaPin.cpp
|
||||
Author :
|
||||
Date :
|
||||
Purpose : This File Holds the Antenna Pin related declarations
|
||||
|
||||
Revision History:
|
||||
===============================================================================
|
||||
DATE VERSION AUTHOR REMARK
|
||||
===============================================================================
|
||||
|
||||
XXth April,2009 01 Initial Version
|
||||
|
||||
*****************************************************************************/
|
||||
/* Include the Library and Other header file */
|
||||
|
||||
#include "SkyWalker1Main.h" //Common For all the Definitions,
|
||||
//Declarations and Library Routines
|
||||
|
||||
/* End of Inclusion the Library and Other header file */
|
||||
|
||||
/* Macro Definitions */
|
||||
/* End of Macro Definitions */
|
||||
|
||||
/* Global & Static variables Declaration */
|
||||
/* End of Global & Static variables Declaration */
|
||||
|
||||
/* External Variable Declaration */
|
||||
/* End of External Variable Declaration */
|
||||
|
||||
/* Declare Enumerations here */
|
||||
/* End of Enumeration declaration */
|
||||
|
||||
/* Function Prototypes */
|
||||
PCHAR GetTunerPropertyString(ULONG ulTunerProperty);
|
||||
PCHAR GetTunerLnbPropertyString(ULONG ulTunerLnbProperty);
|
||||
/* End of Function prototype definitions */
|
||||
|
||||
/*****************************************************************************
|
||||
Function : CAntennaPin::IntersectDataFormat
|
||||
Description : Enables connection of the input pin with a upstream filter.
|
||||
IN PARAM :
|
||||
OUT PARAM : <NTSTATUS> Status of the IntersectDataFormat
|
||||
PreCondition : None
|
||||
PostCondtion : None
|
||||
Logic : NONE
|
||||
Assumption : NONE
|
||||
Note : This is called from the PASSIVE_LEVEL_IRQL
|
||||
Revision History: <REVISION HISTORY OF THE FUNCTION, MUST BE MAINTAINED BY MAINTAINER >
|
||||
*****************************************************************************/
|
||||
NTSTATUS CAntennaPin::IntersectDataFormat(
|
||||
IN PVOID pContext,
|
||||
IN PIRP pIoRequestPacket,
|
||||
IN PKSP_PIN Pin,
|
||||
IN PKSDATARANGE pDataRange,
|
||||
IN PKSDATARANGE pMatchingDataRange,
|
||||
IN ULONG ulDataBufferSize,
|
||||
OUT PVOID pData OPTIONAL,
|
||||
OUT PULONG pulDataSize
|
||||
)
|
||||
{
|
||||
NTSTATUS ntStatus = STATUS_SUCCESS;
|
||||
|
||||
PrintFunctionEntry(__FUNCTION__);
|
||||
|
||||
if ( ulDataBufferSize < sizeof(KS_DATARANGE_BDA_ANTENNA) )
|
||||
{
|
||||
*pulDataSize = sizeof( KS_DATARANGE_BDA_ANTENNA );
|
||||
ntStatus = STATUS_BUFFER_OVERFLOW;
|
||||
goto ExitDataFormat;
|
||||
}
|
||||
else if (pDataRange->FormatSize < sizeof (KS_DATARANGE_BDA_ANTENNA))
|
||||
{
|
||||
ntStatus = STATUS_NO_MATCH;
|
||||
goto ExitDataFormat;
|
||||
}
|
||||
else
|
||||
{
|
||||
*pulDataSize = sizeof( KS_DATARANGE_BDA_ANTENNA );
|
||||
RtlCopyMemory( pData, (PVOID)pDataRange, sizeof(KS_DATARANGE_BDA_ANTENNA));
|
||||
ntStatus = STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
ExitDataFormat:
|
||||
PrintFunctionExit(__FUNCTION__,ntStatus);
|
||||
return ntStatus;
|
||||
|
||||
}
|
||||
|
||||
/*****************************************************************************
|
||||
Function : CAntennaPin::PinSetDeviceState
|
||||
Description : An AVStream minidriver's AVStrMiniPinSetDeviceState
|
||||
routine is called when the state of a KSPIN structure is
|
||||
changed due to the arrival of a connection state property
|
||||
'set' IOCTL. Typically, this will be provided by minidrivers
|
||||
that need to change the state of hardware.
|
||||
|
||||
The KSSTATE enumeration lists possible states of a kernel
|
||||
streaming object.
|
||||
typedef enum {
|
||||
KSSTATE_STOP;
|
||||
KSSTATE_ACQUIRE;
|
||||
KSSTATE_PAUSE;
|
||||
KSSTATE_RUN;
|
||||
} KSSTATE;
|
||||
|
||||
Enumerators
|
||||
KSSTATE_STOP
|
||||
Indicates that the object is in minimum resource consumption mode.
|
||||
KSSTATE_ACQUIRE
|
||||
Indicates that the object is acquiring resources.
|
||||
KSSTATE_PAUSE
|
||||
Indicates that the object is preparing to make instant transition to Run state.
|
||||
KSSTATE_RUN
|
||||
Indicates that the object is actively streaming.
|
||||
|
||||
Because the most upstream pin (input pin) is the last
|
||||
to transition, use this pin's state to set the state
|
||||
of the filter.
|
||||
Also, release filter resouces if the pin's state
|
||||
transitions to stop, and acquire resources if the pin's
|
||||
state transitions from stop.
|
||||
IN PARAM : <PKSPIN> Pointer to the KSPIN structure for which state is changing.
|
||||
<KSSTATE> The target KSSTATE after receipt of the IOCTL.
|
||||
<KSSTATE> The previous KSSTATE.
|
||||
OUT PARAM : <NTSTATUS> Status of the PinSetDeviceState
|
||||
PreCondition : None
|
||||
PostCondtion : None
|
||||
Logic : NONE
|
||||
Assumption : NONE
|
||||
Note : NONE
|
||||
Revision History: <REVISION HISTORY OF THE FUNCTION, MUST BE MAINTAINED BY MAINTAINER >
|
||||
*****************************************************************************/
|
||||
NTSTATUS CAntennaPin::PinSetDeviceState(
|
||||
IN PKSPIN pKSPin,
|
||||
IN KSSTATE ToState,
|
||||
IN KSSTATE FromState
|
||||
)
|
||||
{
|
||||
NTSTATUS ntSetStatus = STATUS_SUCCESS;
|
||||
PKSDEVICE pKSDevice = NULL;
|
||||
CAntennaPin * pPin = NULL;
|
||||
CSkyWalker1Device * pDevice = NULL;
|
||||
|
||||
PrintFunctionEntry(__FUNCTION__);
|
||||
|
||||
//Obtain a pointer to the device object from
|
||||
//the passed in pointer to the KSPIN structure.
|
||||
pKSDevice = KsPinGetDevice( pKSPin);
|
||||
|
||||
//Obtain a pointer to the pin object from context member of
|
||||
//the passed in pointer to the KSPIN structure.
|
||||
pPin = reinterpret_cast<CAntennaPin*>(pKSPin->Context);
|
||||
|
||||
//Obtain a pointer to the device object from context member of
|
||||
//the retrieved pointer to the KSDEVICE structure.
|
||||
pDevice = reinterpret_cast<CSkyWalker1Device *>(pKSDevice->Context);
|
||||
|
||||
pPin->m_pFilter->SetDeviceState( pPin->m_KsState);
|
||||
|
||||
if ((ToState == KSSTATE_STOP) && (FromState != KSSTATE_STOP))
|
||||
{
|
||||
//Because the driver allocates resources on a filter wide basis,
|
||||
//inform the filter to release resources when the last pin
|
||||
//(that is, the most upstream pin) transitions to the stop state.
|
||||
//
|
||||
//The input pin is the last pin to transition to the stop state,
|
||||
//therefore inform the filter to release its resources.
|
||||
//
|
||||
ntSetStatus = pPin->m_pFilter->ReleaseResources();
|
||||
pPin->m_KsState = ToState;
|
||||
}
|
||||
else if ((ToState == KSSTATE_ACQUIRE) && (FromState == KSSTATE_STOP))
|
||||
{
|
||||
//Because the driver allocates resources on a filter wide basis,
|
||||
//inform the filter to acquire resources when the last pin
|
||||
//(that is, the most upstream pin) transitions from the stop state.
|
||||
//
|
||||
//The input pin is the last pin to transition from the stop state,
|
||||
//therefore inform the filter to acquire its resources.
|
||||
//
|
||||
ntSetStatus = pPin->m_pFilter->AcquireResources();
|
||||
if (NT_SUCCESS( ntSetStatus))
|
||||
{
|
||||
pPin->m_KsState = ToState;
|
||||
}
|
||||
}
|
||||
else if (ToState > KSSTATE_RUN)
|
||||
{
|
||||
|
||||
SkyWalkerDebugPrint(EXTREME_LEVEL,
|
||||
("Invalid Device State. ToState 0x%08x. FromState 0x%08x.",
|
||||
ToState, FromState));
|
||||
ntSetStatus = STATUS_INVALID_PARAMETER;
|
||||
}
|
||||
else
|
||||
{
|
||||
pPin->m_KsState = ToState;
|
||||
}
|
||||
|
||||
PrintDeviceChangeState(ToState,FromState);
|
||||
|
||||
PrintFunctionExit(__FUNCTION__,ntSetStatus);
|
||||
return ntSetStatus;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
Function : CAntennaPin::GetTunerProperty
|
||||
Description : Retrieves the value of the Tuner node Properties
|
||||
IN PARAM : IN PIRP pIoRequestPacket,
|
||||
IN PKSPROPERTY pKSProperty,
|
||||
OUT PULONG pulProperty
|
||||
OUT PARAM : <NTSTATUS> Status SUCCESS in case Valid Property request
|
||||
STATUS_INVALID_PARAMETER in case of Invalid property request
|
||||
Else error from the lower device
|
||||
PreCondition : None
|
||||
PostCondtion : Tuner propery read in case of successful execution
|
||||
Logic : NONE
|
||||
Assumption : NONE
|
||||
Note : NONE
|
||||
Revision History: <REVISION HISTORY OF THE FUNCTION, MUST BE MAINTAINED BY MAINTAINER >
|
||||
*****************************************************************************/
|
||||
NTSTATUS CAntennaPin::GetTunerProperty(
|
||||
IN PIRP pIoRequestPacket,
|
||||
IN PKSPROPERTY pKSProperty,
|
||||
OUT PULONG pulProperty
|
||||
)
|
||||
{
|
||||
NTSTATUS ntGetStatus = STATUS_SUCCESS;
|
||||
CAntennaPin * pPin = NULL;
|
||||
CTunerFilter* pFilter = NULL;
|
||||
BDATUNER_DEVICE_PARAMETER TunerProperty;
|
||||
|
||||
PrintFunctionEntry(__FUNCTION__);
|
||||
//Call the BDA support library to
|
||||
//validate that the node type is associated with the pin.
|
||||
|
||||
//The BdaValidateNodeProperty function validates that a node property
|
||||
//request is associated with a specific pin.
|
||||
ntGetStatus = BdaValidateNodeProperty( pIoRequestPacket, pKSProperty);
|
||||
if (NT_SUCCESS( ntGetStatus))
|
||||
{
|
||||
//Obtain a pointer to the pin object.
|
||||
|
||||
//Because the property dispatch table calls the CAntennaPin::GetTunerProperty()
|
||||
//method directly, the method must retrieve a pointer to the underlying pin object.
|
||||
pPin = reinterpret_cast<CAntennaPin *>(KsGetPinFromIrp(pIoRequestPacket)->Context);
|
||||
|
||||
//Retrieve the filter context from the pin context.
|
||||
pFilter = pPin->GetFilter();
|
||||
|
||||
ntGetStatus = pFilter->GetTunerProperty(&TunerProperty);
|
||||
//Retrieve the actual filter parameter.
|
||||
switch (pKSProperty->Id)
|
||||
{
|
||||
case KSPROPERTY_BDA_RF_TUNER_FREQUENCY:
|
||||
*pulProperty = TunerProperty.ulCarrierFrequency;
|
||||
break;
|
||||
case KSPROPERTY_BDA_RF_TUNER_FREQUENCY_MULTIPLIER:
|
||||
*pulProperty = TunerProperty.ulFrequencyMultiplier;
|
||||
break;
|
||||
case KSPROPERTY_BDA_RF_TUNER_BANDWIDTH:
|
||||
*pulProperty = TunerProperty.ulBandWidth;
|
||||
break;
|
||||
case KSPROPERTY_BDA_RF_TUNER_POLARITY:
|
||||
*pulProperty = TunerProperty.Polarity;
|
||||
break;
|
||||
case KSPROPERTY_BDA_RF_TUNER_RANGE:
|
||||
*pulProperty = TunerProperty.ulRange;
|
||||
break;
|
||||
case KSPROPERTY_BDA_RF_TUNER_TRANSPONDER:
|
||||
*pulProperty = TunerProperty.ulTransponder;
|
||||
break;
|
||||
default:
|
||||
ntGetStatus = STATUS_INVALID_PARAMETER;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
SkyWalkerDebugPrint(EXTREME_LEVEL,("Get : %s : %ul",GetTunerPropertyString(pKSProperty->Id),*pulProperty));
|
||||
|
||||
PrintFunctionExit(__FUNCTION__,ntGetStatus);
|
||||
return ntGetStatus;
|
||||
}
|
||||
|
||||
/*****************************************************************************
|
||||
Function : CAntennaPin::SetTunerProperty
|
||||
Description : Sets the value of the Tuner node Freq. Properties
|
||||
IN PARAM : IN PIRP pIoRequestPacket,
|
||||
IN PKSPROPERTY pKSProperty,
|
||||
OUT PULONG pulProperty
|
||||
OUT PARAM : <NTSTATUS> Status SUCCESS in case Valid Property request
|
||||
STATUS_INVALID_PARAMETER in case of Invalid property request
|
||||
Else error from the lower device
|
||||
PreCondition : None
|
||||
PostCondtion : Tuner Freq. property read in case of successful execution
|
||||
Logic : NONE
|
||||
Assumption : NONE
|
||||
Note : NONE
|
||||
Revision History: <REVISION HISTORY OF THE FUNCTION, MUST BE MAINTAINED BY MAINTAINER >
|
||||
*****************************************************************************/
|
||||
NTSTATUS CAntennaPin::SetTunerProperty(
|
||||
IN PIRP pIoRequestPacket,
|
||||
IN PKSPROPERTY pKSProperty,
|
||||
IN PULONG pulProperty
|
||||
)
|
||||
{
|
||||
NTSTATUS ntSetStatus = STATUS_SUCCESS;
|
||||
CAntennaPin * pPin;
|
||||
CTunerFilter* pFilter;
|
||||
|
||||
PrintFunctionEntry(__FUNCTION__);
|
||||
//Call the BDA support library to
|
||||
//validate that the node type is associated with the pin.
|
||||
|
||||
//The BdaValidateNodeProperty function validates that a node property
|
||||
//request is associated with a specific pin.
|
||||
ntSetStatus = BdaValidateNodeProperty( pIoRequestPacket, pKSProperty);
|
||||
if (NT_SUCCESS( ntSetStatus))
|
||||
{
|
||||
//Obtain a pointer to the pin object.
|
||||
|
||||
//Because the property dispatch table calls the CAntennaPin::SetTunerProperty()
|
||||
//method directly, the method must retrieve a pointer to the underlying pin object.
|
||||
pPin = reinterpret_cast<CAntennaPin *>(KsGetPinFromIrp(pIoRequestPacket)->Context);
|
||||
|
||||
//Retrieve the filter context from the pin context.
|
||||
pFilter = pPin->GetFilter();
|
||||
|
||||
SkyWalkerDebugPrint(EXTREME_LEVEL,("Set : %s : %lu\n",
|
||||
GetTunerPropertyString(pKSProperty->Id),
|
||||
*pulProperty));
|
||||
//Retrieve the actual filter parameter.
|
||||
switch (pKSProperty->Id)
|
||||
{
|
||||
case KSPROPERTY_BDA_RF_TUNER_FREQUENCY:
|
||||
ntSetStatus = pFilter->SetFrequency(*pulProperty);
|
||||
break;
|
||||
case KSPROPERTY_BDA_RF_TUNER_FREQUENCY_MULTIPLIER:
|
||||
ntSetStatus = pFilter->SetMultiplier(*pulProperty);
|
||||
break;
|
||||
case KSPROPERTY_BDA_RF_TUNER_BANDWIDTH:
|
||||
ntSetStatus = pFilter->SetBandwidth(*pulProperty);
|
||||
break;
|
||||
case KSPROPERTY_BDA_RF_TUNER_POLARITY:
|
||||
ntSetStatus = pFilter->SetPolarity((Polarisation) *pulProperty);
|
||||
break;
|
||||
case KSPROPERTY_BDA_RF_TUNER_RANGE:
|
||||
ntSetStatus = pFilter->SetRange(*pulProperty);
|
||||
break;
|
||||
case KSPROPERTY_BDA_RF_TUNER_TRANSPONDER:
|
||||
ntSetStatus = pFilter->SetTransponder(*pulProperty);
|
||||
break;
|
||||
default:
|
||||
ntSetStatus = STATUS_INVALID_PARAMETER;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
PrintFunctionExit(__FUNCTION__,ntSetStatus);
|
||||
return ntSetStatus;
|
||||
}
|
||||
|
||||
/*****************************************************************************
|
||||
Function : CAntennaPin::GetTunerLnbProperty
|
||||
Description : Retrieves the value of the Tuner Lnb node Properties
|
||||
IN PARAM : IN PIRP pIoRequestPacket,
|
||||
IN PKSPROPERTY pKSProperty,
|
||||
OUT PULONG pulProperty
|
||||
OUT PARAM : <NTSTATUS> Status SUCCESS in case Valid Property request
|
||||
STATUS_INVALID_PARAMETER in case of Invalid property request
|
||||
Else error from the lower device
|
||||
PreCondition : None
|
||||
PostCondtion : Tuner lnb propery read in case of successful execution
|
||||
Logic : NONE
|
||||
Assumption : NONE
|
||||
Note : NONE
|
||||
Revision History: <REVISION HISTORY OF THE FUNCTION, MUST BE MAINTAINED BY MAINTAINER >
|
||||
*****************************************************************************/
|
||||
NTSTATUS CAntennaPin::GetTunerLnbProperty(
|
||||
IN PIRP pIoRequestPacket,
|
||||
IN PKSPROPERTY pKSProperty,
|
||||
OUT PULONG pulProperty
|
||||
)
|
||||
{
|
||||
NTSTATUS ntGetStatus = STATUS_SUCCESS;
|
||||
CAntennaPin * pPin;
|
||||
CTunerFilter* pFilter;
|
||||
BDATUNER_DEVICE_PARAMETER LnbProperty;
|
||||
|
||||
PrintFunctionEntry(__FUNCTION__);
|
||||
//Call the BDA support library to
|
||||
//validate that the node type is associated with the pin.
|
||||
|
||||
//The BdaValidateNodeProperty function validates that a node property
|
||||
//request is associated with a specific pin.
|
||||
ntGetStatus = BdaValidateNodeProperty( pIoRequestPacket, pKSProperty);
|
||||
if (NT_SUCCESS( ntGetStatus))
|
||||
{
|
||||
//Obtain a pointer to the pin object.
|
||||
|
||||
//Because the property dispatch table calls the CAntennaPin::GetTunerProperty()
|
||||
//method directly, the method must retrieve a pointer to the underlying pin object.
|
||||
pPin = reinterpret_cast<CAntennaPin *>(KsGetPinFromIrp(pIoRequestPacket)->Context);
|
||||
|
||||
//Retrieve the filter context from the pin context.
|
||||
pFilter = pPin->GetFilter();
|
||||
|
||||
ntGetStatus = pFilter->GetTunerProperty(&LnbProperty);
|
||||
|
||||
//Retrieve the actual filter parameter.
|
||||
switch (pKSProperty->Id)
|
||||
{
|
||||
case KSPROPERTY_BDA_LNB_LOF_LOW_BAND:
|
||||
*pulProperty = LnbProperty.ulLnbLowLOFrequency;
|
||||
break;
|
||||
case KSPROPERTY_BDA_LNB_LOF_HIGH_BAND:
|
||||
*pulProperty = LnbProperty.ulLnbHighLOFrequency;
|
||||
break;
|
||||
case KSPROPERTY_BDA_LNB_SWITCH_FREQUENCY:
|
||||
*pulProperty = LnbProperty.ulLnbSwitchFrequency;
|
||||
break;
|
||||
default:
|
||||
ntGetStatus = STATUS_INVALID_PARAMETER;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
SkyWalkerDebugPrint(EXTREME_LEVEL,("Get : %s : %ul",GetTunerLnbPropertyString(pKSProperty->Id),*pulProperty));
|
||||
|
||||
PrintFunctionExit(__FUNCTION__,ntGetStatus);
|
||||
return ntGetStatus;
|
||||
}
|
||||
|
||||
/*****************************************************************************
|
||||
Function : CAntennaPin::SetTunerLnbProperty
|
||||
Description : Sets the value of the Tuner Lnb node Properties
|
||||
IN PARAM : IN PIRP pIoRequestPacket,
|
||||
IN PKSPROPERTY pKSProperty,
|
||||
IN PULONG pulProperty
|
||||
OUT PARAM : <NTSTATUS> Status SUCCESS in case Valid Property request
|
||||
STATUS_INVALID_PARAMETER in case of Invalid property request
|
||||
Else error from the lower device
|
||||
PreCondition : None
|
||||
PostCondtion : Tuner propery Set in case of successful execution
|
||||
Logic : NONE
|
||||
Assumption : NONE
|
||||
Note : NONE
|
||||
Revision History: <REVISION HISTORY OF THE FUNCTION, MUST BE MAINTAINED BY MAINTAINER >
|
||||
*****************************************************************************/
|
||||
NTSTATUS CAntennaPin::SetTunerLnbProperty(
|
||||
IN PIRP pIoRequestPacket,
|
||||
IN PKSPROPERTY pKSProperty,
|
||||
IN PULONG pulProperty
|
||||
)
|
||||
{
|
||||
NTSTATUS ntSetStatus = STATUS_SUCCESS;
|
||||
CAntennaPin * pPin;
|
||||
CTunerFilter* pFilter;
|
||||
|
||||
PrintFunctionEntry(__FUNCTION__);
|
||||
//Call the BDA support library to
|
||||
//validate that the node type is associated with the pin.
|
||||
|
||||
//The BdaValidateNodeProperty function validates that a node property
|
||||
//request is associated with a specific pin.
|
||||
ntSetStatus = BdaValidateNodeProperty( pIoRequestPacket, pKSProperty);
|
||||
if (NT_SUCCESS( ntSetStatus))
|
||||
{
|
||||
//Obtain a pointer to the pin object.
|
||||
|
||||
//Because the property dispatch table calls the CAntennaPin::SetTunerProperty()
|
||||
//method directly, the method must retrieve a pointer to the underlying pin object.
|
||||
|
||||
pPin = reinterpret_cast<CAntennaPin *>(KsGetPinFromIrp(pIoRequestPacket)->Context);
|
||||
|
||||
//Retrieve the filter context from the pin context.
|
||||
pFilter = pPin->GetFilter();
|
||||
|
||||
SkyWalkerDebugPrint(EXTREME_LEVEL,("Set : %s : %lu(%l)",
|
||||
GetTunerLnbPropertyString(pKSProperty->Id),
|
||||
*pulProperty,
|
||||
*((LONG*)(pulProperty))));
|
||||
//Retrieve the actual filter parameter.
|
||||
switch (pKSProperty->Id)
|
||||
{
|
||||
case KSPROPERTY_BDA_LNB_LOF_LOW_BAND:
|
||||
ntSetStatus = pFilter->SetLowLOFrequency(*pulProperty);
|
||||
break;
|
||||
case KSPROPERTY_BDA_LNB_LOF_HIGH_BAND:
|
||||
ntSetStatus = pFilter->SetHighLOFrequency(*pulProperty);
|
||||
break;
|
||||
case KSPROPERTY_BDA_LNB_SWITCH_FREQUENCY:
|
||||
ntSetStatus = pFilter->SetSwitchFrequency(*pulProperty);
|
||||
break;
|
||||
default:
|
||||
ntSetStatus = STATUS_INVALID_PARAMETER;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
PrintFunctionExit(__FUNCTION__,ntSetStatus);
|
||||
return ntSetStatus;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
PCHAR GetTunerPropertyString(ULONG ulTunerProperty)
|
||||
{
|
||||
switch(ulTunerProperty)
|
||||
{
|
||||
case KSPROPERTY_BDA_RF_TUNER_FREQUENCY:
|
||||
return "KSPROPERTY_BDA_RF_TUNER_FREQUENCY";
|
||||
case KSPROPERTY_BDA_RF_TUNER_POLARITY:
|
||||
return "KSPROPERTY_BDA_RF_TUNER_POLARITY";
|
||||
case KSPROPERTY_BDA_RF_TUNER_RANGE:
|
||||
return "KSPROPERTY_BDA_RF_TUNER_RANGE";
|
||||
case KSPROPERTY_BDA_RF_TUNER_TRANSPONDER:
|
||||
return "KSPROPERTY_BDA_RF_TUNER_TRANSPONDER";
|
||||
case KSPROPERTY_BDA_RF_TUNER_BANDWIDTH:
|
||||
return "KSPROPERTY_BDA_RF_TUNER_BANDWIDTH";
|
||||
case KSPROPERTY_BDA_RF_TUNER_FREQUENCY_MULTIPLIER:
|
||||
return "KSPROPERTY_BDA_RF_TUNER_FREQUENCY_MULTIPLIER";
|
||||
default:
|
||||
return "KSPROPERTY_BDA_INVALID_PROPERTY";
|
||||
}
|
||||
}
|
||||
|
||||
PCHAR GetTunerLnbPropertyString(ULONG ulTunerLnbProperty)
|
||||
{
|
||||
switch(ulTunerLnbProperty)
|
||||
{
|
||||
case KSPROPERTY_BDA_LNB_LOF_LOW_BAND:
|
||||
return "KSPROPERTY_BDA_LNB_LOF_LOW_BAND";
|
||||
case KSPROPERTY_BDA_LNB_LOF_HIGH_BAND:
|
||||
return "KSPROPERTY_BDA_LNB_LOF_HIGH_BAND";
|
||||
case KSPROPERTY_BDA_LNB_SWITCH_FREQUENCY:
|
||||
return "KSPROPERTY_BDA_LNB_SWITCH_FREQUENCY";
|
||||
default:
|
||||
return "KSPROPERTY_BDA_INVALID_PROPERTY";
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue