Manager.CheckDeviceType メソッド
[このドキュメントはプレビュー版であり、後のリリースで変更されることがあります。 空白のトピックは、プレースホルダーとして挿入されています。]
現在のアダプターで、ハードウェア アクセラレータ デバイスが使用できるかどうかを指定します。
名前空間: Microsoft.WindowsMobile.DirectX.Direct3D
アセンブリ: Microsoft.WindowsMobile.DirectX (Microsoft.WindowsMobile.DirectX.dll 内)
構文
'宣言
Public Shared Function CheckDeviceType ( _
adapter As Integer, _
checkType As DeviceType, _
displayFormat As Format, _
backBufferFormat As Format, _
windowed As Boolean _
) As Boolean
'使用
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
)
static member CheckDeviceType :
adapter:int *
checkType:DeviceType *
displayFormat:Format *
backBufferFormat:Format *
windowed:bool -> bool
パラメーター
- adapter
型 : System.Int32
照会するディスプレイ アダプターを示す序数。AdapterListCollection.Default は常に、プライマリ ディスプレイ アダプターです。
- checkType
型 : Microsoft.WindowsMobile.DirectX.Direct3D.DeviceType
デバイスの種類を識別する DeviceType 列挙体のメンバー。
- displayFormat
型 : Microsoft.WindowsMobile.DirectX.Direct3D.Format
デバイスの種類が確認されるアダプターの、表示モードの形式を示す Format 列挙体のメンバー。たとえば、一部のデバイスは、16 ビット/ピクセルのモードでのみ動作します。
- backBufferFormat
型 : Microsoft.WindowsMobile.DirectX.Direct3D.Format
バック バッファー形式。形式の詳細については、Format に関する説明を参照してください。この値は、レンダリング先形式のいずれかであることが必要です。DisplayMode の Device プロパティを使用すると、現在の形式を取得できます。ウィンドウ表示のアプリケーションについては、そのハードウェアでカラー変換がサポートされていれば、バック バッファー形式が表示モード形式と一致していなくてもかまいません。バック バッファー形式に使用できるセットには制約がありますが、ランタイムで、任意の有効なバック バッファー形式をデスクトップ形式として表示できます。また、デバイスは、通常 8 ビット/ピクセルのモードでは動作しないため、デスクトップ モードで動作することが必要です。
全画面表示アプリケーションでは、色変換を実行できません。ウィンドウ モードに Unknown の Format を指定できます。
- windowed
型 : System.Boolean
ウィンドウ表示のマルチサンプリングを照会する場合は true に設定します。全画面表示のマルチサンプリングを照会する場合は false に設定します。
戻り値
型 : System.Boolean
メソッドが正常に実行されて、デバイスがこのアダプターで使用できる場合は true。それ以外の場合は false。
解説
HAL (Hardware Abstraction Layer) 対応の種類のデバイスではハードウェア アクセラレータが必要です。CheckDeviceType メソッドを使用して HAL デバイスをサポートできるアプリケーションがあります。
全画面表示アプリケーションでは、アルファ チャネルを含む displayFormat を指定しないでください。指定すると呼び出しが失敗します。アルファ チャネルはバック バッファーには指定できますが、この 2 つの表示形式は他のすべての点では一致している必要があります。たとえば、displayFormat = X1R5G5B5 の場合、backBufferFormat の有効値には X1R5G5B5 や A1R5G5B5 などがありますが、R5G6B5 は有効ではありません。
例
特定の種類のデバイスがアダプターで使用できるかどうかを確認するコード例を次に示します。
PublicSub 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))
EndIfEndSubPublicFunction IsDeviceTypeOK(ByVal displayFmt As Format, ByVal backbufferFmt As Format) AsBooleanDim 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 formatIf Microsoft.WindowsMobile.DirectX.Direct3D.Manager.CheckDeviceType(ai.Adapter, DeviceType.Default, displayFmt, backbufferFmt, False) ThenReturnTrue ' if the call succeeds
EndIfReturnFalse ' otherwise fail. NOTE: HRESULT passed back in resultEndFunction
publicvoid 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));
}
publicbool 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 formatif (Microsoft.WindowsMobile.DirectX.Direct3D.Manager.CheckDeviceType(ai.Adapter, DeviceType.Default, displayFmt, backbufferFmt, false))
{
returntrue; // if the call succeeds
}
returnfalse; // otherwise fail. NOTE: HRESULT passed back in result
}
.NET Framework セキュリティ
- 直前の呼び出し元に対する完全な信頼。 このメンバーは、部分的に信頼されているコードから使用することはできません。 詳細については、「部分的に信頼される側のコードからライブラリの使用」を参照してください。
プラットフォーム
Windows CE, Windows Mobile for Smartphone, Windows Mobile for Pocket PC
.NET Framework および .NET Compact Framework では、各プラットフォームのすべてのバージョンはサポートしていません。 サポートされているバージョンについては、「.NET フレームワークのシステム要件」を参照してください。
バージョン情報
.NET Compact Framework
サポート対象 : 3.5、2.0