Compartir a través de


Manager.CheckDeviceType (Método)

Actualización: noviembre 2007

Especifica si se puede utilizar un tipo de dispositivo con aceleración de hardware en el adaptador actual.

Espacio de nombres:  Microsoft.WindowsMobile.DirectX.Direct3D
Ensamblado:  Microsoft.WindowsMobile.DirectX (en Microsoft.WindowsMobile.DirectX.dll)

Sintaxis

'Declaración
Public Shared Function CheckDeviceType ( _
    adapter As Integer, _
    checkType As DeviceType, _
    displayFormat As Format, _
    backBufferFormat As Format, _
    windowed As Boolean _
) As Boolean
'Uso
Dim adapter As Integer
Dim checkType As DeviceType
Dim displayFormat As Format
Dim backBufferFormat As Format
Dim windowed As Boolean
Dim returnValue As Boolean

returnValue = Manager.CheckDeviceType(adapter, _
    checkType, displayFormat, backBufferFormat, _
    windowed)
public static bool CheckDeviceType(
    int adapter,
    DeviceType checkType,
    Format displayFormat,
    Format backBufferFormat,
    bool windowed
)
public:
static bool CheckDeviceType(
    int adapter, 
    DeviceType checkType, 
    Format displayFormat, 
    Format backBufferFormat, 
    bool windowed
)
public static function CheckDeviceType(
    adapter : int, 
    checkType : DeviceType, 
    displayFormat : Format, 
    backBufferFormat : Format, 
    windowed : boolean
) : boolean

Parámetros

  • displayFormat
    Tipo: Microsoft.WindowsMobile.DirectX.Direct3D.Format
    Miembro de la enumeración Format que indica el formato del modo de presentación del adaptador para el que se comprueba el tipo de dispositivo. Por ejemplo, algunos dispositivos sólo funcionan en los modos de 16 bits por píxel.
  • backBufferFormat
    Tipo: Microsoft.WindowsMobile.DirectX.Direct3D.Format
    Formato del búfer de reserva. Para obtener más información sobre formatos, vea Format. Este valor debe ser uno de los formatos de destino de representación. La propiedad DisplayMode de Device se puede utilizar para obtener el formato actual. Para las aplicaciones en ventana, no es necesario que el formato del búfer de reserva coincida con el formato del modo de presentación si el hardware admite la conversión de color. El conjunto de los posibles formatos de búfer de reserva es limitado, pero el motor en tiempo de ejecución permite presentar cualquier formato de búfer de reserva válido en cualquier formato de escritorio. Además, el dispositivo debe poder funcionar en modo de escritorio, porque, normalmente, los dispositivos no funcionan en modos de 8 bits por píxel.
    Las aplicaciones de pantalla completa no pueden realizar la conversión de color. Puede especificar Unknown de Format para el modo de ventana.
  • windowed
    Tipo: System.Boolean
    Se establece en true para realizar consultas sobre el muestreo múltiple en ventana. Se establece en false para realizar consultas sobre el muestreo múltiple en pantalla completa.

Valor devuelto

Tipo: System.Boolean
Es true si el método se ejecuta correctamente y el dispositivo se puede utilizar en este adaptador; de lo contrario, es false.

Comentarios

Un tipo de dispositivo de capa de abstracción de hardware (HAL) requiere aceleración de hardware. Las aplicaciones que pueden utilizar el método CheckDeviceType para admitir un dispositivo de HAL están presentes.

Las aplicaciones de pantalla completa no deben especificar un displayFormat que contenga un canal alfa, porque la llamada generará un error. Tenga en cuenta que un canal alfa puede estar presente en el búfer de reserva, pero los dos formatos de presentación deben ser idénticos en todos los demás aspectos. Por ejemplo, si displayFormat = X1R5G5B5, los valores válidos de backBufferFormat incluyen X1R5G5B5 y A1R5G5B5, pero excluyen R5G6B5.

Ejemplos

En el ejemplo de código siguiente se muestra si un tipo de dispositivo determinado se puede utilizar en el adaptador.

Public Sub CheckDeviceType()

    ' Test some formats
    IsDeviceTypeOK(Format.X8R8G8B8, Format.A8R8G8B8)

    If result <> Fix(ResultCode.Success) Then
        System.Windows.Forms.MessageBox.Show(String.Format("The device check failed:  {0}", result))
    End If

End Sub

Public Function IsDeviceTypeOK(ByVal displayFmt As Format, ByVal backbufferFmt As Format) As Boolean
    Dim ai As AdapterInformation = Microsoft.WindowsMobile.DirectX.Direct3D.Manager.Adapters.Default

    ' Verify that the device can be used on the default adapter with the given surface format
    If Microsoft.WindowsMobile.DirectX.Direct3D.Manager.CheckDeviceType(ai.Adapter, DeviceType.Default, displayFmt, backbufferFmt, False) Then
        Return True ' if the call succeeds
    End If

    Return False
    ' otherwise fail.  NOTE: HRESULT passed back in result
End Function
public void CheckDeviceType()
{

    // Test some formats
    IsDeviceTypeOK(Format.X8R8G8B8, Format.A8R8G8B8);

    if (result != (int)ResultCode.Success)
        System.Windows.Forms.MessageBox.Show(String.Format("The device check failed:  {0}", result));
}

public bool IsDeviceTypeOK(Format displayFmt, Format backbufferFmt)
{
    AdapterInformation ai = Microsoft.WindowsMobile.DirectX.Direct3D.Manager.Adapters.Default;

    // Verify that the device can be used on the default adapter with the given surface format
    if (Microsoft.WindowsMobile.DirectX.Direct3D.Manager.CheckDeviceType(ai.Adapter, DeviceType.Default, displayFmt, backbufferFmt, false))
    {
        return true;    // if the call succeeds
    }

    return false;   // otherwise fail.  NOTE: HRESULT passed back in result
}

Permisos

Plataformas

Windows CE, Windows Mobile para Smartphone, Windows Mobile para Pocket PC

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Información de versión

.NET Compact Framework

Compatible con: 3.5, 2.0

Vea también

Referencia

Manager (Clase)

Manager (Miembros)

Microsoft.WindowsMobile.DirectX.Direct3D (Espacio de nombres)