Freigeben über


DXGKDDI_START_DEVICE Rückruffunktion (dispmprt.h)

Die DxgkDdiStartDevice--Funktion bereitet einen Anzeigeadapter für den Empfang von E/A-Anforderungen vor.

Syntax

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
)
{...}

Parameter

[in] MiniportDeviceContext

Ein Handle zu einem Kontextblock, der einem Anzeigeadapter zugeordnet ist. Die DxgkDdiAddDevice-Funktion des Display-Miniporttreibers stellt dieses Handle zuvor für das DirectX-Grafik-Kernel-Subsystem bereit.

[in] DxgkStartInfo

Ein Zeiger auf eine DXGK_START_INFO Struktur, die Informationen enthält, die der Miniporttreiber für die Initialisierung benötigt.

[in] DxgkInterface

Ein Zeiger auf eine DXGKRNL_INTERFACE Struktur, die Zeiger auf Funktionen enthält, die vom DirectX-Grafik-Kernel-Subsystem implementiert werden, den der Anzeige-Miniport-Treiber aufrufen kann.

[out] NumberOfVideoPresentSources

Ein Zeiger auf eine ULONG- Variable, die die Anzahl der vom Displayadapter unterstützten Videoquellen empfängt. Weitere Informationen zu Quellen für Videos finden Sie unter Mehrere Monitore und Video Present Networks.

[out] NumberOfChildren

Ein Zeiger auf eine ULONG- Variable, die die Gesamtanzahl der Geräte empfängt, die untergeordnete Elemente des Anzeigeadapters sind, dargestellt durch MiniportDeviceContext. Diese Anzahl muss potenzielle untergeordnete Geräte sowie untergeordnete Geräte enthalten, die derzeit vorhanden sind. Wenn ein tragbarer Computer beispielsweise zusätzliche Videoausgaben zur Verfügung stellt, müssen diese Videoausgabeen gezählt werden, unabhängig davon, ob der tragbare Computer derzeit angedockt ist. Weitere Informationen zu untergeordneten Geräten finden Sie unter untergeordneten Geräte des Anzeigeadapters.

Rückgabewert

DxgkDdiStartDevice gibt STATUS_SUCCESS zurück, wenn dies erfolgreich ist; andernfalls wird eine der in Ntstatus.hdefinierten Fehlercodes zurückgegeben.

Bemerkungen

Die funktion DxgkDdiStartDevice muss die folgenden Aktionen ausführen:

  • Speichern Sie die von der DXGKRNL_INTERFACE Struktur bereitgestellten Funktionszeiger, die an den DxgkInterface Parameter übergeben werden. Speichern Sie außerdem das DeviceHandle- Mitglied der DXGKRNL_INTERFACE-Struktur. Sie benötigen dieses Handle, um den Aufruf in das DirectX-Grafik-Kernelsubsystem zurückzurufen.
  • Weisen Sie eine DXGK_DEVICE_INFO Struktur zu, und rufen Sie DxgkCbGetDeviceInformation auf, um die Member dieser Struktur auszufüllen, die den Registrierungspfad, die PDO und eine Liste der übersetzten Ressourcen für den Anzeigeadapter enthalten, dargestellt durch MiniportDeviceContext. Speichern Sie ausgewählte Elemente (die der Miniporttreiber später benötigt) der DXGK_DEVICE_INFO Struktur im Kontextblock, dargestellt durch MiniportDeviceContext.
  • Ordnen Sie Speicherressourcen in Den Systemraum zu, indem Sie die DxgkCbMapMemory-Funktion aufrufen.
  • Initialisieren Sie den Kontextblock, der durch MiniportDeviceContext- dargestellt wird, mit jedem Zustand, der erforderlich ist, um die Hardware für den Empfang von E/A-Anforderungen vorzubereiten.
  • Legen Sie NumberOfVideoPresentSources- auf die Anzahl der von der Anzeigeadapter unterstützten Videoquellen fest, die durch MiniportDeviceContext-dargestellt wird.
  • Legen Sie NumberOfChildren- auf die Anzahl der Geräte fest, die untergeordnete Elemente des Anzeigeadapters darstellen, dargestellt durch MiniportDeviceContext.
  • Aktivieren Sie Unterbrechungen für den Anzeigeadapter, dargestellt durch MiniportDeviceContext.
Ab Windows Display Driver Model (WDDM) 1.2 ruft der Miniporttreiber den DxgkCbAcquirePostDisplayOwnership--Funktion auf, um die Informationen zum Anzeigemodus abzurufen, der zuvor vom Firmware- und Systemladeprogramm festgelegt wurde. Wenn DxgkCbAcquirePostDisplayOwnership mit STATUS_SUCCESSzurückgegeben wird, bestimmt der Treiber, ob die Anzeige basierend auf den Informationen zum Anzeigemodus erneut initialisiert werden muss, die über den DisplayInfo Parameter zurückgegeben wurden. Andernfalls sollte der Treiber nicht davon ausgehen, dass derzeit ein bestimmter Anzeigemodus auf dem Gerät aktiviert ist, und er sollte die Anzeige initialisieren.

Die DxgkDdiStartDevice--Funktion sollte seitenfähig gemacht werden.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Verfügbar ab Windows Vista.
Zielplattform- Desktop
Header- dispmprt.h
IRQL- PASSIVE_LEVEL

Siehe auch

DXGKRNL_INTERFACE

DXGK_DEVICE_INFO

DxgkCbAcquirePostDisplayOwnership

DxgkCbGetDeviceInformation

DxgkCbMapMemory

DxgkDdiAddDevice

DxgkDdiStopDevice-