Get-DumpMode.ps1

function Get-XboxDumpMode
{    
    begin {
        if (-not (Test-Path Variable:\XapDmGetDumpMode)) {
            $Script:XapDmGetDumpMode = Add-Type -Name "Xap$(Get-Random)" '
            [DllImport("xbdm.dll")]
            static extern int DmGetDumpMode(out uint dumpMode);
            '
, '
            public enum XbdmDumpMode {
                Smart,
                Enabled,
                Disabled
            }'
,'
            public static XbdmDumpMode GetDumpMode() {
                uint dumpMode = 0;
                int result = DmGetDumpMode(out dumpMode);
                XbdmDumpMode mode = (XbdmDumpMode)dumpMode;
                return mode;
            }
            '
 -PassThru  | 
                Where-Object { -not $_.IsEnum } 
        }
    }
    
    process {
        $Script:XapDmGetDumpMode::GetDumpMode()
    }
    
    end {
    }
}