Add NewDelete operators locally as recommeded in C4595 warning and "stdunk.h"
This commit is contained in:
Родитель
27fa3e21b8
Коммит
42cd81689c
|
@ -95,10 +95,9 @@
|
|||
</ResourceCompile>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);$(DDK_INC_PATH);..</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>%(PreprocessorDefinitions);_USE_WAVERT_;SYSVAD_BTH_BYPASS</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>%(PreprocessorDefinitions);_USE_WAVERT_;SYSVAD_BTH_BYPASS;_NEW_DELETE_OPERATORS_</PreprocessorDefinitions>
|
||||
<ExceptionHandling>
|
||||
</ExceptionHandling>
|
||||
<DisableSpecificWarnings>4595;%(DisableSpecificWarnings)</DisableSpecificWarnings>
|
||||
</ClCompile>
|
||||
<Midl>
|
||||
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);$(DDK_INC_PATH);..</AdditionalIncludeDirectories>
|
||||
|
@ -112,10 +111,9 @@
|
|||
</ResourceCompile>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);$(DDK_INC_PATH);..</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>%(PreprocessorDefinitions);_USE_WAVERT_;SYSVAD_BTH_BYPASS</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>%(PreprocessorDefinitions);_USE_WAVERT_;SYSVAD_BTH_BYPASS;_NEW_DELETE_OPERATORS_</PreprocessorDefinitions>
|
||||
<ExceptionHandling>
|
||||
</ExceptionHandling>
|
||||
<DisableSpecificWarnings>4595;%(DisableSpecificWarnings)</DisableSpecificWarnings>
|
||||
</ClCompile>
|
||||
<Midl>
|
||||
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);$(DDK_INC_PATH);..</AdditionalIncludeDirectories>
|
||||
|
@ -129,10 +127,9 @@
|
|||
</ResourceCompile>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);$(DDK_INC_PATH);..</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>%(PreprocessorDefinitions);_USE_WAVERT_;SYSVAD_BTH_BYPASS</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>%(PreprocessorDefinitions);_USE_WAVERT_;SYSVAD_BTH_BYPASS;_NEW_DELETE_OPERATORS_</PreprocessorDefinitions>
|
||||
<ExceptionHandling>
|
||||
</ExceptionHandling>
|
||||
<DisableSpecificWarnings>4595;%(DisableSpecificWarnings)</DisableSpecificWarnings>
|
||||
</ClCompile>
|
||||
<Midl>
|
||||
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);$(DDK_INC_PATH);..</AdditionalIncludeDirectories>
|
||||
|
@ -146,10 +143,9 @@
|
|||
</ResourceCompile>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);$(DDK_INC_PATH);..</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>%(PreprocessorDefinitions);_USE_WAVERT_;SYSVAD_BTH_BYPASS</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>%(PreprocessorDefinitions);_USE_WAVERT_;SYSVAD_BTH_BYPASS;_NEW_DELETE_OPERATORS_</PreprocessorDefinitions>
|
||||
<ExceptionHandling>
|
||||
</ExceptionHandling>
|
||||
<DisableSpecificWarnings>4595;%(DisableSpecificWarnings)</DisableSpecificWarnings>
|
||||
</ClCompile>
|
||||
<Midl>
|
||||
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);$(DDK_INC_PATH);..</AdditionalIncludeDirectories>
|
||||
|
@ -167,6 +163,7 @@
|
|||
<ClCompile Include="mintopo.cpp" />
|
||||
<ClCompile Include="minwavert.cpp" />
|
||||
<ClCompile Include="minwavertstream.cpp" />
|
||||
<ClCompile Include="NewDelete.cpp" />
|
||||
<ClCompile Include="speakerhptopo.cpp" />
|
||||
<ClCompile Include="speakertopo.cpp" />
|
||||
</ItemGroup>
|
||||
|
@ -183,4 +180,4 @@
|
|||
<ClInclude Exclude="@(ClInclude)" Include="*.h;*.hpp;*.hxx;*.hm;*.inl;*.xsd" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
</Project>
|
||||
</Project>
|
||||
|
|
|
@ -855,9 +855,12 @@ NTSTATUS CMiniportWaveRTStream::SetCurrentWritePositionInternal(_In_ ULONG _ulC
|
|||
|
||||
//linear and presentation positions
|
||||
#pragma code_seg()
|
||||
NTSTATUS CMiniportWaveRTStream::GetPositions(_Out_ ULONGLONG *_pullLinearBufferPosition, _Out_ ULONGLONG *_pullPresentationPosition, LARGE_INTEGER *_pliQPCTime)
|
||||
NTSTATUS CMiniportWaveRTStream::GetPositions(
|
||||
_Out_opt_ ULONGLONG * _pullLinearBufferPosition,
|
||||
_Out_opt_ ULONGLONG * _pullPresentationPosition,
|
||||
_Out_opt_ LARGE_INTEGER * _pliQPCTime
|
||||
)
|
||||
{
|
||||
ASSERT (_pullLinearBufferPosition);
|
||||
DPF_ENTER(("[CMiniportWaveRTStream::GetPositions]"));
|
||||
|
||||
NTSTATUS ntStatus;
|
||||
|
@ -993,4 +996,3 @@ NTSTATUS CMiniportWaveRTStream::SetStreamCurrentWritePositionForLastBuffer(_In_
|
|||
|
||||
return ntStatus;
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,174 @@
|
|||
/*****************************************************************************
|
||||
* NewDelete.cpp - CPP placement new and delete operators implementation
|
||||
*****************************************************************************
|
||||
* Copyright (c) Microsoft Corporation All Rights Reserved
|
||||
*
|
||||
* Module Name:
|
||||
*
|
||||
* NewDelete.cpp
|
||||
*
|
||||
* Abstract:
|
||||
*
|
||||
* Definition of placement new and delete operators.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifdef _NEW_DELETE_OPERATORS_
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#include <wdm.h>
|
||||
}
|
||||
#else
|
||||
#include <wdm.h>
|
||||
#endif
|
||||
|
||||
#include "newDelete.h"
|
||||
#include "sysvad.h"
|
||||
|
||||
#pragma code_seg()
|
||||
/*****************************************************************************
|
||||
* Functions
|
||||
*/
|
||||
|
||||
/*****************************************************************************
|
||||
* ::new()
|
||||
*****************************************************************************
|
||||
* New function for creating objects with a specified allocation tag.
|
||||
*/
|
||||
PVOID operator new
|
||||
(
|
||||
size_t iSize,
|
||||
_When_((poolType & NonPagedPoolMustSucceed) != 0,
|
||||
__drv_reportError("Must succeed pool allocations are forbidden. "
|
||||
"Allocation failures cause a system crash"))
|
||||
POOL_TYPE poolType,
|
||||
ULONG tag
|
||||
)
|
||||
{
|
||||
PVOID result = ExAllocatePoolWithTag(poolType, iSize, tag);
|
||||
|
||||
if (result)
|
||||
{
|
||||
RtlZeroMemory(result,iSize);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* ::new()
|
||||
*****************************************************************************
|
||||
* New function for creating objects with a specified allocation tag.
|
||||
*/
|
||||
PVOID operator new
|
||||
(
|
||||
size_t iSize,
|
||||
_When_((poolType & NonPagedPoolMustSucceed) != 0,
|
||||
__drv_reportError("Must succeed pool allocations are forbidden. "
|
||||
"Allocation failures cause a system crash"))
|
||||
POOL_TYPE poolType
|
||||
)
|
||||
{
|
||||
PVOID result = ExAllocatePoolWithTag(poolType, iSize, SYSVAD_POOLTAG);
|
||||
|
||||
if (result)
|
||||
{
|
||||
RtlZeroMemory(result,iSize);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* ::delete()
|
||||
*****************************************************************************
|
||||
* Delete with tag function.
|
||||
*/
|
||||
void __cdecl operator delete
|
||||
(
|
||||
PVOID pVoid,
|
||||
ULONG tag
|
||||
)
|
||||
{
|
||||
if (pVoid)
|
||||
{
|
||||
ExFreePoolWithTag(pVoid, tag);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* ::delete()
|
||||
*****************************************************************************
|
||||
* Sized Delete function.
|
||||
*/
|
||||
void __cdecl operator delete
|
||||
(
|
||||
_Pre_maybenull_ __drv_freesMem(Mem) PVOID pVoid,
|
||||
_In_ size_t cbSize
|
||||
)
|
||||
{
|
||||
UNREFERENCED_PARAMETER(cbSize);
|
||||
|
||||
if (pVoid)
|
||||
{
|
||||
ExFreePoolWithTag(pVoid, SYSVAD_POOLTAG);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* ::delete()
|
||||
*****************************************************************************
|
||||
* Basic Delete function.
|
||||
*/
|
||||
void __cdecl operator delete
|
||||
(
|
||||
PVOID pVoid
|
||||
)
|
||||
{
|
||||
if (pVoid)
|
||||
{
|
||||
ExFreePoolWithTag(pVoid, SYSVAD_POOLTAG);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* ::delete()
|
||||
*****************************************************************************
|
||||
* Sized Array Delete function.
|
||||
*/
|
||||
void __cdecl operator delete[]
|
||||
(
|
||||
_Pre_maybenull_ __drv_freesMem(Mem) PVOID pVoid,
|
||||
_In_ size_t cbSize
|
||||
)
|
||||
{
|
||||
UNREFERENCED_PARAMETER(cbSize);
|
||||
|
||||
if (pVoid)
|
||||
{
|
||||
ExFreePoolWithTag(pVoid, SYSVAD_POOLTAG);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* ::delete()
|
||||
*****************************************************************************
|
||||
* Array Delete function.
|
||||
*/
|
||||
void __cdecl operator delete[]
|
||||
(
|
||||
_Pre_maybenull_ __drv_freesMem(Mem) PVOID pVoid
|
||||
)
|
||||
{
|
||||
if (pVoid)
|
||||
{
|
||||
ExFreePoolWithTag(pVoid, SYSVAD_POOLTAG);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,117 @@
|
|||
/*++
|
||||
|
||||
Copyright (c) Microsoft Corporation All Rights Reserved
|
||||
|
||||
Module Name:
|
||||
|
||||
NewDelete.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Declaration of placement new and delete operators.
|
||||
|
||||
//@@BEGIN_DDKSPLIT
|
||||
Revision History:
|
||||
|
||||
//@@END_DDKSPLIT
|
||||
|
||||
--*/
|
||||
#pragma once
|
||||
|
||||
#ifdef _NEW_DELETE_OPERATORS_
|
||||
|
||||
/*****************************************************************************
|
||||
* Functions
|
||||
*/
|
||||
|
||||
/*****************************************************************************
|
||||
* ::new()
|
||||
*****************************************************************************
|
||||
* New function for creating objects with a specified allocation tag and
|
||||
* pool type
|
||||
*/
|
||||
PVOID operator new
|
||||
(
|
||||
size_t iSize,
|
||||
_When_((poolType & NonPagedPoolMustSucceed) != 0,
|
||||
__drv_reportError("Must succeed pool allocations are forbidden. "
|
||||
"Allocation failures cause a system crash"))
|
||||
POOL_TYPE poolType,
|
||||
ULONG tag
|
||||
);
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* ::new()
|
||||
*****************************************************************************
|
||||
* New function for creating objects with a specified pool type.
|
||||
*/
|
||||
PVOID operator new
|
||||
(
|
||||
size_t iSize,
|
||||
_When_((poolType & NonPagedPoolMustSucceed) != 0,
|
||||
__drv_reportError("Must succeed pool allocations are forbidden. "
|
||||
"Allocation failures cause a system crash"))
|
||||
POOL_TYPE poolType
|
||||
);
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* ::delete()
|
||||
*****************************************************************************
|
||||
* Delete with tag function.
|
||||
*/
|
||||
void __cdecl operator delete
|
||||
(
|
||||
PVOID pVoid,
|
||||
ULONG tag
|
||||
);
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* ::delete()
|
||||
*****************************************************************************
|
||||
* Sized Delete function.
|
||||
*/
|
||||
void __cdecl operator delete
|
||||
(
|
||||
_Pre_maybenull_ __drv_freesMem(Mem) PVOID pVoid,
|
||||
_In_ size_t cbSize
|
||||
);
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* ::delete()
|
||||
*****************************************************************************
|
||||
* Basic Delete function.
|
||||
*/
|
||||
void __cdecl operator delete
|
||||
(
|
||||
PVOID pVoid
|
||||
);
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* ::delete()
|
||||
*****************************************************************************
|
||||
* Sized Array Delete function.
|
||||
*/
|
||||
void __cdecl operator delete[]
|
||||
(
|
||||
_Pre_maybenull_ __drv_freesMem(Mem) PVOID pVoid,
|
||||
_In_ size_t cbSize
|
||||
);
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* ::delete()
|
||||
*****************************************************************************
|
||||
* Array Delete function.
|
||||
*/
|
||||
void __cdecl operator delete[]
|
||||
(
|
||||
_Pre_maybenull_ __drv_freesMem(Mem) PVOID pVoid
|
||||
);
|
||||
|
||||
#endif//_NEW_DELETE_OPERATORS_
|
||||
|
|
@ -2081,6 +2081,7 @@ CKeywordDetector::CKeywordDetector()
|
|||
}
|
||||
|
||||
#pragma code_seg("PAGE")
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
VOID CKeywordDetector::ResetDetector()
|
||||
{
|
||||
PAGED_CODE();
|
||||
|
@ -2089,7 +2090,8 @@ VOID CKeywordDetector::ResetDetector()
|
|||
}
|
||||
|
||||
#pragma code_seg("PAGE")
|
||||
VOID CKeywordDetector::DownloadDetectorData(LONGLONG Data)
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
VOID CKeywordDetector::DownloadDetectorData(_In_ LONGLONG Data)
|
||||
{
|
||||
PAGED_CODE();
|
||||
|
||||
|
@ -2097,6 +2099,7 @@ VOID CKeywordDetector::DownloadDetectorData(LONGLONG Data)
|
|||
}
|
||||
|
||||
#pragma code_seg("PAGE")
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
LONGLONG CKeywordDetector::GetDetectorData()
|
||||
{
|
||||
PAGED_CODE();
|
||||
|
@ -2105,6 +2108,7 @@ LONGLONG CKeywordDetector::GetDetectorData()
|
|||
}
|
||||
|
||||
#pragma code_seg("PAGE")
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
VOID CKeywordDetector::ResetFifo()
|
||||
{
|
||||
PAGED_CODE();
|
||||
|
@ -2122,7 +2126,8 @@ VOID CKeywordDetector::ResetFifo()
|
|||
}
|
||||
|
||||
#pragma code_seg("PAGE")
|
||||
NTSTATUS CKeywordDetector::SetArmed(BOOL Arm)
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
NTSTATUS CKeywordDetector::SetArmed(_In_ BOOL Arm)
|
||||
{
|
||||
PAGED_CODE();
|
||||
|
||||
|
@ -2138,6 +2143,7 @@ NTSTATUS CKeywordDetector::SetArmed(BOOL Arm)
|
|||
}
|
||||
|
||||
#pragma code_seg("PAGE")
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
BOOL CKeywordDetector::GetArmed()
|
||||
{
|
||||
PAGED_CODE();
|
||||
|
@ -2146,6 +2152,7 @@ BOOL CKeywordDetector::GetArmed()
|
|||
}
|
||||
|
||||
#pragma code_seg("PAGE")
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
VOID CKeywordDetector::Run()
|
||||
{
|
||||
PAGED_CODE();
|
||||
|
@ -2157,6 +2164,7 @@ VOID CKeywordDetector::Run()
|
|||
}
|
||||
|
||||
#pragma code_seg("PAGE")
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
VOID CKeywordDetector::Stop()
|
||||
{
|
||||
PAGED_CODE();
|
||||
|
@ -2165,6 +2173,7 @@ VOID CKeywordDetector::Stop()
|
|||
}
|
||||
|
||||
#pragma code_seg("PAGE")
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
VOID CKeywordDetector::StartBufferingStream()
|
||||
{
|
||||
LARGE_INTEGER qpc;
|
||||
|
@ -2182,7 +2191,8 @@ VOID CKeywordDetector::StartBufferingStream()
|
|||
}
|
||||
|
||||
#pragma code_seg()
|
||||
VOID CKeywordDetector::DpcRoutine(LONGLONG PerformanceCounter, LONGLONG PerformanceFrequency)
|
||||
_IRQL_requires_min_(DISPATCH_LEVEL)
|
||||
VOID CKeywordDetector::DpcRoutine(_In_ LONGLONG PerformanceCounter, _In_ LONGLONG PerformanceFrequency)
|
||||
{
|
||||
LONGLONG currentPacket;
|
||||
LONGLONG packetsToQueue;
|
||||
|
|
|
@ -58,7 +58,7 @@ public:
|
|||
VOID Stop();
|
||||
|
||||
_IRQL_requires_min_(DISPATCH_LEVEL)
|
||||
VOID DpcRoutine(_In_ LONGLONG PeformanceCounter, _In_ LONGLONG PerformanceFrequency);
|
||||
VOID DpcRoutine(_In_ LONGLONG PerformanceCounter, _In_ LONGLONG PerformanceFrequency);
|
||||
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
NTSTATUS GetReadPacket(_In_ ULONG PacketsPerWaveRtBuffer, _In_ ULONG WaveRtBufferSize, _Out_writes_(WaveRtBufferSize) BYTE *WaveRtBuffer, _Out_ ULONG *PacketNumber, _Out_ ULONGLONG *PerformanceCount, _Out_ BOOL *MoreData);
|
||||
|
@ -297,9 +297,9 @@ public:
|
|||
);
|
||||
|
||||
public:
|
||||
VOID DpcRoutine(LONGLONG PeformanceCounter, LONGLONG PerformanceFrequency)
|
||||
VOID DpcRoutine(LONGLONG PerformanceCounter, LONGLONG PerformanceFrequency)
|
||||
{
|
||||
m_KeywordDetector.DpcRoutine(PeformanceCounter, PerformanceFrequency);
|
||||
m_KeywordDetector.DpcRoutine(PerformanceCounter, PerformanceFrequency);
|
||||
}
|
||||
|
||||
NTSTATUS PropertyHandlerEffectListRequest
|
||||
|
|
|
@ -784,7 +784,6 @@ Done:
|
|||
//
|
||||
// ISSUE-2014/10/4 Will this work correctly across pause/play?
|
||||
#pragma code_seg()
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
NTSTATUS CMiniportWaveRTStream::GetReadPacket
|
||||
(
|
||||
_Out_ ULONG *PacketNumber,
|
||||
|
@ -896,7 +895,6 @@ NTSTATUS CMiniportWaveRTStream::GetReadPacket
|
|||
}
|
||||
|
||||
#pragma code_seg()
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
NTSTATUS CMiniportWaveRTStream::SetWritePacket
|
||||
(
|
||||
_In_ ULONG PacketNumber,
|
||||
|
@ -989,7 +987,6 @@ NTSTATUS CMiniportWaveRTStream::SetWritePacket
|
|||
|
||||
//=============================================================================
|
||||
#pragma code_seg()
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
NTSTATUS CMiniportWaveRTStream::GetOutputStreamPresentationPosition
|
||||
(
|
||||
_Out_ KSAUDIO_PRESENTATION_POSITION *pPresentationPosition
|
||||
|
@ -1008,7 +1005,6 @@ NTSTATUS CMiniportWaveRTStream::GetOutputStreamPresentationPosition
|
|||
|
||||
//=============================================================================
|
||||
#pragma code_seg()
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
NTSTATUS CMiniportWaveRTStream::GetPacketCount
|
||||
(
|
||||
_Out_ ULONG *pPacketCount
|
||||
|
@ -1529,8 +1525,6 @@ TimerNotifyRT
|
|||
|
||||
_IRQL_limited_to_(DISPATCH_LEVEL);
|
||||
|
||||
qpc = KeQueryPerformanceCounter(&qpcFrequency);
|
||||
|
||||
CMiniportWaveRTStream* _this = (CMiniportWaveRTStream*)DeferredContext;
|
||||
|
||||
if (NULL == _this)
|
||||
|
@ -1540,6 +1534,9 @@ TimerNotifyRT
|
|||
|
||||
KIRQL oldIrql;
|
||||
KeAcquireSpinLock(&_this->m_PositionSpinLock, &oldIrql);
|
||||
|
||||
qpc = KeQueryPerformanceCounter(&qpcFrequency);
|
||||
|
||||
// Convert ticks to 100ns units.
|
||||
LONGLONG hnsCurrentTime = KSCONVERT_PERFORMANCE_TIME(_this->m_ullPerformanceCounterFrequency.QuadPart, qpc);
|
||||
|
||||
|
|
|
@ -253,9 +253,9 @@ private:
|
|||
|
||||
NTSTATUS GetPositions
|
||||
(
|
||||
_Out_ ULONGLONG *pullLinearBufferPosition,
|
||||
_Out_ ULONGLONG *pullPresentationPosition,
|
||||
_Out_ LARGE_INTEGER *_pliQPCTime
|
||||
_Out_opt_ ULONGLONG * _pullLinearBufferPosition,
|
||||
_Out_opt_ ULONGLONG * _pullPresentationPosition,
|
||||
_Out_opt_ LARGE_INTEGER * _pliQPCTime
|
||||
);
|
||||
|
||||
#ifdef SYSVAD_BTH_BYPASS
|
||||
|
|
|
@ -111,7 +111,7 @@
|
|||
</ResourceCompile>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);$(DDK_INC_PATH);..</AdditionalIncludeDirectories>
|
||||
<TreatWarningAsError>false</TreatWarningAsError>
|
||||
<TreatWarningAsError>true</TreatWarningAsError>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<PreprocessorDefinitions>%(PreprocessorDefinitions);_WIN32;UNICODE;_UNICODE;PC_IMPLEMENTATION</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>%(PreprocessorDefinitions);DEBUG_LEVEL=DEBUGLVL_TERSE</PreprocessorDefinitions>
|
||||
|
@ -184,7 +184,7 @@
|
|||
</Link>
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>%(PreprocessorDefinitions);_USE_WAVERT_;SYSVAD_BTH_BYPASS</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>%(PreprocessorDefinitions);_USE_IPortClsRuntimePower</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>%(PreprocessorDefinitions);_USE_IPortClsRuntimePower;_NEW_DELETE_OPERATORS_</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\EndpointsCommon</AdditionalIncludeDirectories>
|
||||
<ExceptionHandling>
|
||||
</ExceptionHandling>
|
||||
|
@ -206,7 +206,7 @@
|
|||
</Link>
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>%(PreprocessorDefinitions);_USE_WAVERT_;SYSVAD_BTH_BYPASS</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>%(PreprocessorDefinitions);_USE_IPortClsRuntimePower</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>%(PreprocessorDefinitions);_USE_IPortClsRuntimePower;_NEW_DELETE_OPERATORS_</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\EndpointsCommon</AdditionalIncludeDirectories>
|
||||
<ExceptionHandling>
|
||||
</ExceptionHandling>
|
||||
|
@ -228,7 +228,7 @@
|
|||
</Link>
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>%(PreprocessorDefinitions);_USE_WAVERT_;SYSVAD_BTH_BYPASS</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>%(PreprocessorDefinitions);_USE_IPortClsRuntimePower</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>%(PreprocessorDefinitions);_USE_IPortClsRuntimePower;_NEW_DELETE_OPERATORS_</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\EndpointsCommon</AdditionalIncludeDirectories>
|
||||
<ExceptionHandling>
|
||||
</ExceptionHandling>
|
||||
|
@ -250,7 +250,7 @@
|
|||
</Link>
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>%(PreprocessorDefinitions);_USE_WAVERT_;SYSVAD_BTH_BYPASS</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>%(PreprocessorDefinitions);_USE_IPortClsRuntimePower</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>%(PreprocessorDefinitions);_USE_IPortClsRuntimePower;_NEW_DELETE_OPERATORS_</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\EndpointsCommon</AdditionalIncludeDirectories>
|
||||
<ExceptionHandling>
|
||||
</ExceptionHandling>
|
||||
|
|
|
@ -111,7 +111,7 @@
|
|||
</ResourceCompile>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);$(DDK_INC_PATH);..</AdditionalIncludeDirectories>
|
||||
<TreatWarningAsError>false</TreatWarningAsError>
|
||||
<TreatWarningAsError>true</TreatWarningAsError>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<PreprocessorDefinitions>%(PreprocessorDefinitions);_WIN32;UNICODE;_UNICODE;PC_IMPLEMENTATION</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>%(PreprocessorDefinitions);DEBUG_LEVEL=DEBUGLVL_TERSE</PreprocessorDefinitions>
|
||||
|
@ -184,11 +184,10 @@
|
|||
</Link>
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>%(PreprocessorDefinitions);_USE_WAVERT_;SYSVAD_BTH_BYPASS</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>%(PreprocessorDefinitions);_USE_SingleComponentMultiFxStates</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>%(PreprocessorDefinitions);_USE_SingleComponentMultiFxStates;_NEW_DELETE_OPERATORS_</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\EndpointsCommon</AdditionalIncludeDirectories>
|
||||
<ExceptionHandling>
|
||||
</ExceptionHandling>
|
||||
<DisableSpecificWarnings>4595;%(DisableSpecificWarnings)</DisableSpecificWarnings>
|
||||
</ClCompile>
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>%(PreprocessorDefinitions);_USE_WAVERT_;SYSVAD_BTH_BYPASS</PreprocessorDefinitions>
|
||||
|
@ -207,11 +206,10 @@
|
|||
</Link>
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>%(PreprocessorDefinitions);_USE_WAVERT_;SYSVAD_BTH_BYPASS</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>%(PreprocessorDefinitions);_USE_SingleComponentMultiFxStates</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>%(PreprocessorDefinitions);_USE_SingleComponentMultiFxStates;_NEW_DELETE_OPERATORS_</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\EndpointsCommon</AdditionalIncludeDirectories>
|
||||
<ExceptionHandling>
|
||||
</ExceptionHandling>
|
||||
<DisableSpecificWarnings>4595;%(DisableSpecificWarnings)</DisableSpecificWarnings>
|
||||
</ClCompile>
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>%(PreprocessorDefinitions);_USE_WAVERT_;SYSVAD_BTH_BYPASS</PreprocessorDefinitions>
|
||||
|
@ -230,7 +228,7 @@
|
|||
</Link>
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>%(PreprocessorDefinitions);_USE_WAVERT_;SYSVAD_BTH_BYPASS</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>%(PreprocessorDefinitions);_USE_SingleComponentMultiFxStates</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>%(PreprocessorDefinitions);_USE_SingleComponentMultiFxStates;_NEW_DELETE_OPERATORS_</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\EndpointsCommon</AdditionalIncludeDirectories>
|
||||
<ExceptionHandling>
|
||||
</ExceptionHandling>
|
||||
|
@ -252,11 +250,10 @@
|
|||
</Link>
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>%(PreprocessorDefinitions);_USE_WAVERT_;SYSVAD_BTH_BYPASS</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>%(PreprocessorDefinitions);_USE_SingleComponentMultiFxStates</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>%(PreprocessorDefinitions);_USE_SingleComponentMultiFxStates;_NEW_DELETE_OPERATORS_</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\EndpointsCommon</AdditionalIncludeDirectories>
|
||||
<ExceptionHandling>
|
||||
</ExceptionHandling>
|
||||
<DisableSpecificWarnings>4595;%(DisableSpecificWarnings)</DisableSpecificWarnings>
|
||||
</ClCompile>
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>%(PreprocessorDefinitions);_USE_WAVERT_;SYSVAD_BTH_BYPASS</PreprocessorDefinitions>
|
||||
|
@ -295,4 +292,4 @@
|
|||
<ClInclude Exclude="@(ClInclude)" Include="*.h;*.hpp;*.hxx;*.hm;*.inl;*.xsd" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
</Project>
|
||||
</Project>
|
||||
|
|
|
@ -1059,6 +1059,9 @@ Return Value:
|
|||
IO_STACK_LOCATION *stack;
|
||||
PortClassDeviceContext *ext;
|
||||
|
||||
// Documented https://msdn.microsoft.com/en-us/library/windows/hardware/ff544039(v=vs.85).aspx
|
||||
// This method will be called in IRQL PASSIVE_LEVEL
|
||||
#pragma warning(suppress: 28118)
|
||||
PAGED_CODE();
|
||||
|
||||
ASSERT(_DeviceObject);
|
||||
|
|
|
@ -335,7 +335,7 @@ class CAdapterCommon :
|
|||
(
|
||||
_In_ PCWSTR ReferenceString,
|
||||
_In_ ULONG cPropertyCount,
|
||||
_In_reads_(cPropertyCount) const SYSVAD_DEVPROPERTY *pProperties,
|
||||
_In_reads_opt_(cPropertyCount) const SYSVAD_DEVPROPERTY *pProperties,
|
||||
_Out_ _At_(AudioSymbolicLinkName->Buffer, __drv_allocatesMem(Mem)) PUNICODE_STRING AudioSymbolicLinkName
|
||||
);
|
||||
};
|
||||
|
@ -771,27 +771,30 @@ NTSTATUS SysvadIoSetDeviceInterfacePropertyDataMultiple
|
|||
(
|
||||
_In_ PUNICODE_STRING SymbolicLinkName,
|
||||
_In_ ULONG cPropertyCount,
|
||||
_In_reads_(cPropertyCount) const SYSVAD_DEVPROPERTY *pProperties
|
||||
_In_reads_opt_(cPropertyCount) const SYSVAD_DEVPROPERTY *pProperties
|
||||
)
|
||||
{
|
||||
NTSTATUS ntStatus;
|
||||
|
||||
PAGED_CODE();
|
||||
|
||||
for (ULONG i = 0; i < cPropertyCount; i++)
|
||||
if (pProperties)
|
||||
{
|
||||
ntStatus = IoSetDeviceInterfacePropertyData(
|
||||
SymbolicLinkName,
|
||||
pProperties[i].PropertyKey,
|
||||
LOCALE_NEUTRAL,
|
||||
PLUGPLAY_PROPERTY_PERSISTENT,
|
||||
pProperties[i].Type,
|
||||
pProperties[i].BufferSize,
|
||||
pProperties[i].Buffer);
|
||||
|
||||
if (!NT_SUCCESS(ntStatus))
|
||||
for (ULONG i = 0; i < cPropertyCount; i++)
|
||||
{
|
||||
return ntStatus;
|
||||
ntStatus = IoSetDeviceInterfacePropertyData(
|
||||
SymbolicLinkName,
|
||||
pProperties[i].PropertyKey,
|
||||
LOCALE_NEUTRAL,
|
||||
PLUGPLAY_PROPERTY_PERSISTENT,
|
||||
pProperties[i].Type,
|
||||
pProperties[i].BufferSize,
|
||||
pProperties[i].Buffer);
|
||||
|
||||
if (!NT_SUCCESS(ntStatus))
|
||||
{
|
||||
return ntStatus;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1885,7 +1888,7 @@ CAdapterCommon::CreateAudioInterfaceWithProperties
|
|||
(
|
||||
_In_ PCWSTR ReferenceString,
|
||||
_In_ ULONG cPropertyCount,
|
||||
_In_reads_(cPropertyCount) const SYSVAD_DEVPROPERTY *pProperties,
|
||||
_In_reads_opt_(cPropertyCount) const SYSVAD_DEVPROPERTY *pProperties,
|
||||
_Out_ _At_(AudioSymbolicLinkName->Buffer, __drv_allocatesMem(Mem)) PUNICODE_STRING AudioSymbolicLinkName
|
||||
)
|
||||
/*++
|
||||
|
@ -3137,6 +3140,8 @@ Return Value:
|
|||
goto Done;
|
||||
}
|
||||
|
||||
// bthWorkTask->L.Size is set to sizeof(BthHfpWorkTask) in the Look Aside List configuration
|
||||
#pragma warning(suppress: 6386)
|
||||
RtlZeroMemory(bthWorkTask, sizeof(*bthWorkTask));
|
||||
bthWorkTask->Action = eBthHfpTaskStart;
|
||||
InitializeListHead(&bthWorkTask->ListEntry);
|
||||
|
@ -3234,6 +3239,8 @@ Return Value:
|
|||
goto Done;
|
||||
}
|
||||
|
||||
// bthWorkTask->L.Size is set to sizeof(BthHfpWorkTask) in the Look Aside List configuration
|
||||
#pragma warning(suppress: 6386)
|
||||
RtlZeroMemory(bthWorkTask, sizeof(*bthWorkTask));
|
||||
bthWorkTask->Action = eBthHfpTaskStop;
|
||||
InitializeListHead(&bthWorkTask->ListEntry);
|
||||
|
@ -6160,7 +6167,7 @@ BthHfpDevice::CreateCustomEndpointMinipair
|
|||
// Copy base minipair properties to new property list
|
||||
if (pBaseMinipair->TopoInterfacePropertyCount > 0)
|
||||
{
|
||||
RtlCopyMemory(pProperties, pBaseMinipair->TopoInterfaceProperties, pBaseMinipair->TopoInterfacePropertyCount * sizeof(SYSVAD_DEVPROPERTY));
|
||||
RtlCopyMemory(pProperties, pBaseMinipair->TopoInterfaceProperties, (cProperties - 1) * sizeof(SYSVAD_DEVPROPERTY));
|
||||
}
|
||||
|
||||
// Add friendly name property to the list
|
||||
|
|
|
@ -23,6 +23,7 @@ Abstract:
|
|||
#include <wdfminiport.h>
|
||||
#include <MsApoFxProxy.h>
|
||||
#include <Ntstrsafe.h>
|
||||
#include "NewDelete.h"
|
||||
|
||||
//=============================================================================
|
||||
// Defines
|
||||
|
|
Загрузка…
Ссылка в новой задаче