HvPostDebugData function
The HvPostDebugData function posts a block of data for transmission over a debugging connection.
Syntax
HV_STATUS HvPostDebugData( _In_ UINT32 Count, _In_ HV_DEBUG_OPTIONS Options, _In_ PUINT8 Data, _Out_ PUINT32 PendingCount );
Parameters
- Count [in]
-
The number of bytes that HvPostDebugData should post from the buffer to which the Data parameter points. This number can range from zero to HV_DEBUG_MAXIMUM_DATA_SIZE.
- Options [in]
-
A valid bitwise OR combination of HV_DEBUG_OPTIONS values that specify the posting options.
The HV_DEBUG_POST_LOOP option indicates that the guest will continue to call HvPostDebugData until HvPostDebugData completes successfully.
- Data [in]
-
A pointer to a buffer that contains an opaque stream of bytes that the hypervisor posts for transmission over the connection.
- PendingCount [out]
-
A pointer to a variable that HvPostDebugData fills with the total number of bytes that the hypervisor posted to the outgoing session buffer. This total represents bytes that are pending transmission and includes any bytes that were just posted.
Return value
HvPostDebugData returns one of the following values. In addition to these values, HvPostDebugData can also return one of the values that are specified in Common Hypercall Status Codes.
Return code | Description |
---|---|
|
HvPostDebugData successfully posted a block of data for transmission over the connection. |
|
Guest debugging support is not present or is not enabled in the hypervisor. |
|
The caller's partition does not possess the Debugging privilege. |
|
The partition's Debug Channel Identifier property has not been assigned a unique, nonzero value. |
|
One of the following conditions exists:
|
|
There is insufficient space in the outgoing session buffer to accept all bytes from the buffer to which the Data parameter points. |
Remarks
HvPostDebugData allows the caller to post a block of data up to HV_DEBUG_MAXIMUM_DATA_SIZE bytes in size. If there is sufficient space in the hypervisor's outgoing data buffer for the entire block of data, the hypervisor posts the data for transmission. Otherwise, HvPostDebugData returns HV_STATUS_INSUFFICIENT_BUFFERS, and no data is posted. The hypervisor can determine from a count of zero in the Count parameter that pending data is present in the outgoing session buffer.
HvPostDebugData has the following restrictions:
-
The partition must possess the Debugging privilege.
Native Interface
HvPostDebugData | |
---|---|
Call Code = 0x0069 | |
Input Parameters | |
0 |
Count (4 bytes) Options (4 bytes) |
8 |
Data (up to HV_DEBUG_MAXIMUM_DATA_SIZE bytes) |
Output Parameters | |
0 |
PendingCount (4 bytes) Padding (4 bytes) |
Requirements
Version | HvPostDebugData is available in version 1.0 and later versions of the hypervisor. |
---|---|
Header |
|
IRQL | Any level |
Send comments about this topic to Microsoft
Build date: 11/16/2013