DXGKDDI_ADD_DEVICE Rückruffunktion (dispmprt.h)
Die DxgkDdiAddDevice--Funktion erstellt einen Kontextblock für einen Anzeigeadapter und gibt einen Handle zurück, der den Anzeigeadapter darstellt.
Syntax
DXGKDDI_ADD_DEVICE DxgkddiAddDevice;
NTSTATUS DxgkddiAddDevice(
[in] IN_CONST_PDEVICE_OBJECT PhysicalDeviceObject,
[out] OUT_PPVOID MiniportDeviceContext
)
{...}
Parameter
[in] PhysicalDeviceObject
Ein Zeiger auf ein physisches Geräteobjekt (PDO), das einen Anzeigeadapter identifiziert.
[out] MiniportDeviceContext
Ein Zeiger auf eine Variable, die einen Handle empfängt, der vom Display miniport-Treiber erstellt wird, der den von PhysicalDeviceObjectidentifizierten Anzeigeadapter darstellt. Der Display miniport-Treiber kann NULL in diesem Parameter zurückgeben, um anzugeben, dass er den von PhysicalDeviceObjectidentifizierten Anzeigeadapter nicht unterstützt.
Rückgabewert
DxgkDdiAddDevice gibt STATUS_SUCCESS zurück, wenn dies erfolgreich ist; andernfalls wird eine der in Ntstatus.hdefinierten Fehlercodes zurückgegeben.
Bemerkungen
Die DxgkDdiAddDevice--Funktion weist einen privaten Kontextblock zu, der dem von PhysicalDeviceObjectidentifizierten Anzeigeadapter zugeordnet ist. Sie können sich den in MiniportDeviceCon text zurückgegebenen Handle als Handle für den Displayadapter oder als Handle für den Kontextblock vorstellen, der dem Displayadapter zugeordnet ist. Das DirectX-Grafik-Kernelsubsystem (Dxgkrnl.sys) liefert das Handle in nachfolgenden Aufrufen des Display-Miniporttreibers. Die folgende Liste enthält Beispiele für verschiedene Komponenten von Dxgkrnl.sys Übergeben des Handles an Funktionen, die vom Display Miniport-Treiber implementiert werden.
Der Anzeigeporttreiber stellt den Handle im MiniportDeviceContext Parameter der funktion DxgkDdiStartDevice bereit.
Der VidPN-Manager stellt den Handle im hAdapter Parameter der funktion DxgkDdiIsSupportedVidPn.
Der DirectX-Grafikkern stellt den Handle im hAdapter Parameter der DxgkDdiQueryAdapterInfo-Funktion dar.
Verwechseln Sie nicht durch die Tatsache, dass manchmal der Griff MiniportDeviceContext und manchmal ist es hAdapterbenannt. Verwechseln Sie dieses Handle nicht mit dem hDevice Parameter, der an bestimmte Display miniport-Treiberfunktionen übergeben wird.
DxgkDdiAddDevice wird jeweils für ein Gerät in der seriellen Serie aufgerufen. Sein Verhalten entspricht dem Standard-DRIVER_ADD_DEVICE Rückruf für WDM-Kernelmodustreiber.
Einige Grafikkarten verfügen über zwei oder mehr PCI-Funktionen, die die Rolle des Grafikkarten spielen. Beispielsweise implementieren bestimmte ältere Karten mehrere Ansichten, indem für jede Ansicht eine separate PCI-Funktion vorhanden ist. Der Anzeigeporttreiber ruft DxgkDdiAddDevice einmal für jede dieser PCI-Funktionen auf, zu dem der Miniporttreiber angeben kann, dass er die PCI-Funktion unterstützt (durch Festlegen MiniportDeviceContext auf einen Wert ungleich Null) oder dass die PCI-Funktion nicht unterstützt wird (durch Festlegen MiniportDeviceContext auf NULL). Um Informationen zu einer bestimmten PCI-Funktion zu erhalten, kann der Display-Miniporttreiber PhysicalDeviceObject an IoGetDevicePropertyübergeben.
Geben Sie in DxgkDdiRemoveDeviceIhren Kontextblock frei, und alle anderen Ressourcen, die Sie während DxgkDdiAddDevicezuordnen.
Die DxgkDdiAddDevice Funktion sollte seitenfähig gemacht werden.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows Vista |
Zielplattform- | Desktop |
Header- | dispmprt.h |
IRQL- | PASSIVE_LEVEL |