DXGKCB_ACQUIRE_POST_DISPLAY_OWNERSHIP Rückruffunktion (dispmprt.h)
Ein Kernelmodusanzeige-Miniporttreiber (KMD) ruft Dxgkrnl's DxgkCbAcquirePostDisplayOwnership Routine auf, um die Anzeigeinformationen vom aktuellen Power-On-Selbsttestgerät (POST) oder dem zuvor ausgeführten WDDM-Treiber abzurufen.
Der Treiber muss diese Anzeigeinformationen verwenden, um die Änderungsanforderung für den anfänglichen Modus zu optimieren, nachdem das Anzeigegerät gestartet wurde.
Syntax
DXGKCB_ACQUIRE_POST_DISPLAY_OWNERSHIP DxgkcbAcquirePostDisplayOwnership;
NTSTATUS DxgkcbAcquirePostDisplayOwnership(
[in] HANDLE DeviceHandle,
[out] PDXGK_DISPLAY_INFORMATION DisplayInfo
)
{...}
Parameter
[in] DeviceHandle
Ein Handle, das einen Anzeigeadapter darstellt. Die KMD hat dieses Handle zuvor im DeviceHandle Member der DXGKRNL_INTERFACE Struktur abgerufen, die an DxgkDdiStartDeviceübergeben wurde.
[out] DisplayInfo
Zeiger auf eine DXGK_DISPLAY_INFORMATION Struktur, die der KMD zugeordnet wird. Wenn DxgkCbAcquirePostDisplayOwnership STATUS_SUCCESS zurückgibt, enthält diese Struktur Anzeigeinformationen für das aktuelle Anzeigegerät, das für POST-Vorgänge verwendet wird.
Rückgabewert
DxgkCbAcquirePostDisplayOwnership gibt STATUS_SUCCESS zurück, wenn dies erfolgreich ist. Andernfalls wird eine der fehlercodes zurückgegeben, die in ntstatus.hdefiniert sind.
Bemerkungen
Durch aufrufen DXGKCB_ACQUIRE_POST_DISPLAY_OWNERSHIP wird sichergestellt, dass der Treiber die Anzeigeeinstellungen basierend auf der aktuellen oder aktuellsten Anzeigekonfiguration ordnungsgemäß initialisiert, insbesondere nach dem Systemstart, Geräte-Plug-In-Ereignissen oder dem Fortsetzen des Ruhezustands.
Zulässige Farbformate
Das element DisplayInfo->ColorFormat muss eine bitweise OR-Kombination aus den folgenden beiden D3DDDIFORMAT Formaten enthalten:
- D3DDDIFMT_X8R8G8B8
- D3DDDIFMT_A8R8G8B8
Wenn das Betriebssystem das D3DDDIFMT_R8G8B8-Format zurückgibt, sollte die KMD es ignorieren.
Video, in dem die Zielinitialisierung präsentiert wird
Es ist möglich, dass das DisplayInfo->TargetId Member nicht initialisiert wird. In diesem Fall ist der Bezeichner des Ziels "Video präsentieren" D3DDDI_ID_UNINITIALIZED. In der Regel tritt diese Situation nach einem Systemstart auf.
Ebenso ist es möglich, dass das DisplayInfo->AcpiId Mitglied nicht initialisiert wird. In diesem Fall weist der ACPI-Bezeichner AcpiId einen Wert von Null auf.
Bei einem Treiber-zu-Treiber-Upgrade hat der vorherige Treiber den Zielbezeichner und den ACPI-Bezeichner bereitgestellt.
Implementierungsrichtlinien
Ab WDDM 1.2 muss die KMD diese Richtlinien befolgen, wenn sie DxgkCbAcquirePostDisplayOwnershipaufruft:
Der Einstiegspunkt für die DxgkCbAcquirePostDisplayOwnership Funktion ist Teil der DXGKRNL_INTERFACE Struktur. Diese Struktur wird über den DxgkInterface Parameter an den Treiber zurückgegeben, wenn die DxgkDdiStartDevice-Funktion aufgerufen wird.
KMD kann optional DxgkCbAcquirePostDisplayOwnershipaufrufen. Das Betriebssystem ruft jedoch möglicherweise weiterhin dieDxgkDdiStopDeviceAndReleasePostDisplayOwnership Funktion auf, auch wenn der Treiber zuvor nicht DxgkCbAcquirePostDisplayOwnershipaufgerufen hat, und der Treiber muss diesen Aufruf entsprechend verarbeiten. Wenn die Der Treiber dxgkDdiStopDeviceAndReleasePostDisplayOwnership Funktion nicht erfolgreich abgeschlossen wird, ruft das Betriebssystem die DxgkDdiStopDevice--Funktion des Treibers auf.
Die KMD kann DxgkCbAcquirePostDisplayOwnership aufrufen, wenn das Gerät als Reaktion auf ein Plug and Play -Ereignis (PnP) gestartet wird. In diesem Fall muss der Treiber DxgkCbAcquirePostDisplayOwnership innerhalb des Kontexts des Aufrufs der DxgkDdiStartDevice--Funktion aufrufen.
Die KMD kann DxgkCbAcquirePostDisplayOwnership- aufrufen, wenn das Gerät einen PowerDeviceD0 Energiezustand nach einem Ruhezustand fortgesetzt. In diesem Fall muss der Treiber DxgkCbAcquirePostDisplayOwnership innerhalb des Kontexts des Aufrufs der DxgkDdiSetPowerState-Funktion aufrufen.
Die KMD darf nur die DxgkCbAcquirePostDisplayOwnership--Funktion aufrufen, wenn mindestens Windows 8 ausgeführt wird. Die KMD kann RtlGetVersion- aufrufen, um die Version des Betriebssystems zu ermitteln.
DxgkCbAcquirePostDisplayOwnership kann eine DXGK_DISPLAY_INFORMATION Struktur zurückgeben, wobei das Width Member auf Null festgelegt ist. Dieser Wert gibt an, dass das aktuelle Anzeigegerät nicht in der Lage ist, POST-Vorgänge auszuführen, oder das Betriebssystem verfügt nicht über die aktuellen Anzeigeinformationen für das aktuelle POST-Gerät.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows 8 (WDDM 1.2) |
mindestens unterstützte Server- | Windows Server 2012 |
Zielplattform- | Desktop |
Header- | dispmprt.h (include Dispmprt.h) |
IRQL- | <= APC_LEVEL |