HvSignalEvent function

The HvSignalEvent function signals an event in a partition that owns the port that is associated with the specified connection.

Syntax


HV_STATUS  HvSignalEvent(
  _In_  HV_CONNECTION_ID ConnectionId,
  _In_  UINT16 FlagNumber
);

Parameters

ConnectionId [in]

An HV_CONNECTION_ID value that specifies an identifier for the connection that HvConnectPort creates.

FlagNumber [in]

The relative index of the event flag that the caller requires to be set within the target SIEF area. This number is relative to the base flag number that is associated with the port that is associated with the connection that the ConnectionId parameter identifies.

Return value

HvSignalEvent returns one of the following values. In addition to these values, HvSignalEvent can also return one of the values that are specified in Common Hypercall Status Codes.

Return codeDescription
HV_STATUS_SUCCESS

HvSignalEvent successfully signaled an event.

HV_STATUS_ACCESS_DENIED

The caller's partition privilege flag SignalEvents is cleared.

HV_STATUS_INVALID_CONNECTION_ID

The specified connection identifier is invalid.

HV_STATUS_INVALID_PORT_ID

One of the following invalid port conditions exists:

  • The port that is associated with the specified connection has been deleted.

  • The port that is associated with the specified connection belongs to a partition that is not in the active state.

  • The port that is associated with the specified connection is not an event-type port.

HV_STATUS_INVALID_PARAMETER

The specified flag number is greater than or equal to the port's flag count.

HV_STATUS_INVALID_VP_INDEX

The target VP no longer exists or there are no available VPs to which the event can be signaled.

HV_STATUS_INVALID_SYNIC_STATE

One of the following invalid SynIC conditions exists:

  • The target VP's SynIC is disabled and cannot accept signaled events. For ports that are targeted at HV_ANY_VP, this indicates that the SynIC of all of the partition's VPs are disabled.

  • The target VP's SIEF page is disabled. For ports that are targeted at HV_ANY_VP, this indicates that the SIEF page of all of the partition's VPs are disabled.

  • The target SINTx is masked.

 

Remarks

HvSignalEvent signals the event by setting a bit within the SIEF page of one of the receive partition's virtual processors.

The caller specifies a relative flag number. HvSignalEvent calculates the actual SIEF bit number by adding the specified flag number to the base flag number that is associated with the port.

HvSignalEvent has the following restriction:

  • The partition that is the target of the connection must be in the active state.

Native Interface

HvSignalEvent [fast]

Call Code = 0x005D

Input Parameter Header

0

ConnectionId (4 bytes) FlagNumber (2 bytes) Rsvd (2 bytes)

 

Requirements

Version

HvSignalEvent is available in version 1.0 and later versions of the hypervisor.

Header

Hvgdk.h (include Hvgdk.h)

IRQL

Any level

 

 

Send comments about this topic to Microsoft

Build date: 11/16/2013

Show:
© 2014 Microsoft. All rights reserved.