DXGKDDI_START_DEVICE コールバック関数 (dispmprt.h)
DxgkDdiStartDevice 関数は、I/O 要求を受信するディスプレイ アダプターを準備します。
構文
DXGKDDI_START_DEVICE DxgkddiStartDevice;
NTSTATUS DxgkddiStartDevice(
[in] IN_CONST_PVOID MiniportDeviceContext,
[in] IN_PDXGK_START_INFO DxgkStartInfo,
[in] IN_PDXGKRNL_INTERFACE DxgkInterface,
[out] OUT_PULONG NumberOfVideoPresentSources,
[out] OUT_PULONG NumberOfChildren
)
{...}
パラメーター
[in] MiniportDeviceContext
ディスプレイ アダプターに関連付けられているコンテキスト ブロックへのハンドル。 ディスプレイ ミニポート ドライバーの DxgkDdiAddDevice 関数は、以前は DirectX グラフィックス カーネル サブシステムにこのハンドルを提供しました。
[in] DxgkStartInfo
ディスプレイ ミニポート ドライバーが初期化 に必要な情報を含むDXGK_START_INFO構造体へのポインター。
[in] DxgkInterface
ディスプレイ ミニポート ドライバーが呼び出すことができる DirectX グラフィックス カーネル サブシステムによって実装される関数へのポインターを含む DXGKRNL_INTERFACE構造体への ポインター。
[out] NumberOfVideoPresentSources
ディスプレイ アダプターでサポートされているビデオ存在ソースの数を受け取る ULONG 変数へのポインター。 ビデオの現在のソースの詳細については、「 複数のモニターとビデオ の現在のネットワーク」を参照してください。
[out] NumberOfChildren
MiniportDeviceContext で表されるディスプレイ アダプターの子であるデバイスの合計数を受け取る ULONG 変数へのポインター。 この数には、潜在的な子デバイスと、現在存在する子デバイスが含まれている必要があります。 たとえば、ポータブル コンピューターをドッキングすると、追加のビデオ出力が使用可能になる場合、ポータブル コンピューターが現在ドッキングされているかどうかに関係なく、それらのビデオ出力をカウントする必要があります。 子デバイスの詳細については、「 ディスプレイ アダプターの子デバイス」を参照してください。
戻り値
DxgkDdiStartDevice は 、 成功した場合STATUS_SUCCESS を返します。それ以外の場合は、 Ntstatus.h で定義されているエラー コードのいずれかを返します。
注釈
DxgkDdiStartDevice 関数は、次のアクションを実行する必要があります。
- DxgkInterface パラメーターに渡されたDXGKRNL_INTERFACE構造体によって提供される関数ポインターを保存します。 また、DXGKRNL_INTERFACE構造体の DeviceHandle メンバーを保存します。DirectX グラフィックス カーネル サブシステムにコールバックするには、そのハンドルが必要です。
- DXGK_DEVICE_INFO構造体を割り当て、DxgkCbGetDeviceInformation を呼び出して、レジストリ パス、PDO、および MiniportDeviceContext で表される表示アダプターの翻訳されたリソースの一覧を含む、その構造体のメンバーを入力します。 DXGK_DEVICE_INFO構造体の選択したメンバー (ディスプレイ ミニポート ドライバーが後で必要とするメンバー) を、MiniportDeviceContext で表されるコンテキスト ブロックに保存します。
- DxgkCbMapMemory 関数を呼び出して、メモリ リソースをシステム空間にマップします。
- I/O 要求を受信するハードウェアを準備するために必要な状態で 、MiniportDeviceContext で表されるコンテキスト ブロックを初期化します。
- NumberOfVideoPresentSources を、MiniportDeviceContext で表されるディスプレイ アダプターでサポートされているビデオ存在ソースの数に設定します。
- NumberOfChildren を、MiniportDeviceContext で表されるディスプレイ アダプターの子である (または子になる可能性がある) デバイスの数に設定します。
- MiniportDeviceContext で表されるディスプレイ アダプターの割り込みを有効にします。
DxgkDdiStartDevice 関数をページング可能にする必要があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista 以降で使用できます。 |
対象プラットフォーム | デスクトップ |
Header | dispmprt.h |
IRQL | PASSIVE_LEVEL |