Expand Minimize

HV_EVENTLOG_BUFFER_STATE enumeration

The HV_EVENTLOG_BUFFER_STATE enumeration contains values that identify states for trace buffers that are associated with enabled event log types.

Syntax


typedef enum  { 
  HvEventLogBufferStateStandby   = 0,
  HvEventLogBufferStateFree      = 1,
  HvEventLogBufferStateInUse     = 2,
  HvEventLogBufferStateComplete  = 3,
  HvEventLogBufferStateReady     = 4
} HV_EVENTLOG_BUFFER_STATE;

Constants

HvEventLogBufferStateStandby

A value that indicates that the buffer is unmapped and not available for the hypervisor to use.

HvEventLogBufferStateFree

A value that indicates that the buffer is mapped and is eligible for the hypervisor to use.

HvEventLogBufferStateInUse

A value that indicates that the hypervisor can add new event log events to the buffer.

HvEventLogBufferStateComplete

A value that indicates that the hypervisor will no longer modify the buffer and will place the buffer on the completed buffer list.

HvEventLogBufferStateReady

A value that indicates that the buffers on the completed buffer list reached the completed buffer threshold and that the guest can exclusively read them.

Remarks

When a buffer is in the HvEventLogBufferStateStandby state, the buffer is unmapped and not available for use by the hypervisor (note that when in this state the guest cannot access the buffer and therefore cannot see this value set in the state field of the buffer's header). The buffer enters the HvEventLogBufferStateFree state when it is mapped; the buffer is now eligible for the hypervisor to use. The hypervisor can decide to place the buffer into HvEventLogBufferStateInUse state at any time. When a buffer is in HvEventLogBufferStateInUse state, the hypervisor can add new event log events to the buffer. When a buffer is placed into the HvEventLogBufferStateComplete state, the hypervisor will no longer modify the buffer and will place the buffer onto the completed buffer list. When the number of buffers on the list reaches the completed buffer threshold, the hypervisor will place all buffers that are on the list in the HvEventLogBufferStateReady state and will notify the guest that the guest can exclusively read the set of buffers. The notification message will indicate the start of the buffer list (the buffer header contains the index of the next buffer in the list). The guest should extract any information that it requires from the buffers as quickly and efficiently as possible and release them back to the hypervisor to avoid any potential loss of event data. Releasing a buffer places it in the HvEventLogBufferStateFree state, which makes the buffer immediately available for reuse. Alternatively, the guest can take a buffer out of service by unmapping the buffer and then placing the buffer in the HvEventLogBufferStateStandby state.

The HV_EVENTLOG_BUFFER_STATE enumeration is used in the HV_EVENTLOG_BUFFER_HEADER structure.

Requirements

Header

HvTrApi.h (include Hvgdk.h)

See also

HV_EVENTLOG_BUFFER_HEADER

 

 

Send comments about this topic to Microsoft

Build date: 11/16/2013

Show:
© 2014 Microsoft. All rights reserved.