New-PefWin32EventTrigger

New-PefWin32EventTrigger

Creates a trigger that signals when a specified Win32 system event is raised.

Syntax

Parameter Set: Default
New-PefWin32EventTrigger [-EventName] <String> [-CheckTimerPeriodMs <Int32> ] [-InformationAction <System.Management.Automation.ActionPreference> {SilentlyContinue | Stop | Continue | Inquire | Ignore | Suspend} ] [-InformationVariable <System.String> ] [-Repeat] [ <CommonParameters>]

Detailed Description

The New-PefWin32EventTrigger cmdlet creates a trigger that signals when a specified Win32 system event is raised. Use a Win32 system event object to control when to start or stop a trace, or trigger other actions, from the process that creates the event. The trigger becomes active when you associate it with a Protocol Engineering Framework (PEF) action.

Parameters

-CheckTimerPeriodMs<Int32>

Specifies how often, in milliseconds, to check for an event. The default value is 1000 ms.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-EventName<String>

Specifies the name of the event to wait for.

Aliases

none

Required?

true

Position?

1

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-InformationAction<System.Management.Automation.ActionPreference>

Specifies how this cmdlet responds to an information event. The acceptable values for this parameter are:

-- SilentlyContinue
-- Stop
-- Continue
-- Inquire
-- Ignore
-- Suspend

Aliases

infa

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-InformationVariable<System.String>

Specifies a variable in which to store an information event message.

Aliases

iv

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Repeat

Indicates that the trigger runs on each occurrence of the event. If you do not specify this parameter, the trigger runs only once.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

<CommonParameters>

This cmdlet supports the common parameters: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer, and -OutVariable. For more information, see    about_CommonParameters (https://go.microsoft.com/fwlink/p/?LinkID=113216).

Inputs

The input type is the type of the objects that you can pipe to the cmdlet.

Outputs

The output type is the type of the objects that the cmdlet emits.

Examples

Example 1: Create aWin32 event trigger that stops a trace session

This example creates a Win32 system event trigger, and then associates it to a Trace Session. The Trace Session stops when the trigger signals the named system event.

The first command creates a trigger object for a Win32 system event named TestEvent, and then stores in the $Trigger01 variable. The trigger checks for the event every five milliseconds.

The second command uses the New-PefTraceSession cmdlet to create a Trace Session object, and then stores it in the $TraceSession01 variable.

The third command uses the Add-PefMessageSource cmdlet to specify a provider for the session that is stored in $TraceSession01.

The fourth command uses the Stop-PefTraceSession cmdlet to create a stop action for the Win32 system event trigger stored in $Trigger01, and associates that action with the session that is stored in $TraceSession01. An external process can now signal the event to stop the trace.

The final command uses the Start-PefTraceSession cmdlet to start the session that is stored in $TraceSession01.

PS C:\> $Trigger01 = New-PefWin32EventTrigger -EventName "TestEvent" -CheckTimerPeriodMs 5
PS C:\> $TraceSession01 = New-PefTraceSession -Mode Linear -Force -Path "C:\traces\Win32Event" -Name "TestEventLogEventScenario" -SaveOnStop 
PS C:\> Add-PefMessageSource -PEFSession $TraceSession01 -Source "Microsoft-Pef-WFP-MessageProvider" 
PS C:\> Stop-PefTraceSession -PEFSession $TraceSession01 -Trigger $Trigger01
PS C:\> Start-PefTraceSession -PEFSession $TraceSession01

Add-PefMessageSource

New-PefEventLogTrigger

New-PefTraceSession

Start-PefTraceSession

Stop-PefTraceSession