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