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
- adapter
Tipo: System.Int32
Número ordinal que denota el adaptador de pantalla que se va a consultar. AdapterListCollection.Default siempre es el adaptador de pantalla principal.
- checkType
Tipo: Microsoft.WindowsMobile.DirectX.Direct3D.DeviceType
Miembro de la enumeración DeviceType que identifica el tipo de dispositivo.
- 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
- Plena confianza para el llamador inmediato. Un código de confianza parcial no puede utilizar este miembro. Para obtener más información, vea Utilizar bibliotecas de código que no es de plena confianza.
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
Microsoft.WindowsMobile.DirectX.Direct3D (Espacio de nombres)