HvCallPostMessage
Der HvCallPostMessage-Hypercall versucht, eine Nachricht an die angegebene Verbindung zu senden (d. h. asynchron zu senden), die über einen zugeordneten Zielport verfügt. Wenn die Nachricht erfolgreich gesendet wurde, wird sie für die Übermittlung an einen virtuellen Prozessor innerhalb der Partition, die dem Port zugeordnet ist, in die Warteschlange gestellt.
Schnittstelle
HV_STATUS
HvCallPostMessage(
_In_ HV_CONNECTION_ID ConnectionId,
_In_ HV_MESSAGE_TYPE MessageType,
_In_ UINT32 PayloadSize,
_In_reads_bytes_(PayloadSize) PCVOID Message
);
Aufrufcode
0x005C
(Einfach)
Eingabeparameter
Name | Offset | Size | Informationen bereitgestellt |
---|---|---|---|
ConnectionId |
0 | 4 | Gibt die ID der Verbindung an. |
RsvdZ | 4 | 4 | |
MessageType |
8 | 4 | Gibt den Nachrichtentyp an, der im Nachrichtenheader angezeigt wird. Der Aufrufer kann einen beliebigen 32-Bit-Nachrichtentyp angeben, dessen wichtigstes Bit mit Ausnahme von 0 (null) klar ist. |
PayloadSize |
12 | 4 | Gibt die Anzahl der Bytes an, die in der Nachricht enthalten sind. |
Message |
16 | 240 | Sekifiziert die Nutzlast der Nachricht – insgesamt bis zu 240 Bytes. Nur die ersten n Bytes werden tatsächlich an die Zielpartition gesendet, wobei n im PayloadSize-Parameter angegeben wird. |
Rückgabewerte
Statuscode | Fehlerbedingung |
---|---|
HV_STATUS_ACCESS_DENIED |
Die Partition des Aufrufers verfügt nicht über die PostMessages-Berechtigung. |
HV_STATUS_INVALID_CONNECTION_ID |
Die angegebene Verbindungs-ID ist ungültig. |
HV_STATUS_INVALID_PORT_ID |
Der Port, der der angegebenen Verbindung zugeordnet ist, wurde gelöscht. |
Der Port, der der angegebenen Verbindung zugeordnet ist, gehört zu einer Partition, die sich nicht im "aktiven" Zustand befindet. | |
Der Port, der der angegebenen Verbindung zugeordnet ist, ist kein Port vom Typ "Nachricht". | |
HV_STATUS_INVALID_PARAMETER |
Das wichtigste Bit des angegebenen Nachrichtentyps wird festgelegt. |
Der MessageType-Parameter gibt den Wert 0 (null) an. | |
Die angegebene Nutzlastgröße überschreitet 240 Bytes. | |
HV_STATUS_INSUFFICIENT_BUFFERS |
Der Port verfügt über keine verfügbaren Gastnachrichtenpuffer. |
HV_STATUS_INVALID_VP_INDEX |
Der Ziel-VP ist nicht mehr vorhanden, oder es sind keine VPs verfügbar, an die die Nachricht gesendet werden kann. |
HV_STATUS_INVALID_SYNIC_STATE |
SynIC des Ziel-VP ist deaktiviert und kann keine geposteten Nachrichten akzeptieren. |
Die SIM-Seite des Ziel-VP ist deaktiviert. |
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für