这篇教程C++ DPF_ENTER函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中DPF_ENTER函数的典型用法代码示例。如果您正苦于以下问题:C++ DPF_ENTER函数的具体用法?C++ DPF_ENTER怎么用?C++ DPF_ENTER使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了DPF_ENTER函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: PAGED_CODENTSTATUS CMiniportWaveRT::GetDeviceChannelCount( _In_ ULONG _ulNodeId, _In_ eChannelTargetType _targetType, _Out_ UINT32 *_pulChannelCount){ NTSTATUS ntStatus = STATUS_INVALID_DEVICE_REQUEST; PAGED_CODE (); ASSERT(_pulChannelCount); DPF_ENTER(("[CMiniportWaveRT::GetChannelCount]")); IF_TRUE_ACTION_JUMP(_ulNodeId != KSNODE_WAVE_AUDIO_ENGINE, ntStatus = STATUS_INVALID_DEVICE_REQUEST, Exit); switch (_targetType) { case eVolumeAttribute: ntStatus = GetVolumeChannelCount(_pulChannelCount); break; case eMuteAttribute: ntStatus = GetMuteChannelCount(_pulChannelCount); break; case ePeakMeterAttribute: ntStatus = GetPeakMeterChannelCount(_pulChannelCount); break; default: ntStatus = STATUS_INVALID_DEVICE_REQUEST; break; }Exit: return ntStatus;}
开发者ID:0xhack,项目名称:Windows-driver-samples,代码行数:34,
示例2: STDMETHODIMP_/*-----------------------------------------------------------------------------IMiniportAudioEngineNode::GetSupportedDeviceFormats Decscription: GetSupportedDeviceFormats get the complete format list supported by the hw Audio EngineParameters: _In_ _ulNodeId: node id for the target audio engine node _Out_ pFormat: a buffer pointer for receiving the supported device formats _In_ ulBufferSize: a pointer to a ULONG variable that has the size of the buffer pointed by pFormatReturn Value: Appropriate NTSTATUS codeCalled at PASSIVE_LEVELRemarks-------------------------------------------------------------------------------------------------------------------------*/STDMETHODIMP_(NTSTATUS) CMiniportWaveRT::GetSupportedDeviceFormats(_In_ ULONG _ulNodeId, _Out_ KSMULTIPLE_ITEM* _pFormat, _In_ ULONG _ulBufferSize){ PKSDATAFORMAT_WAVEFORMATEXTENSIBLE pDeviceFormats; ULONG cDeviceFormats; NTSTATUS ntStatus = STATUS_INVALID_DEVICE_REQUEST; PAGED_CODE (); ASSERT(_pFormat); DPF_ENTER(("[CMiniportWaveRT::GetSupportedDeviceFormats]")); IF_TRUE_ACTION_JUMP(_ulNodeId != KSNODE_WAVE_AUDIO_ENGINE, ntStatus = STATUS_INVALID_DEVICE_REQUEST, Exit); cDeviceFormats = GetAudioEngineSupportedDeviceFormats(&pDeviceFormats); KSMULTIPLE_ITEM *pKsMulti = static_cast<KSMULTIPLE_ITEM*>(_pFormat); pKsMulti->Size = sizeof(KSMULTIPLE_ITEM) + sizeof(KSDATAFORMAT_WAVEFORMATEXTENSIBLE) * cDeviceFormats; pKsMulti->Count = cDeviceFormats; IF_TRUE_ACTION_JUMP(_ulBufferSize < pKsMulti->Size, ntStatus = STATUS_BUFFER_TOO_SMALL, Exit); RtlCopyMemory((PVOID)(pKsMulti + 1), pDeviceFormats, sizeof(KSDATAFORMAT_WAVEFORMATEXTENSIBLE) * cDeviceFormats); ntStatus = STATUS_SUCCESS;Exit: return ntStatus;}
开发者ID:0xhack,项目名称:Windows-driver-samples,代码行数:50,
示例3: PAGED_CODECMiniportTopologySYSVAD::~CMiniportTopologySYSVAD( void)/*++Routine Description: Topology miniport destructorArguments:Return Value: void--*/{ PAGED_CODE(); DPF_ENTER(("[%s]",__FUNCTION__)); SAFE_RELEASE(m_AdapterCommon); SAFE_RELEASE(m_PortEvents);} // ~CMiniportTopologySYSVAD
开发者ID:0xhack,项目名称:Windows-driver-samples,代码行数:25,
示例4: PAGED_CODE//=============================================================================CMiniportWaveCyclicStream::~CMiniportWaveCyclicStream( void )/*++Routine Description: Destructor for wavecyclicstream Arguments:Return Value: NT status code.--*/{ PAGED_CODE(); DPF_ENTER(("[CMiniportWaveCyclicStream::~CMiniportWaveCyclicStream]")); if (NULL != m_pMiniportLocal) { m_pMiniportLocal->m_arInstanceCounts[m_ulPin] = 0; }} // ~CMiniportWaveCyclicStream
开发者ID:kcrazy,项目名称:winekit,代码行数:28,
示例5: target/*-----------------------------------------------------------------------------IMiniportAudioEngineNode::GetDeviceAttributeSteppings Decscription: When handling volume, mute, and meter related KS properties, Portcls calls this method, inside its property handlers, to know the property stepping information for the corresponding KS property.Parameters: _In_ _ulNodeId: node id for the target audio engine node _In_ _targetType: the query target (volume. mute, or peak meter) _Out_ _pKsPropMembHead: a pointer to a PKSPROPERTY_STEPPING_LONG variable for receiving returned channel count information _In_ ulBufferSize: a pointer to a ULONG variable that has the size of the buffer pointed by _pKsPropMembHeadReturn Value: Appropriate NTSTATUS codeCalled at PASSIVE_LEVELRemarks-------------------------------------------------------------------------------------------------------------------------*/NTSTATUS CMiniportWaveRT::GetDeviceAttributeSteppings(_In_ ULONG _ulNodeId, _In_ eChannelTargetType _targetType, _Out_ PKSPROPERTY_STEPPING_LONG _pKsPropMembHead, _In_ UINT32 _ui32DataSize){ NTSTATUS ntStatus = STATUS_INVALID_DEVICE_REQUEST; PAGED_CODE (); DPF_ENTER(("[CMiniportWaveRT::GetDeviceAttributeSteppings]")); IF_TRUE_ACTION_JUMP(_ulNodeId != KSNODE_WAVE_AUDIO_ENGINE, ntStatus = STATUS_INVALID_DEVICE_REQUEST, Exit); switch (_targetType) { case eVolumeAttribute: ntStatus = GetVolumeSteppings(_pKsPropMembHead, _ui32DataSize);; break; case eMuteAttribute: ntStatus = GetMuteSteppings(_pKsPropMembHead, _ui32DataSize);; break; case ePeakMeterAttribute: ntStatus = GetPeakMeterSteppings(_pKsPropMembHead, _ui32DataSize);; break; default: ntStatus = STATUS_INVALID_DEVICE_REQUEST; break; }Exit: return ntStatus;}
开发者ID:0xhack,项目名称:Windows-driver-samples,代码行数:52,
示例6: STDMETHODIMP_/*-----------------------------------------------------------------------------IMiniportStreamAudioEngineNode::SetStreamChannelVolume Decscription: When handling SET volume KS property for the device, Portcls calls this method, inside its property handlers, to set the current setting on the specific channel.Parameters: _In_ Channel: the target channel for this GET volume operation _In_ TargetVolume: volume value to set _In_ CurveType: type of curve to apply to the ramp _In_ CurveDuration: amount of time in hns over which to ramp the volumeReturn Value: Appropriate NTSTATUS codeCalled at PASSIVE_LEVELRemarks-------------------------------------------------------------------------------------------------------------------------*/STDMETHODIMP_(NTSTATUS) CMiniportWaveRTStream::SetStreamChannelVolume( _In_ UINT32 Channel, _In_ LONG TargetVolume, _In_ AUDIO_CURVE_TYPE CurveType, _In_ ULONGLONG CurveDuration){ UNREFERENCED_PARAMETER(CurveType); UNREFERENCED_PARAMETER(CurveDuration); NTSTATUS ntStatus = STATUS_INVALID_DEVICE_REQUEST; PAGED_CODE (); DPF_ENTER(("[CMiniportWaveRTStream::SetStreamChannelVolume]")); // Snap the volume level to our range of steppings. LONG lVolume = VOLUME_NORMALIZE_IN_RANGE(TargetVolume); // If Channel is ALL_CHANNELS_ID, then set the level on all channels if ( ALL_CHANNELS_ID == Channel ) { for (UINT32 i = 0; i < m_pWfExt->Format.nChannels; i++) { ntStatus = SetChannelVolume(i, lVolume); } } else { ntStatus = SetChannelVolume(Channel, lVolume); } return ntStatus;}
开发者ID:0xhack,项目名称:Windows-driver-samples,代码行数:58,
示例7: DPF_ENTERCMiniportWaveCyclicStreamMSVAD::TransferCount( void)/*++Routine Description: The TransferCount function returns the size in bytes of the buffer currently being transferred by a DMA object. Callers of TransferCount can run at any IRQL.Arguments:Return Value: ULONG - The return value is the size in bytes of the buffer currently being transferred.--*/{ DPF_ENTER(("[CMiniportWaveCyclicStreamMSVAD::TransferCount]")); return m_ulDmaBufferSize;}
开发者ID:wifigeek,项目名称:ohNet,代码行数:25,
示例8: PAGED_CODECMiniportTopologyMSVAD::~CMiniportTopologyMSVAD( void)/*++Routine Description: Topology miniport destructorArguments:Return Value: void--*/{ PAGED_CODE(); DPF_ENTER(("[%s]",__FUNCTION__)); if (m_AdapterCommon) { m_AdapterCommon->Release(); }} // ~CMiniportTopologyMSVAD
开发者ID:kcrazy,项目名称:winekit,代码行数:27,
示例9: target/*-----------------------------------------------------------------------------IMiniportStreamAudioEngineNode::GetStreamChannelCount Decscription: When handling volume, mute, and meter related KS properties, Portcls calls this method, inside its property handlers, to know the number of channels for the corresponding KS property.Parameters: _In_ _targetType: the query target (volume, mute, or peak meter) _Out_ _pulChannelCount: a pointer to a UINT32 variable for receiving returned channel count informationReturn Value: Appropriate NTSTATUS codeCalled at PASSIVE_LEVELRemarks-------------------------------------------------------------------------------------------------------------------------*/NTSTATUS CMiniportWaveRTStream::GetStreamChannelCount(_In_ eChannelTargetType _targetType,_Out_ UINT32 *_pulChannelCount){ NTSTATUS ntStatus = STATUS_INVALID_DEVICE_REQUEST; PAGED_CODE (); DPF_ENTER(("[CMiniportWaveRTStream::GetStreamChannelCount]")); switch (_targetType) { case eVolumeAttribute: ntStatus = GetVolumeChannelCount(_pulChannelCount); break; case eMuteAttribute: ntStatus = GetMuteChannelCount(_pulChannelCount); break; case ePeakMeterAttribute: ntStatus = GetPeakMeterChannelCount(_pulChannelCount); break; default: ntStatus = STATUS_INVALID_DEVICE_REQUEST; break; } return ntStatus;}
开发者ID:0xhack,项目名称:Windows-driver-samples,代码行数:49,
示例10: DPF_ENTERNTSTATUS CMiniportWaveRTStream::GetScoStreamNtStatus()/*++Routine Description: Checks if the Bluetooth SCO HFP connection is up, if not, an error is returned.Return Value: NT status code.--*/{ DPF_ENTER(("[CMiniportWaveRTStream::GetScoStreamNtStatus]")); NTSTATUS ntStatus = STATUS_INVALID_DEVICE_STATE; if (m_ScoOpen) { PBTHHFPDEVICECOMMON bthHfpDevice; ASSERT(m_pMiniport->IsBthHfpDevice()); bthHfpDevice = m_pMiniport->GetBthHfpDevice(); // weak ref. ASSERT(bthHfpDevice != NULL); if (bthHfpDevice->GetStreamStatus()) { ntStatus = STATUS_SUCCESS; } } return ntStatus; }
开发者ID:Realhram,项目名称:wdk81,代码行数:34,
示例11: STDMETHODIMP_//=============================================================================STDMETHODIMP_(ULONG) CMiniportWaveCyclicStream::SetNotificationFreq( IN ULONG Interval, OUT PULONG FramingSize)/*++Routine Description: The SetNotificationFrequency function sets the frequency at which notification interrupts are generated. Callers of SetNotificationFrequency should run at IRQL PASSIVE_LEVEL.Arguments: Interval - Value indicating the interval between interrupts, expressed in milliseconds FramingSize - Pointer to a ULONG value where the number of bytes equivalent to Interval milliseconds is returnedReturn Value: NT status code.--*/{ PAGED_CODE(); ASSERT(FramingSize); DPF_ENTER(("[CMiniportWaveCyclicStream::SetNotificationFreq]")); m_pMiniport->m_NotificationInterval = Interval; *FramingSize = m_usBlockAlign * m_pMiniport->m_SamplingFrequency * Interval / 1000; return m_pMiniport->m_NotificationInterval;} // SetNotificationFreq
开发者ID:duncanthrax,项目名称:scream,代码行数:33,
示例12: PropertyHandler_TopoFilter//=============================================================================NTSTATUS PropertyHandler_TopoFilter(IN PPCPROPERTY_REQUEST PropertyRequest)/*++Routine Description: Redirects property request to miniport objectArguments: PropertyRequest - Return Value: NT status code.--*/{ PAGED_CODE(); ASSERT(PropertyRequest); DPF_ENTER(("[PropertyHandler_TopoFilter]")); // PropertryRequest structure is filled by portcls. // MajorTarget is a pointer to miniport object for miniports. // NTSTATUS ntStatus = STATUS_INVALID_DEVICE_REQUEST; PCMiniportTopology pMiniport = (PCMiniportTopology)PropertyRequest->MajorTarget; if (IsEqualGUIDAligned(*PropertyRequest->PropertyItem->Set, KSPROPSETID_Jack) && (PropertyRequest->PropertyItem->Id == KSPROPERTY_JACK_DESCRIPTION)) { ntStatus = pMiniport->PropertyHandlerJackDescription(PropertyRequest); } return ntStatus;} // PropertyHandler_TopoFilter
开发者ID:duncanthrax,项目名称:scream,代码行数:31,
示例13: PAGED_CODECMiniportWaveCyclicStreamMSVAD::FreeBuffer( void)/*++Routine Description: The FreeBuffer function frees the buffer allocated by AllocateBuffer. Because the buffer is automatically freed when the DMA object is deleted, this function is not normally used. Callers of FreeBuffer should run at IRQL PASSIVE_LEVEL.Arguments:Return Value: void--*/{ PAGED_CODE(); DPF_ENTER(("[CMiniportWaveCyclicStreamMSVAD::FreeBuffer]")); if ( m_pvDmaBuffer ) { ExFreePoolWithTag( m_pvDmaBuffer, SNEAKY_POOLTAG ); m_ulDmaBufferSize = 0; }} // FreeBuffer
开发者ID:wifigeek,项目名称:ohNet,代码行数:31,
示例14: PAGED_CODE//=============================================================================STDMETHODIMP CMiniportTopology::GetDescription(OUT PPCFILTER_DESCRIPTOR * OutFilterDescriptor)/*++Routine Description: The GetDescription function gets a pointer to a filter description. It provides a location to deposit a pointer in miniport's description structure. This is the placeholder for the FromNode or ToNode fields in connections which describe connections to the filter's pins. Arguments: OutFilterDescriptor - Pointer to the filter description. Return Value: NT status code.--*/{ PAGED_CODE(); ASSERT(OutFilterDescriptor); DPF_ENTER(("[%s]",__FUNCTION__)); *OutFilterDescriptor = m_FilterDescriptor; return (STATUS_SUCCESS);} // GetDescription
开发者ID:duncanthrax,项目名称:scream,代码行数:26,
示例15: PAGED_CODE//=============================================================================NTSTATUSPropertyHandler_Topology( IN PPCPROPERTY_REQUEST PropertyRequest )/*++Routine Description: Redirects property request to miniport objectArguments: PropertyRequest - Return Value: NT status code.--*/{ PAGED_CODE(); ASSERT(PropertyRequest); DPF_ENTER(("[PropertyHandler_Topology]")); return ((PCMiniportTopology) (PropertyRequest->MajorTarget))->PropertyHandlerGeneric ( PropertyRequest );} // PropertyHandler_Topology
开发者ID:kcrazy,项目名称:winekit,代码行数:34,
示例16: PAGED_CODE//=============================================================================CMiniportWaveCyclicStream::~CMiniportWaveCyclicStream(void)/*++Routine Description: Destructor for wavecyclicstream Arguments:Return Value: NT status code.--*/{ PAGED_CODE(); DPF_ENTER(("[CMiniportWaveCyclicStream::~CMiniportWaveCyclicStream]")); if (m_pTimer) { KeCancelTimer(m_pTimer); ExFreePoolWithTag(m_pTimer, MSVAD_POOLTAG); } if (m_pDpc) { ExFreePoolWithTag( m_pDpc, MSVAD_POOLTAG ); } // Free the DMA buffer FreeBuffer(); if (NULL != m_pMiniport) { if (m_fCapture) { m_pMiniport->m_fCaptureAllocated = FALSE; } else { m_pMiniport->m_fRenderAllocated = FALSE; } }} // ~CMiniportWaveCyclicStream
开发者ID:duncanthrax,项目名称:scream,代码行数:36,
示例17: UNREFERENCED_PARAMETER//=============================================================================NTSTATUSCMiniportTopologyMSVAD::Init( IN PUNKNOWN UnknownAdapter_, IN PPORTTOPOLOGY Port_ )/*++Routine Description: Initializes the topology miniport.Arguments: UnknownAdapter - Port_ - Pointer to topology portReturn Value: NT status code.--*/{ UNREFERENCED_PARAMETER(Port_); PAGED_CODE(); ASSERT(UnknownAdapter_); ASSERT(Port_); DPF_ENTER(("[CMiniportTopologyMSVAD::Init]")); NTSTATUS ntStatus; ntStatus = UnknownAdapter_->QueryInterface ( IID_IAdapterCommon, (PVOID *) &m_AdapterCommon ); if (NT_SUCCESS(ntStatus)) { m_AdapterCommon->MixerReset(); } if (!NT_SUCCESS(ntStatus)) { // clean up AdapterCommon if (m_AdapterCommon) { m_AdapterCommon->Release(); m_AdapterCommon = NULL; } } return ntStatus;} // Init
开发者ID:kcrazy,项目名称:winekit,代码行数:59,
示例18: UNREFERENCED_PARAMETER//=============================================================================STDMETHODIMPCMiniportTopology::Init( IN PUNKNOWN UnknownAdapter, IN PRESOURCELIST ResourceList, IN PPORTTOPOLOGY Port_ )/*++Routine Description: The Init function initializes the miniport. Callers of this function should run at IRQL PASSIVE_LEVELArguments: UnknownAdapter - A pointer to the Iuknown interface of the adapter object. ResourceList - Pointer to the resource list to be supplied to the miniport during initialization. The port driver is free to examine the contents of the ResourceList. The port driver will not be modify the ResourceList contents. Port - Pointer to the topology port object that is linked with this miniport. Return Value: NT status code.--*/{ UNREFERENCED_PARAMETER(ResourceList); PAGED_CODE(); ASSERT(UnknownAdapter); ASSERT(Port_); DPF_ENTER(("[CMiniportTopology::Init]")); NTSTATUS ntStatus; ntStatus = CMiniportTopologyMSVAD::Init ( UnknownAdapter, Port_ ); if (NT_SUCCESS(ntStatus)) { m_FilterDescriptor = &MiniportFilterDescriptor; m_AdapterCommon->MixerMuxWrite(KSPIN_TOPO_MIC_SOURCE); } return ntStatus;} // Init
开发者ID:kcrazy,项目名称:winekit,代码行数:58,
示例19: operations/*-----------------------------------------------------------------------------IMiniportStreamAudioEngineNode::GetLfxState Description: Portcls calls this method to get a offload stream's Lfx state Parameters _Out_ pbEnable: a pointer to a BOOL value for receieving the returned LFX stateReturn Value: Appropriate NTSTATUS codeCalled at PASSIVE_LEVELRemarks The Lfx operations (on the offload stream) inside HW Audio Engine (such as src, dsp, and other special effects) are hidden from the software audio stack.So, the driver should return TRUE if any one of the effects is on and returns FALSE when all the opertations are off.-------------------------------------------------------------------------------------------------------------------------*/NTSTATUS CMiniportWaveRTStream::GetLfxState(_Out_ BOOL *_pbEnable){ PAGED_CODE (); DPF_ENTER(("[CMiniportWaveRTStream::GetLfxState]")); *_pbEnable = m_bLfxEnabled; return STATUS_SUCCESS;}
开发者ID:0xhack,项目名称:Windows-driver-samples,代码行数:30,
示例20: PAGED_CODE/*-----------------------------------------------------------------------------IMiniportStreamAudioEngineNode::GetStreamChannelVolume Decscription: When handling GET volume KS property for the device, Portcls calls this method, inside its property handlers, to get the current setting on the specific channel.Parameters: _In_ _uiChannel: the target channel for this GET volume operation _Out_ _pVolume: a pointer to a LONG variable for receiving returned informationReturn Value: Appropriate NTSTATUS codeCalled at PASSIVE_LEVELRemarks-------------------------------------------------------------------------------------------------------------------------*/NTSTATUS CMiniportWaveRTStream::GetStreamChannelVolume(_In_ UINT32 _uiChannel, _Out_ LONG *_pVolume){ PAGED_CODE (); DPF_ENTER(("[CMiniportWaveRTStream::GetStreamChannelVolume]")); *_pVolume = m_plVolumeLevel[_uiChannel]; return STATUS_SUCCESS;}
开发者ID:0xhack,项目名称:Windows-driver-samples,代码行数:32,
注:本文中的DPF_ENTER函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ DPR函数代码示例 C++ DPF函数代码示例 |