|
Server : Apache/2.4.58 (Win64) OpenSSL/3.1.3 PHP/8.2.12 System : Windows NT SERVER-PC 10.0 build 26200 (Windows 11) AMD64 User : ServerPC ( 0) PHP Version : 8.2.12 Disable Function : NONE Directory : C:/Windows/diagnostics/system/Audio/ |
Upload File : |
# Copyright � 2015, Microsoft Corporation. All rights reserved.
# :: ======================================================= ::
<#
DESCRIPTION:
TS_UnpluggedIn.ps1 checks whether audio device is plugged in on not.
ARGUMENTS:
$deviceType: Type of the audio device which needs to be verified.
$deviceID: ID of the audio device which needs to be verified.
RETURNS:
<&true> if audio device is plugged in otherwise <$false>
#>
#====================================================================================
# Initialize
#====================================================================================
PARAM($deviceType, $deviceID)
Import-LocalizedData -BindingVariable localizationString -FileName CL_LocalizationData
#====================================================================================
# Load Utilities
#====================================================================================
. .\CL_Utility.ps1
#====================================================================================
# Main
#====================================================================================
$result = $false
Write-DiagProgress -Activity $localizationString.unpluggedIn_progress
try
{
$AudioMethods = Get-AudioEndpoints
$EndPointList = @()
$EndPointList = $AudioMethods::GetAudioEndPointsbyType($deviceType)
foreach($device in $EndPointList)
{
if($device.DeviceId -eq $deviceID)
{
$result = -not(($device.State -band 8) -eq 8)
}
}
}
catch [System.Exception]
{
Write-ExceptionTelemetry "MAIN" $_
}
[string]$deviceTypeName = Get-DeviceTypeName $deviceType
if(-not($result))
{
Update-DiagRootCause -ID 'RC_UnpluggedIn' -Detected $true -Parameter @{'DeviceType' = $deviceTypeName; 'DeviceID' = $deviceID}
}
else
{
Update-DiagRootCause -ID 'RC_UnpluggedIn' -Detected $false -Parameter @{'DeviceType' = $deviceTypeName; 'DeviceID' = $deviceID}
}
return $result