Überprüfen privater Daten, die vom Benutzermodus in den Kernelmodus gesendet werden
Ein Anzeigeminiporttreiber muss alle privaten Daten überprüfen, die vom Anzeigetreiber für den Benutzermodus gesendet werden, um zu verhindern, dass der Miniporttreiber abstürzt, nicht reagiert (hängt), den Arbeitsspeicher behauptet oder beschädigt, wenn die privaten Daten ungültig sind. Da das Betriebssystem jedoch Hardware zurücksetzt, die "hängt", kann der Display-Miniporttreiber Anweisungen an die Grafikverarbeitungseinheit (GPU) senden, die dazu führen, dass die GPU "hängen bleibt". Private Daten können eines der folgenden Elemente enthalten:
Befehlspufferinhalt, der an die DxgkDdiRender- oder DxgkDdiRenderKm-Funktion des Miniporttreibers im pCommand-Puffermember der DXGKARG_RENDER-Struktur gesendet wird.
Daten, die an die folgenden Miniporttreiberfunktionen gesendet werden:
- Die DxgkDdiCreateAllocation-Funktion in den pPrivateDriverData-Puffermembern der DXGKARG_CREATEALLOCATION - und DXGK_ALLOCATIONINFO strukturen.
- Die DxgkDdiEscape-Funktion im pPrivateDriverData-Puffermember der DXGKARG_ESCAPE-Struktur .
- Die DxgkDdiAcquireSwizzlingRange-Funktion im 32-Bit-Element PrivateDriverData der DXGKARG_ACQUIRESWIZZLINGRANGE-Struktur .
- Die DxgkDdiReleaseSwizzlingRange-Funktion im 32-Bit-Element PrivateDriverData der DXGKARG_RELEASESWIZZLINGRANGE-Struktur .
- Die DxgkDdiQueryAdapterInfo-Funktion im pInputData-Puffermember der DXGKARG_QUERYADAPTERINFO-Struktur , wenn der DXGKQAITYPE_UMDRIVERPRIVATE-Wert im Type-Element angegeben wird.