DXGKDDI_I2C_TRANSMIT_DATA_TO_DISPLAY Rückruffunktion (dispmprt.h)
Die DXGKDDI_I2C_TRANSMIT_DATA_TO_DISPLAY Rückruffunktion überträgt Daten an ein I2C-Gerät in einem Monitor.
Syntax
DXGKDDI_I2C_TRANSMIT_DATA_TO_DISPLAY DxgkddiI2cTransmitDataToDisplay;
NTSTATUS DxgkddiI2cTransmitDataToDisplay(
[in] PVOID MiniportDeviceContext,
[in] D3DDDI_VIDEO_PRESENT_TARGET_ID VidPnTargetId,
[in] ULONG SevenBitI2CAddress,
[in] ULONG DataLength,
[in] const VOID *Data
)
{...}
Parameter
[in] MiniportDeviceContext
Ein Handle für einen Kontextblock, der einer Grafikkarte zugeordnet ist. Die DxgkDdiAddDevice-Funktion des Display-Miniporttreibers hat dieses Handle zuvor für das Microsoft DirectX-Grafikkernsystem bereitgestellt.
[in] VidPnTargetId
Eine ganze Zahl, die eines der Videoziele identifiziert, die auf der Grafikkarte vorhanden sind.
[in] SevenBitI2CAddress
Die Adresse des I2C-Geräts, an das Daten übertragen werden.
[in] DataLength
Die Länge der zu übertragenden Daten in Bytes. Dieser Parameter muss zwischen 1 und 64 (einschließlich) liegen.
[in] Data
Ein Zeiger auf einen Puffer, der die zu übertragenden Daten enthält.
Rückgabewert
DXGKDDI_I2C_TRANSMIT_DATA_TO_DISPLAY gibt bei Erfolg STATUS_SUCCESS zurück. Andernfalls wird einer der in Ntstatus.h definierten Fehlercodes zurückgegeben. Die folgende Liste enthält einige der möglichen Fehlercodes, die zurückgegeben werden können.
Rückgabecode | Beschreibung |
---|---|
STATUS_GRAPHICS_MONITOR_NOT_CONNECTED | Es ist kein Monitor mit der von VidPnTargetId identifizierten Videoausgabe verbunden. |
STATUS_GRAPHICS_I2C_NOT_SUPPORTED | Die von VidPnTargetId identifizierte Videoausgabe verfügt nicht über einen I2C-Bus. |
STATUS_GRAPHICS_I2C_DEVICE_DOES_NOT_EXIST | Kein Gerät hat die in SevenBitI2CAddress angegebene I2C-Adresse bestätigt. Dies kann bedeuten, dass kein Gerät im I2C-Bus über die angegebene Adresse verfügt oder dass bei der Übertragung der Adresse ein Fehler aufgetreten ist. |
STATUS_GRAPHICS_I2C_ERROR_TRANSMITTING_DATA | Die I2C-Adresse wurde erfolgreich übertragen, aber es ist ein Fehler beim Übertragen von Daten an das I2C-Gerät aufgetreten. |
Hinweise
Das von VidPnTargetId identifizierte Videoziel ist einer der Videoausgaben auf der Grafikkarte zugeordnet. Die Daten werden an ein I2C-Gerät im Monitor übertragen, der mit dieser Videoausgabe verbunden ist.
DxgkDdiI2CTransmitDataToDisplay ist für die Signalisierung der I2C-Startbedingung, das Senden der I2C-Adresse, das Senden der Daten im Puffer, die Überprüfung auf Bestätigungen vom Empfänger und das Signalisieren der Beendigungsbedingung verantwortlich. Ausführliche Informationen zum I2C-Bus finden Sie in der I2C Bus-Spezifikation, die von Philips Semiconductors veröffentlicht wurde. Die Spezifikation definiert ein Protokoll zum Initiieren der I2C-Kommunikation, zum Lesen und Schreiben von Bytes über die I2C-Datenleitung und zum Beenden der I2C-Kommunikation.
DxgkDdiI2CTransmitDataToDisplay ist erforderlich, um Daten an ein I2C-Gerät zu übertragen, das eine Adresse 0x6E hat, aber die Übertragung von Daten an ein I2C-Gerät mit einer anderen Adresse ablehnen darf.
DxgkDdiI2CTransmitDataToDisplay darf blockiert werden, wenn ein anderer Teil des Anzeigeminiporttreibers oder der Grafikhardware den I2C-Bus des angegebenen Monitors verwendet. Es ist auch zulässig, zu blockieren, wenn der Anzeige-Miniporttreiber den I2C-Bus zum Senden oder Empfangen von HDCP-Daten (Digital Content Protection) mit hoher Bandbreite verwendet.
Wenn der Grafikkarte HDCP unterstützt, muss die DxgkDdiI2CTransmitDataToDisplay-Funktion das Senden von Daten an ein I2C-Gerät ablehnen, wenn das Gerät über eine I2C-Adresse verfügt, die von HDCP verwendet wird.
DxgkDdiI2CTransmitDataToDisplay darf niemals Daten an ein I2C-Gerät auf der Grafikkarte übertragen. Das heißt, diese Funktion kann Daten an ein I2C-Gerät in einem Monitor übertragen, der mit der Grafikkarte verbunden ist, aber nicht an ein I2C-Gerät, das sich auf der Grafikkarte selbst befindet.
DxgkDdiI2CTransmitDataToDisplay sollte ausgelagert werden.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows Vista |
Zielplattform | Desktop |
Kopfzeile | dispmprt.h (include Dispmprt.h) |
IRQL | PASSIVE_LEVEL |