You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1424 lines
87 KiB
1424 lines
87 KiB
<?xml version="1.0"?>
|
|
<doc>
|
|
<assembly>
|
|
<name>Microsoft.PowerShell.ISECommon</name>
|
|
</assembly>
|
|
<members>
|
|
<member name="T:Microsoft.Windows.PowerShell.GuiExe.Internal.CommonStrings">
|
|
<summary>
|
|
A strongly-typed resource class, for looking up localized strings, etc.
|
|
</summary>
|
|
</member>
|
|
<member name="P:Microsoft.Windows.PowerShell.GuiExe.Internal.CommonStrings.ResourceManager">
|
|
<summary>
|
|
Returns the cached ResourceManager instance used by this class.
|
|
</summary>
|
|
</member>
|
|
<member name="P:Microsoft.Windows.PowerShell.GuiExe.Internal.CommonStrings.Culture">
|
|
<summary>
|
|
Overrides the current thread's CurrentUICulture property for all
|
|
resource lookups using this strongly typed resource class.
|
|
</summary>
|
|
</member>
|
|
<member name="P:Microsoft.Windows.PowerShell.GuiExe.Internal.CommonStrings.FilesShouldBeASingleArgument">
|
|
<summary>
|
|
Looks up a localized string similar to To open multiple files, provide a single list of individual file names that are separated by commas..
|
|
</summary>
|
|
</member>
|
|
<member name="P:Microsoft.Windows.PowerShell.GuiExe.Internal.CommonStrings.OptionNeedsValueFormat">
|
|
<summary>
|
|
Looks up a localized string similar to Provide a value for the following option: {0}..
|
|
</summary>
|
|
</member>
|
|
<member name="P:Microsoft.Windows.PowerShell.GuiExe.Internal.CommonStrings.UnableToRetrieveFullPath">
|
|
<summary>
|
|
Looks up a localized string similar to Unable to retrieve the full path corresponding to the following name: {0}..
|
|
</summary>
|
|
</member>
|
|
<member name="P:Microsoft.Windows.PowerShell.GuiExe.Internal.CommonStrings.UnknownOption">
|
|
<summary>
|
|
Looks up a localized string similar to There is no option with the following name: {0}..
|
|
</summary>
|
|
</member>
|
|
<member name="T:Microsoft.Windows.PowerShell.GuiExe.Internal.ISECommandLineParser">
|
|
<summary>
|
|
Helper that parses command line arguments
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.ISECommandLineParser.HelpStr">
|
|
<summary>Help switch string</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.ISECommandLineParser.HelpShortStr">
|
|
<summary>Smallest unambiguous substring of the Help switch</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.ISECommandLineParser.QuestionMarkStr">
|
|
<summary>Alternative for the help switch string</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.ISECommandLineParser.MTAStr">
|
|
<summary>mta switch string</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.ISECommandLineParser.MTAShortStr">
|
|
<summary>Smallest unambiguous substring of the mta switch</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.ISECommandLineParser.NoProfileStr">
|
|
<summary>noprofile switch string</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.ISECommandLineParser.NoProfileShortStr">
|
|
<summary>Smallest unambiguous substring of the noprofile switch</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.ISECommandLineParser.FilesStr">
|
|
<summary>Files switch string</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.ISECommandLineParser.FileShortStr">
|
|
<summary>Smallest unambiguous substring of the Files switch</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.ISECommandLineParser.mta">
|
|
<summary>
|
|
value indicating whether we are using the MTA option in PowerShellTabs
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.ISECommandLineParser.noProfile">
|
|
<summary>
|
|
Value indicating we should not run the profile
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.ISECommandLineParser.help">
|
|
<summary>
|
|
value indicating whether we run the profile for PowerShellTabs
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.ISECommandLineParser.files">
|
|
<summary>
|
|
Files passed to the command line
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.ISECommandLineParser.hasProcessedFiles">
|
|
<summary>
|
|
Value indicating the -file option has already been processed
|
|
</summary>
|
|
</member>
|
|
<member name="M:Microsoft.Windows.PowerShell.GuiExe.Internal.ISECommandLineParser.Parse(System.String[])">
|
|
<summary>
|
|
Parses the arguments setting the value used in internal properties of this class
|
|
</summary>
|
|
<param name="args">command line arguments</param>
|
|
<exception cref="T:System.InvalidOperationException">For any parsing error.</exception>
|
|
</member>
|
|
<member name="M:Microsoft.Windows.PowerShell.GuiExe.Internal.ISECommandLineParser.ArgumentMatchesSwitch(System.String,System.String,System.String)">
|
|
<summary>
|
|
Returns true if <paramref name="argument"/> matches <paramref name="switchCandidate"/>.
|
|
</summary>
|
|
<param name="argument">The argument (no dash) we want to check for matches</param>
|
|
<param name="switchCandidate">The switch candidate like "help"</param>
|
|
<param name="smallestUnambiguousMatchForSwitchCandidate">
|
|
The smallest substring of switchCandidate that is large enough to disambiguate
|
|
switchCandidate from any other switch
|
|
</param>
|
|
<returns>true if <paramref name="argument"/> matches <paramref name="switchCandidate"/>.</returns>
|
|
</member>
|
|
<member name="M:Microsoft.Windows.PowerShell.GuiExe.Internal.ISECommandLineParser.TryGetFullPath(System.String)">
|
|
<summary>
|
|
Gets the full path corresponding to filePath or null if it could not be retrieved
|
|
</summary>
|
|
<param name="filePath">path we want to retrieve the full path from</param>
|
|
<returns>the full path corresponding to filePath or null if it could not be retrieved</returns>
|
|
</member>
|
|
<member name="M:Microsoft.Windows.PowerShell.GuiExe.Internal.ISECommandLineParser.AddCurrentFile(System.Text.StringBuilder)">
|
|
<summary>
|
|
Adds currentFile to the list if able to retrieve a full path from it
|
|
otherwise returns an error message
|
|
</summary>
|
|
<param name="currentFile">file to be added to the list</param>
|
|
<returns>null if there were no errors</returns>
|
|
</member>
|
|
<member name="M:Microsoft.Windows.PowerShell.GuiExe.Internal.ISECommandLineParser.GetFileNames(System.String)">
|
|
<summary>
|
|
Splits commaSeparatedFiles into the individual files
|
|
</summary>
|
|
<param name="commaSeparatedFiles">list of files separated by comma</param>
|
|
</member>
|
|
<member name="M:Microsoft.Windows.PowerShell.GuiExe.Internal.ISECommandLineParser.ProcessFiles(System.String)">
|
|
<summary>
|
|
Calls GetFileNames and checks/sets hasProcessedFiles
|
|
</summary>
|
|
<param name="filesString">comma separated list of files</param>
|
|
</member>
|
|
<member name="P:Microsoft.Windows.PowerShell.GuiExe.Internal.ISECommandLineParser.Mta">
|
|
<summary>
|
|
Gets a value indicating whether we use the MTA option in PowerShellTabs
|
|
</summary>
|
|
</member>
|
|
<member name="P:Microsoft.Windows.PowerShell.GuiExe.Internal.ISECommandLineParser.NoProfile">
|
|
<summary>
|
|
Gets a value indicating whether we run the profile for PowerShellTabs
|
|
</summary>
|
|
</member>
|
|
<member name="P:Microsoft.Windows.PowerShell.GuiExe.Internal.ISECommandLineParser.Help">
|
|
<summary>
|
|
Gets a value indicating whether we should diaplay a help message
|
|
</summary>
|
|
</member>
|
|
<member name="P:Microsoft.Windows.PowerShell.GuiExe.Internal.ISECommandLineParser.Files">
|
|
<summary>
|
|
Gets the files passed to the command line
|
|
</summary>
|
|
</member>
|
|
<member name="T:Microsoft.Windows.PowerShell.GuiExe.Internal.ISECommandLineParser.SpecialCharacters">
|
|
<summary>
|
|
Helper class defining special characters and providing char matching methods
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.ISECommandLineParser.SpecialCharacters.EnDash">
|
|
<summary>
|
|
Type of dash #1
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.ISECommandLineParser.SpecialCharacters.EmDash">
|
|
<summary>
|
|
Type of dash #2
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.ISECommandLineParser.SpecialCharacters.HorizontalBar">
|
|
<summary>
|
|
Type of dash #3
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.ISECommandLineParser.SpecialCharacters.QuoteDoubleLeft">
|
|
<summary>
|
|
left double quotation mark
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.ISECommandLineParser.SpecialCharacters.QuoteDoubleRight">
|
|
<summary>
|
|
right double quotation mark
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.ISECommandLineParser.SpecialCharacters.QuoteLowDoubleLeft">
|
|
<summary>
|
|
low double left quote used in german.
|
|
</summary>
|
|
</member>
|
|
<member name="M:Microsoft.Windows.PowerShell.GuiExe.Internal.ISECommandLineParser.SpecialCharacters.IsDashOrSlash(System.Char)">
|
|
<summary>
|
|
Returns true if c is a dash or slash character
|
|
</summary>
|
|
<param name="c">character to check</param>
|
|
<returns>true if c is a dash or slash character</returns>
|
|
</member>
|
|
<member name="M:Microsoft.Windows.PowerShell.GuiExe.Internal.ISECommandLineParser.SpecialCharacters.IsDoubleQuote(System.Char)">
|
|
<summary>
|
|
Returns true if c is a double quote character
|
|
</summary>
|
|
<param name="c">character to check</param>
|
|
<returns>true if c is a double quote character</returns>
|
|
</member>
|
|
<member name="T:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeClient">
|
|
<summary>
|
|
Sends a message to the namemed pipe server with a file to open.
|
|
The thought behind not throwing exceptions from the named pipe functionality is to
|
|
go ahead with a fresh instance of GPowerShell if for some reason the named pipes did not work.
|
|
This is a static class as opposed to a class that would call CreateFile in one Method/Constructor
|
|
and a WriteFile in another because a client CreateFile will block the Server in a ReadFile
|
|
so the client always has to follow a succeded CreateFile with a WriteFile.
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeClient.ServerBusyTimeout">
|
|
<summary>
|
|
Client timeout in milliseconds to wait for the server to be free
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeClient.pipeHandle">
|
|
<summary>
|
|
Pipe handle used in SendString()
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeClient.testClientPauseEvent">
|
|
<summary>
|
|
Event allowing tests to pause the listening stages of the server.
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeClient.testPauseEvent">
|
|
<summary>
|
|
Event allowing tests to pause untill the server is about to wait on testServerPauseEvent
|
|
</summary>
|
|
</member>
|
|
<member name="M:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeClient.SendString(System.String)">
|
|
<summary>
|
|
Tries to send a string through the pipe. That is the only relyable way to know if the server is available.
|
|
A client call to CreateFile will put the server in a blocked call to ReadFile so the propper way
|
|
to test the server is by both creating the file and sending a string.
|
|
To just test the presence of a server this method should be called with NLStrings.PipeNoOp that
|
|
will be sent to the server and ignored by the server.
|
|
</summary>
|
|
<param name="str">string to be sent</param>
|
|
<returns>true if we succeeded sending the string</returns>
|
|
</member>
|
|
<member name="M:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeClient.TestPause">
|
|
<summary>
|
|
Informs tests it is about to wait on testClientPauseEvent by setting testPauseEvent and
|
|
waits on this.testClientPauseEvent, if both events are present.
|
|
</summary>
|
|
</member>
|
|
<member name="M:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeClient.GetPipeName">
|
|
<summary>
|
|
Retrieves the existing pipe name or null if there is no current pipe name
|
|
</summary>
|
|
<returns> the existing pipe name or null if there is no current pipe name.</returns>
|
|
</member>
|
|
<member name="P:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeClient.PipeHandle">
|
|
<summary>
|
|
Gets the pipe handle used in SendString
|
|
</summary>
|
|
</member>
|
|
<member name="P:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeClient.TestClientPauseEvent">
|
|
<summary>
|
|
Gets or sets an event allowing tests to pause the stages of the client.
|
|
This should be set before calling SendString.
|
|
</summary>
|
|
</member>
|
|
<member name="P:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeClient.TestPauseEvent">
|
|
<summary>
|
|
Gets or sets an event allowing tests to pause untill the client is about to wait on testClientPauseEvent.
|
|
This should be set before calling SendString.
|
|
</summary>
|
|
</member>
|
|
<member name="T:Microsoft.Windows.PowerShell.GuiExe.Internal.NativeMethods">
|
|
<summary>
|
|
Interop methods, constants and structures needed for named pipes.
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NativeMethods.PIPE_ACCESS_DUPLEX">
|
|
<summary>
|
|
The pipe is bi-directional; both server and client processes can read from and write to the pipe.
|
|
This mode gives the server the equivalent of GENERIC_READ and GENERIC_WRITE access to the pipe.
|
|
The client can specify GENERIC_READ or GENERIC_WRITE, or both, when it connects to the pipe using the CreateFile function.
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NativeMethods.PIPE_ACCESS_OUTBOUND">
|
|
<summary>
|
|
The flow of data in the pipe goes from server to client only.
|
|
This mode gives the server the equivalent of GENERIC_WRITE access to the pipe.
|
|
The client must specify GENERIC_READ access when connecting to the pipe.
|
|
If the client must change pipe settings by calling the SetNamedPipeHandleState function,
|
|
the client must specify GENERIC_READ and FILE_WRITE_ATTRIBUTES access when connecting to the pipe.
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NativeMethods.PIPE_ACCESS_INBOUND">
|
|
<summary>
|
|
The flow of data in the pipe goes from client to server only.
|
|
This mode gives the server the equivalent of GENERIC_READ access to the pipe.
|
|
The client must specify GENERIC_WRITE access when connecting to the pipe.
|
|
If the client must read pipe settings by calling the GetNamedPipeInfo or
|
|
GetNamedPipeHandleState functions, the client must specify GENERIC_WRITE and
|
|
FILE_READ_ATTRIBUTES access when connecting to the pipe.
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NativeMethods.PIPE_TYPE_BYTE">
|
|
<summary>
|
|
Data is written to the pipe as a stream of bytes. This mode cannot be used with PIPE_READMODE_MESSAGE.
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NativeMethods.PIPE_TYPE_MESSAGE">
|
|
<summary>
|
|
Data is written to the pipe as a stream of messages. This mode can be used with either PIPE_READMODE_MESSAGE or PIPE_READMODE_BYTE.
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NativeMethods.FILE_FLAG_OVERLAPPED">
|
|
<summary>
|
|
Mode used for Asynchronous IO
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NativeMethods.PIPE_WAIT">
|
|
<summary>
|
|
Blocking mode is enabled. When the pipe handle is specified in the ReadFile, WriteFile,
|
|
or ConnectNamedPipe function, the operations are not completed until there is data to read,
|
|
all data is written, or a client is connected. Use of this mode can mean waiting indefinitely
|
|
in some situations for a client process to perform an action.
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NativeMethods.PIPE_NOWAIT">
|
|
<summary>
|
|
Nonblocking mode is enabled. In this mode, ReadFile, WriteFile, and ConnectNamedPipe
|
|
always return immediately. Note that nonblocking mode is supported for compatibility
|
|
with Microsoft LAN Manager version 2.0 and should not be used to achieve asynchronous I/O
|
|
with named pipes.
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NativeMethods.PIPE_READMODE_BYTE">
|
|
<summary>
|
|
Data is read from the pipe as a stream of bytes.
|
|
This mode can be used with either PIPE_TYPE_MESSAGE or PIPE_TYPE_BYTE.
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NativeMethods.PIPE_READMODE_MESSAGE">
|
|
<summary>
|
|
Data is read from the pipe as a stream of messages.
|
|
This mode can be only used if PIPE_TYPE_MESSAGE is also specified.
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NativeMethods.PIPE_ACCEPT_REMOTE_CLIENTS">
|
|
<summary>
|
|
Connections from remote clients can be accepted and checked against the security descriptor for the pipe.
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NativeMethods.PIPE_REJECT_REMOTE_CLIENTS">
|
|
<summary>
|
|
Connections from remote clients are automatically rejected.
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NativeMethods.PIPE_UNLIMITED_INSTANCES">
|
|
<summary>
|
|
Constant that can be used in the nMaxInstances parameter of CreateNamedPipe.
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NativeMethods.ERROR_MORE_DATA">
|
|
<summary>
|
|
Error result when the message is longer than the read buffer or when the size of the data passes the
|
|
64K named pipe write limit
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NativeMethods.ERROR_PIPE_CONNECTED">
|
|
<summary>
|
|
There is a process on other end of the pipe.
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NativeMethods.ERROR_IO_INCOMPLETE">
|
|
<summary>
|
|
Overlapped I/O event is not in a signaled state.
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NativeMethods.ERROR_IO_PENDING">
|
|
<summary>
|
|
Overlapped I/O operation is in progress.
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NativeMethods.ERROR_NO_DATA">
|
|
<summary>
|
|
The pipe is being closed.
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NativeMethods.ERROR_BROKEN_PIPE">
|
|
<summary>
|
|
The pipe has been ended.
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NativeMethods.ERROR_PIPE_BUSY">
|
|
<summary>
|
|
error returned when a pipe exists but all instances are busy.
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NativeMethods.INFINITE">
|
|
<summary>
|
|
Infinite timeout
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NativeMethods.GENERIC_READ">
|
|
<summary>
|
|
Specifies that the desired access is read
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NativeMethods.GENERIC_WRITE">
|
|
<summary>
|
|
Specifies that the desired access is write
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NativeMethods.GENERIC_EXECUTE">
|
|
<summary>
|
|
Specifies that the desired access is execute
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NativeMethods.GENERIC_ALL">
|
|
<summary>
|
|
Specifies that the desired access is all
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NativeMethods.CREATE_NEW">
|
|
<summary>
|
|
Creates a new file.
|
|
If the specified file exists, the function fails and the last-error code is set to
|
|
ERROR_FILE_EXISTS (80).
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NativeMethods.CREATE_ALWAYS">
|
|
<summary>
|
|
Creates a new file, always.
|
|
If the specified file exists, the function overwrites the file, clears the existing attributes,
|
|
combines the specified file attributes and flags with FILE_ATTRIBUTE_ARCHIVE, but does not
|
|
set the security descriptor that the SECURITY_ATTRIBUTES structure specifies. The function
|
|
succeeds and last-error code is set to ERROR_ALREADY_EXISTS (183).
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NativeMethods.OPEN_EXISTING">
|
|
<summary>
|
|
Opens a file.
|
|
If the specified file does not exist, the function fails and the last-error code is set to
|
|
ERROR_FILE_NOT_FOUND (2).
|
|
For more information, see the Remarks section of this topic.
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NativeMethods.OPEN_ALWAYS">
|
|
<summary>
|
|
Opens a file, always.
|
|
If the specified file does not exist, the function creates a file as if dwCreationDisposition
|
|
is CREATE_NEW.
|
|
If the specified file exists, the function succeeds and last-error code is set to
|
|
ERROR_ALREADY_EXISTS (183).
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NativeMethods.TRUNCATE_EXISTING">
|
|
<summary>
|
|
Opens a file and truncates it so that its size is zero (0) bytes.
|
|
If the specified file does not exist, the function fails and the last-error code is set to ERROR_FILE_NOT_FOUND (2).
|
|
The calling process must open the file with the GENERIC_WRITE access right.
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NativeMethods.TOKEN_QUERY">
|
|
<summary>
|
|
Constant used to query for token information
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NativeMethods.SE_GROUP_LOGON_ID">
|
|
<summary>
|
|
Constant specifying the token group attribute corresponding to the logon sid
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NativeMethods.TokenGroups">
|
|
<summary>
|
|
Constant used to retrieve the token groups
|
|
</summary>
|
|
</member>
|
|
<member name="M:Microsoft.Windows.PowerShell.GuiExe.Internal.NativeMethods.CreateNamedPipe(System.String,System.UInt32,System.UInt32,System.UInt32,System.UInt32,System.UInt32,System.UInt32,Microsoft.Windows.PowerShell.GuiExe.Internal.NativeMethods.SECURITY_ATTRIBUTES)">
|
|
<summary>
|
|
Creates an instance of a named pipe and returns a handle for subsequent pipe operations. A named pipe server process uses this function either to create the first instance of a specific named pipe and establish its basic attributes or to create a new instance of an existing named pipe.
|
|
</summary>
|
|
<param name="lpName">The unique pipe name. This string must have the following form: \\.\pipe\pipename </param>
|
|
<param name="dwOpenMode">The open mode. The function fails if dwOpenMode specifies anything other than 0 or the flags in "pipe open mode" below.</param>
|
|
<param name="dwPipeMode">The pipe mode. The function fails if dwPipeMode specifies anything other than 0 or the flags listed in "pipe mode" below.</param>
|
|
<param name="nMaxInstances">The maximum number of instances that can be created for this pipe. The first instance of the pipe can specify this value; the same number must be specified for other instances of the pipe. Acceptable values are in the range 1 through PIPE_UNLIMITED_INSTANCES (255).</param>
|
|
<param name="nOutBufferSize">The number of bytes to reserve for the output buffer.</param>
|
|
<param name="nInBufferSize">The number of bytes to reserve for the input buffer.</param>
|
|
<param name="nDefaultTimeOut">The default time-out value, in milliseconds, if the WaitNamedPipe function specifies NMPWAIT_USE_DEFAULT_WAIT. Each instance of a named pipe must specify the same value.</param>
|
|
<param name="securityAttributes">A pointer to a SECURITY_ATTRIBUTES structure that specifies a security descriptor for the new named pipe and determines whether child processes can inherit the returned handle. If lpSecurityAttributes is NULL, the named pipe gets a default security descriptor and the handle cannot be inherited.</param>
|
|
<returns>
|
|
If the function succeeds, the return value is a handle to the server end of a named pipe instance.
|
|
If the function fails, the return value is INVALID_HANDLE_VALUE. To get extended error information, call GetLastError.
|
|
</returns>
|
|
</member>
|
|
<member name="M:Microsoft.Windows.PowerShell.GuiExe.Internal.NativeMethods.GetOverlappedResult(Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeSafeHandle,System.Threading.NativeOverlapped@,System.UInt32@,System.Boolean)">
|
|
<summary>
|
|
Retrieves the results of an overlapped operation on the specified file, named pipe, or communications device.
|
|
</summary>
|
|
<param name="hFile">
|
|
A handle to the file, named pipe, or communications device. This is the same handle that was specified
|
|
when the overlapped operation was started by a call to the ReadFile, WriteFile, ConnectNamedPipe,
|
|
TransactNamedPipe, DeviceIoControl, or WaitCommEvent function.
|
|
</param>
|
|
<param name="lpOverlapped">
|
|
A pointer to an OVERLAPPED structure that was specified when the overlapped operation was started.
|
|
</param>
|
|
<param name="lpNumberOfBytesTransferred">
|
|
A pointer to a variable that receives the number of bytes that were actually transferred by a read or
|
|
write operation. For a TransactNamedPipe operation, this is the number of bytes that were read from
|
|
the pipe. For a DeviceIoControl operation, this is the number of bytes of output data returned by
|
|
the device driver. For a ConnectNamedPipe or WaitCommEvent operation, this value is undefined.
|
|
</param>
|
|
<param name="bWait">
|
|
If this parameter is TRUE, the function does not return until the operation has been completed.
|
|
If this parameter is FALSE and the operation is still pending, the function returns FALSE and
|
|
the GetLastError function returns ERROR_IO_INCOMPLETE.
|
|
</param>
|
|
<returns>
|
|
If the function succeeds, the return value is true.
|
|
If the function fails, the return value is false. To get extended error information, call GetLastError.
|
|
</returns>
|
|
</member>
|
|
<member name="M:Microsoft.Windows.PowerShell.GuiExe.Internal.NativeMethods.GetCurrentProcess">
|
|
<summary>
|
|
Retrieves the current process handle
|
|
</summary>
|
|
<returns>The current process handle</returns>
|
|
</member>
|
|
<member name="M:Microsoft.Windows.PowerShell.GuiExe.Internal.NativeMethods.OpenProcessToken(System.IntPtr,System.UInt32,System.IntPtr@)">
|
|
<summary>
|
|
Retrieves the current process token.
|
|
</summary>
|
|
<param name="ProcessHandle">process handle</param>
|
|
<param name="DesiredAccess">token access</param>
|
|
<param name="TokenHandle">process token</param>
|
|
<returns>The current process token.</returns>
|
|
</member>
|
|
<member name="M:Microsoft.Windows.PowerShell.GuiExe.Internal.NativeMethods.GetTokenInformation(System.IntPtr,System.Int32,System.IntPtr,System.UInt32,System.UInt32@)">
|
|
<summary>
|
|
Gets token information.
|
|
</summary>
|
|
<param name="TokenHandle">token to retrieve information from</param>
|
|
<param name="TokenInformationClass">Kind of information to retrieve</param>
|
|
<param name="TokenInformation">information retrieved</param>
|
|
<param name="TokenInformationLength">length of information to be retrieved</param>
|
|
<param name="ReturnLength">length of information actually retrieved</param>
|
|
<returns>token information</returns>
|
|
</member>
|
|
<member name="M:Microsoft.Windows.PowerShell.GuiExe.Internal.NativeMethods.ConnectNamedPipe(Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeSafeHandle,System.Threading.NativeOverlapped@)">
|
|
<summary>
|
|
Enables a named pipe server process to wait for a client process to connect to an instance of a named pipe.
|
|
A client process connects by calling either the CreateFile or CallNamedPipe function.
|
|
</summary>
|
|
<param name="hNamedPipe">A handle to the server end of a named pipe instance.
|
|
This handle is returned by the CreateNamedPipe function.</param>
|
|
<param name="lpOverlapped">pointer to an OVERLAPPED structure.</param>
|
|
<returns>
|
|
If the function succeeds, the return value is nonzero.
|
|
If the function fails, the return value is zero. To get extended error information,
|
|
call GetLastError.
|
|
If a client connects before the function is called, the function returns zero and
|
|
GetLastError returns ERROR_PIPE_CONNECTED. This can happen if a client connects in
|
|
the interval between the call to CreateNamedPipe and the call to ConnectNamedPipe.
|
|
In this situation, there is a good connection between client and server, even though
|
|
the function returns zero.
|
|
</returns>
|
|
</member>
|
|
<member name="M:Microsoft.Windows.PowerShell.GuiExe.Internal.NativeMethods.WaitNamedPipe(System.String,System.UInt32)">
|
|
<summary>
|
|
Waits until either a time-out interval elapses or an instance of the specified named pipe is
|
|
available for connection (that is, the pipe's server process has a pending ConnectNamedPipe
|
|
operation on the pipe).
|
|
</summary>
|
|
<param name="lpNamedPipeName">
|
|
The name of the named pipe. The string must include the name of the computer on which the
|
|
server process is executing. A period may be used for the servername if the pipe is local.
|
|
The following pipe name format is used:
|
|
\\servername\pipe\pipename
|
|
</param>
|
|
<param name="nTimeOut">
|
|
The number of milliseconds that the function will wait for an instance
|
|
of the named pipe to be available. You can used one of the following
|
|
values instead of specifying a number of milliseconds.
|
|
</param>
|
|
<returns>
|
|
If an instance of the pipe is available before the time-out interval elapses, the return
|
|
value is nonzero.
|
|
If an instance of the pipe is not available before the time-out interval elapses,
|
|
the return value is zero. To get extended error information, call GetLastError.
|
|
</returns>
|
|
</member>
|
|
<member name="M:Microsoft.Windows.PowerShell.GuiExe.Internal.NativeMethods.DisconnectNamedPipe(Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeSafeHandle)">
|
|
<summary>
|
|
Disconnects the server end of a named pipe instance from a client process.
|
|
</summary>
|
|
<param name="hNamedPipe">
|
|
A handle to an instance of a named pipe. This handle must be created by the
|
|
CreateNamedPipe function.
|
|
</param>
|
|
<returns>
|
|
If the function succeeds, the return value is nonzero.
|
|
If the function fails, the return value is zero. To get extended error information,
|
|
call GetLastError.
|
|
</returns>
|
|
</member>
|
|
<member name="M:Microsoft.Windows.PowerShell.GuiExe.Internal.NativeMethods.CloseHandle(System.IntPtr)">
|
|
<summary>
|
|
Closes an open object handle.
|
|
</summary>
|
|
<param name="hObject">
|
|
A valid handle to an open object.
|
|
</param>
|
|
<returns>
|
|
If the function succeeds, the return value is nonzero.
|
|
If the function fails, the return value is zero. To get extended error information,
|
|
call GetLastError.
|
|
If the application is running under a debugger, the function will throw an exception
|
|
if it receives either a handle value that is not valid or a pseudo-handle value.
|
|
This can happen if you close a handle twice, or if you call CloseHandle on a handle
|
|
returned by the FindFirstFile function.
|
|
</returns>
|
|
</member>
|
|
<member name="M:Microsoft.Windows.PowerShell.GuiExe.Internal.NativeMethods.ReadFile(Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeSafeHandle,System.Byte[],System.UInt32,System.UInt32@,System.Threading.NativeOverlapped@)">
|
|
<summary>
|
|
Reads data from a file, and starts at the position that the file pointer indicates. You can use this function for both synchronous and asynchronous operations.
|
|
</summary>
|
|
<param name="hFile">A handle to the file to be read.
|
|
The file handle must be created with the GENERIC_READ access right. For more information,
|
|
see File Security and Access Rights.
|
|
For asynchronous read operations, hFile can be any handle that is opened with the
|
|
FILE_FLAG_OVERLAPPED flag by the CreateFile function, or a socket handle returned
|
|
by the socket or accept function.
|
|
</param>
|
|
<param name="lpBuffer">A pointer to the buffer that receives the data read from a file.</param>
|
|
<param name="nNumberOfBytesToRead">The maximum number of bytes to be read.</param>
|
|
<param name="lpNumberOfBytesRead">
|
|
A pointer to the variable that receives the number of bytes read.
|
|
If lpOverlapped is NULL, lpNumberOfBytesRead cannot be NULL.
|
|
If lpOverlapped is not NULL, lpNumberOfBytesRead can be NULL.
|
|
</param>
|
|
<param name="lpOverlapped">
|
|
A pointer to an OVERLAPPED structure.
|
|
This structure is required if hFile is created with FILE_FLAG_OVERLAPPED.
|
|
</param>
|
|
<returns>
|
|
The ReadFile function returns when one of the following conditions occur:
|
|
A write operation completes on the write end of the pipe.
|
|
The number of bytes requested is read.
|
|
An error occurs.
|
|
If the function succeeds, the return value is nonzero.
|
|
If the function fails, the return value is zero (0). To get extended error information,
|
|
call GetLastError.
|
|
If the return value is nonzero and the number of bytes read is zero (0),
|
|
the file pointer is beyond the current end of the file at the time of the read operation.
|
|
However, if the file is opened with FILE_FLAG_OVERLAPPED and lpOverlapped is not NULL,
|
|
the return value is zero (0) and GetLastError returns ERROR_HANDLE_EOF when the file
|
|
pointer goes beyond the current end of file.
|
|
</returns>
|
|
</member>
|
|
<member name="M:Microsoft.Windows.PowerShell.GuiExe.Internal.NativeMethods.WriteFile(Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeSafeHandle,System.Byte[],System.UInt32,System.UInt32@,System.IntPtr)">
|
|
<summary>
|
|
Writes data to the specified file at the position specified by the file pointer. This function is designed for both synchronous and asynchronous operation.
|
|
</summary>
|
|
<param name="hFile">
|
|
A handle to the file. The file handle must have been created with the
|
|
GENERIC_WRITE access right. For more information, see File Security and Access Rights.
|
|
</param>
|
|
<param name="lpBuffer">A pointer to the buffer containing the data to be written to the file.</param>
|
|
<param name="nNumberOfBytesToWrite">
|
|
The number of bytes to be written to the file.
|
|
A value of zero specifies a null write operation. The behavior of a null write operation
|
|
depends on the underlying file system.
|
|
To truncate or extend a file, use the SetEndOfFile function.
|
|
Named pipe write operations across a network are limited to 65,535 bytes.
|
|
</param>
|
|
<param name="lpNumberOfBytesWritten">
|
|
A pointer to the variable that receives the number of bytes written. WriteFile sets this
|
|
value to zero before doing any work or error checking.
|
|
If lpOverlapped is NULL, lpNumberOfBytesWritten cannot be NULL. If lpOverlapped is not NULL,
|
|
lpNumberOfBytesWritten can be NULL. If this is an overlapped write operation, you can get
|
|
the number of bytes written by calling GetOverlappedResult. If hFile is associated with an
|
|
I/O completion port, you can get the number of bytes written by calling
|
|
GetQueuedCompletionStatus.
|
|
If I/O completion ports are used and you are using a callback routine to free
|
|
the memory allocated to the OVERLAPPED structure pointed to by the lpOverlapped
|
|
parameter, specify NULL as the value of this parameter to avoid a memory corruption
|
|
problem during the deallocation. This memory corruption problem will cause an invalid
|
|
number of bytes to be returned in this parameter.
|
|
</param>
|
|
<param name="lpOverlapped">
|
|
A pointer to an OVERLAPPED structure. This structure is required if hFile was opened with
|
|
FILE_FLAG_OVERLAPPED.
|
|
If hFile was opened with FILE_FLAG_OVERLAPPED, the lpOverlapped parameter must not be NULL.
|
|
It must point to a valid OVERLAPPED structure. If hFile was opened with
|
|
FILE_FLAG_OVERLAPPED and lpOverlapped is NULL, the function can incorrectly report that
|
|
the write operation is complete.
|
|
If hFile was opened with FILE_FLAG_OVERLAPPED and lpOverlapped is not NULL,
|
|
the write operation starts at the offset specified in the OVERLAPPED structure and
|
|
WriteFile may return before the write operation has been completed. In this case,
|
|
WriteFile returns FALSE and the GetLastError function returns ERROR_IO_PENDING. This
|
|
allows the calling process to continue processing while the write operation is being
|
|
completed. The event specified in the OVERLAPPED structure is set to the signaled state
|
|
upon completion of the write operation. The caller must adjust the position of the file
|
|
pointer upon completion.
|
|
</param>
|
|
<returns>
|
|
If the function succeeds, the return value is nonzero.
|
|
If the function fails, the return value is zero. To get extended error information, call GetLastError.
|
|
</returns>
|
|
</member>
|
|
<member name="M:Microsoft.Windows.PowerShell.GuiExe.Internal.NativeMethods.CreateFile(System.String,System.UInt32,System.UInt32,System.IntPtr,System.UInt32,System.UInt32,System.IntPtr)">
|
|
<summary>
|
|
Creates or opens a file, file stream, directory, physical disk, volume, console buffer,
|
|
tape drive, communications resource, mailslot, or named pipe. The function returns a
|
|
handle that can be used to access the object.
|
|
</summary>
|
|
<param name="lpFileName">
|
|
The name of the object to be created or opened.
|
|
In the ANSI version of this function, the name is limited to MAX_PATH characters.
|
|
To extend this limit to 32,767 wide characters, call the Unicode version of the
|
|
function and prepend "\\?\" to the path. For more information, see Naming a File.
|
|
For information on special device names, see Defining an MS-DOS Device Name.
|
|
To specify a COM port number greater than 9, use the following syntax: "\\.\COM10".
|
|
This syntax works for all port numbers and hardware that allows COM port numbers to be specified.
|
|
To create a file stream, specify the name of the file, a colon, and then the name of the
|
|
stream. For more information, see File Streams.
|
|
</param>
|
|
<param name="dwDesiredAccess">
|
|
The access to the object, which can be read, write, or both.
|
|
You cannot request an access mode that conflicts with the sharing mode that is
|
|
specified in an open request that has an open handle.
|
|
If this parameter is zero (0), the application can query file and device attributes
|
|
without accessing a device. This is useful for an application to determine the size
|
|
of a floppy disk drive and the formats it supports without requiring a floppy in a drive.
|
|
It can also be used to test for the existence of a file or directory without opening
|
|
them for read or write access.
|
|
See the "CreateFile desired access" below.
|
|
</param>
|
|
<param name="dwShareMode">
|
|
The sharing mode of an object, which can be read, write, both, or none.
|
|
You cannot request a sharing mode that conflicts with the access mode that is specified
|
|
in an open request that has an open handle, because that would result in the following
|
|
sharing violation: ERROR_SHARING_VIOLATION.
|
|
If this parameter is zero (0) and CreateFile succeeds, the object cannot be shared
|
|
and cannot be opened again until the handle is closed. For more information, see the
|
|
Remarks section of this topic.
|
|
The sharing options remain in effect until you close the handle to an object.
|
|
To enable a process to share an object while another process has the object open,
|
|
use a combination of one or more of the following values to specify the access mode
|
|
they can request to open the object.
|
|
</param>
|
|
<param name="SecurityAttributes">
|
|
A pointer to a SECURITY_ATTRIBUTES structure that determines whether or not the returned
|
|
handle can be inherited by child processes.
|
|
If lpSecurityAttributes is NULL, the handle cannot be inherited.
|
|
The lpSecurityDescriptor member of the structure specifies a security descriptor
|
|
for an object. If lpSecurityAttributes is NULL, the object gets a default security descriptor.
|
|
The access control lists (ACL) in the default security descriptor for a file or directory
|
|
are inherited from its parent directory.
|
|
The target file system must support security on files and directories for this parameter to
|
|
have an effect on them, which is indicated when GetVolumeInformation returns FS_PERSISTENT_ACLS.
|
|
CreateFile ignores lpSecurityDescriptor when opening an existing file, but continues to
|
|
use the other structure members.
|
|
</param>
|
|
<param name="dwCreationDisposition">
|
|
An action to take on files that exist and do not exist.
|
|
See "CreateFile creation disposition" below
|
|
</param>
|
|
<param name="dwFlagsAndAttributes">
|
|
The file attributes and flags.
|
|
This parameter can include any combination of the file attributes.
|
|
All other file attributes override FILE_ATTRIBUTE_NORMAL.
|
|
When CreateFile opens a file, it combines the file flags with existing
|
|
file attributes, and ignores any supplied file attributes.
|
|
</param>
|
|
<param name="hTemplateFile">
|
|
A handle to a template file with the GENERIC_READ access right.
|
|
The template file supplies file attributes and extended attributes for the file that is
|
|
being created. This parameter can be NULL.
|
|
When opening an existing file, CreateFile ignores the template file.
|
|
When opening a new EFS-encrypted file, the file inherits the DACL from its parent directory.
|
|
</param>
|
|
<returns>
|
|
If the function succeeds, the return value is an open handle to a specified file.
|
|
If a specified file exists before the function call and dwCreationDisposition is CREATE_ALWAYS
|
|
or OPEN_ALWAYS, a call to GetLastError returns ERROR_ALREADY_EXISTS, even when the
|
|
function succeeds. If a file does not exist before the call, GetLastError returns zero (0).
|
|
If the function fails, the return value is INVALID_HANDLE_VALUE.
|
|
To get extended error information, call GetLastError.
|
|
</returns>
|
|
</member>
|
|
<member name="M:Microsoft.Windows.PowerShell.GuiExe.Internal.NativeMethods.SetEvent(System.IntPtr)">
|
|
<summary>
|
|
Sets the specified event object to the signaled state.
|
|
</summary>
|
|
<param name="hEvent">
|
|
A handle to the event object. The CreateEvent or OpenEvent function returns this handle. The handle
|
|
must have the EVENT_MODIFY_STATE access right. For more information, see Synchronization Object S
|
|
ecurity and Access Rights.
|
|
</param>
|
|
<returns>
|
|
If the function succeeds, the return value is true.
|
|
If the function fails, the return value is false. To get extended error information, call GetLastError.
|
|
</returns>
|
|
</member>
|
|
<member name="M:Microsoft.Windows.PowerShell.GuiExe.Internal.NativeMethods.CreateEvent(System.IntPtr,System.Boolean,System.Boolean,System.String)">
|
|
<summary>
|
|
Creates or opens a named or unnamed event object.
|
|
</summary>
|
|
<param name="lpEventAttributes">
|
|
A pointer to a SECURITY_ATTRIBUTES structure. If this parameter is NULL, the handle cannot be inherited
|
|
by child processes.
|
|
</param>
|
|
<param name="bManualReset">
|
|
If this parameter is TRUE, the function creates a manual-reset event object, which requires the use
|
|
of the ResetEvent function to set the event state to nonsignaled. If this parameter is FALSE,
|
|
the function creates an auto-reset event object, and system automatically resets the event state
|
|
to nonsignaled after a single waiting thread has been released.
|
|
</param>
|
|
<param name="bInitialState">
|
|
If this parameter is TRUE, the initial state of the event object is signaled; otherwise, it is nonsignaled.
|
|
</param>
|
|
<param name="lpName">
|
|
The name of the event object. The name is limited to MAX_PATH characters. Name comparison is case sensitive.
|
|
</param>
|
|
<returns>
|
|
If the function succeeds, the return value is a handle to the event object. If the named event object
|
|
existed before the function call, the function returns a handle to the existing object
|
|
and GetLastError returns ERROR_ALREADY_EXISTS. If the function fails, the return value is NULL.
|
|
To get extended error information, call GetLastError.
|
|
</returns>
|
|
</member>
|
|
<member name="M:Microsoft.Windows.PowerShell.GuiExe.Internal.NativeMethods.WaitForMultipleObjects(System.UInt32,System.IntPtr[],System.Boolean,System.UInt32)">
|
|
<summary>
|
|
Waits until one or all of the specified objects are in the signaled state or the time-out interval elapses.
|
|
</summary>
|
|
<param name="nCount">
|
|
The number of object handles in the array pointed to by lpHandles.
|
|
The maximum number of object handles is MAXIMUM_WAIT_OBJECTS.
|
|
</param>
|
|
<param name="lpHandles">
|
|
An array of object handles.The array can contain handles to objects of different types. I
|
|
t may not contain multiple copies of the same handle. If one of these handles is closed while
|
|
the wait is still pending, the function's behavior is undefined.The handles must have the SYNCHRONIZE
|
|
access right. For more information, see Standard Access Rights.
|
|
</param>
|
|
<param name="bWaitAll">
|
|
If this parameter is TRUE, the function returns when the state of all objects in the lpHandles
|
|
array is signaled. If FALSE, the function returns when the state of any one of the objects
|
|
is set to signaled. In the latter case, the return value indicates the object whose state caused
|
|
the function to return.
|
|
</param>
|
|
<param name="dwMilliseconds">
|
|
The time-out interval, in milliseconds. The function returns if the interval elapses, even
|
|
if the conditions specified by the bWaitAll parameter are not met. If dwMilliseconds is zero,
|
|
the function tests the states of the specified objects and returns immediately. If dwMilliseconds
|
|
is INFINITE, the function's time-out interval never elapses.
|
|
</param>
|
|
<returns>
|
|
If the function succeeds, the return value indicates the event that caused the function to return.
|
|
It can be one of the following values. (Note that WAIT_OBJECT_0 is defined as 0 and WAIT_ABANDONED_0
|
|
is defined as 0x00000080L.)
|
|
</returns>
|
|
</member>
|
|
<member name="T:Microsoft.Windows.PowerShell.GuiExe.Internal.NativeMethods.SID_AND_ATTRIBUTES">
|
|
<summary>
|
|
Sid and attributes structure.
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NativeMethods.SID_AND_ATTRIBUTES.Sid">
|
|
<summary>
|
|
A pointer to a SID structure.
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NativeMethods.SID_AND_ATTRIBUTES.Attributes">
|
|
<summary>
|
|
Specifies attributes of the SID. This value contains up to 32 one-bit flags. Its meaning depends on the definition and use of the SID.
|
|
</summary>
|
|
</member>
|
|
<member name="T:Microsoft.Windows.PowerShell.GuiExe.Internal.NativeMethods.TOKEN_GROUPSStart">
|
|
<summary>
|
|
This is not equivalent to TOKEN_GROUPS
|
|
For that we would need Groups to be defined as:
|
|
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 1)]
|
|
To reflect the legacy ANYSIZE_ARRAY but that would only allow
|
|
us to read the first array element.
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NativeMethods.TOKEN_GROUPSStart.GroupCount">
|
|
<summary>
|
|
Count of groups
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NativeMethods.TOKEN_GROUPSStart.Groups">
|
|
<summary>
|
|
PlaceHolder for the real IntPtr retrieved by doing some calculation
|
|
</summary>
|
|
</member>
|
|
<member name="T:Microsoft.Windows.PowerShell.GuiExe.Internal.NativeMethods.TOKEN_GROUPS">
|
|
<summary>
|
|
This is the structure returned from a GetTokenInformation asking for TokenGroups
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NativeMethods.TOKEN_GROUPS.GroupCount">
|
|
<summary>
|
|
Count of groups
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NativeMethods.TOKEN_GROUPS.FirstGroup">
|
|
<summary>
|
|
ARRAY_ANYSIZE is the actual unmanaged size, which is defined as 1
|
|
</summary>
|
|
</member>
|
|
<member name="T:Microsoft.Windows.PowerShell.GuiExe.Internal.NativeMethods.SECURITY_ATTRIBUTES">
|
|
<summary>
|
|
Security attributes
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NativeMethods.SECURITY_ATTRIBUTES.NLength">
|
|
<summary>
|
|
The size, in bytes, of this structure. Set this value to the size of the SECURITY_ATTRIBUTES structure.
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NativeMethods.SECURITY_ATTRIBUTES.LPSecurityDescriptor">
|
|
<summary>
|
|
A pointer to a security descriptor for the object that controls the sharing of it.
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NativeMethods.SECURITY_ATTRIBUTES.InheritHandle">
|
|
<summary>
|
|
A Boolean value that specifies whether the returned handle is inherited when a new process is created.
|
|
</summary>
|
|
</member>
|
|
<member name="M:Microsoft.Windows.PowerShell.GuiExe.Internal.NativeMethods.SECURITY_ATTRIBUTES.#ctor">
|
|
<summary>
|
|
Initializes a new instance of the SECURITY_ATTRIBUTES class
|
|
</summary>
|
|
</member>
|
|
<member name="T:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeSafeHandle">
|
|
<summary>
|
|
SafeHandle class for named pipes
|
|
</summary>
|
|
</member>
|
|
<member name="M:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeSafeHandle.#ctor">
|
|
<summary>
|
|
Prevents a default instance of the NamedPipeSafeHandle class from being created.
|
|
</summary>
|
|
</member>
|
|
<member name="M:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeSafeHandle.ReleaseHandle">
|
|
<summary>
|
|
Calls NativeMethods.CloseHandle(handle)
|
|
</summary>
|
|
<returns>the return of NativeMethods.CloseHandle(handle)</returns>
|
|
</member>
|
|
<member name="T:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeServer">
|
|
<summary>
|
|
Listens to a specific named pipe for messages to open new files.
|
|
Error treatment:
|
|
The thoght behind not throwing exceptions from the named pipe functionality is to
|
|
go ahead with a fresh instance of PowerShell ISE if, for some reason, the named pipes did not work.
|
|
Client and Server Dynamic:
|
|
Each instance that receives no file name as a parameter starts a new server.
|
|
If the instance received a file name as a parameter, it will try to send the file name to an existing instance.
|
|
If it succeded, it terminates itself before creating a window. If it did not succede, it creates a new window and
|
|
a new server, so that any window of the ISE that is UP has a server running. This means that when an instance of
|
|
powershell_ise.exe is closed, any other instance still running, will be listening for future files sent to the pipe.
|
|
A client never just opens the pipe. It always opens the pipe and sends a string since an open will cause the server to
|
|
get out of its ConnectNamedPipe and go to its ReadFile which would make it unavailable to recieve further
|
|
connection/mesages.
|
|
Pipe Security:
|
|
The pipe has to be secured with the current logon sid, since the same user can use remote desktop
|
|
to connect to the same machine (at least in Windows Server 2003). This is the recommended way to secure named
|
|
pipes in the Named Pipe documentation. IntPtr.Zero would cause even other users logged on to the same box
|
|
to be able to open the pipe and send file names to be opened on the instance of powershell.exe runing under
|
|
the current user.
|
|
Pipe Name:
|
|
Because the pipe is secured with the logon sid, the same name, like "PowerShellISEPipeName" cannot be used
|
|
for the pipe in all logon sids. This would cause the second user logged on to get access denied to the pipe,
|
|
which would mean it would not be able to create a pipe server, and would not be able to receive pipe messages.
|
|
We could name the pipe with the logon sid, but it is unclear if this is priviledged information and pipe names
|
|
are very public. The recommendation to prevent pipe name squatting is to use a guid for the name, but the name
|
|
also has to be published to the pipe clients. The solution is to create a file in a well known place that
|
|
publishes the name of the pipe. The file path includes the logon sid, so clients within that logon sid have
|
|
a per logon session place to look for the current pipe name. The fact that the file is opened under the
|
|
application local storage of the current user (the file has access rights to the current user) will prevent
|
|
other users to see the logon sid of the current user. HKCU in the registry would also work.
|
|
All servers share the same pipe name except for the detail below.
|
|
Detail on the pipe name: There are 2 pipe names actually, since if we are running as admin, a different name is
|
|
used than when running as a regular user. This is not a security feature, but it lets "powershell_ise.exe filename.ps1"
|
|
send filename.ps1 to an admin powershell_ise.exe when it is started from an application running as admin, which is a nice feature.
|
|
Clearing up the file used to publish the logon name:
|
|
Each server cannot directly delete the file that publishes the pipe name, since other servers might be answering for
|
|
the same pipe name (See Client and Server Dynamic). This means that each server increments a reference count to the file
|
|
(which is actually maintained inside the file). When the count is zero (or one before the decrement) the file can be deleted.
|
|
When the file is deleted, if the file parent's directory (which is named after the logon sid) has no other files
|
|
(it can have up to 2 files, one for admin and another for non admin as mentioned in the Pipe Name session detail),
|
|
it is also deleted.
|
|
If, when a server starts it could not send a message to an existing server, it will assume it is the first server and reset
|
|
the reference count in the file that publishes the pipe name to 1. This allows for a new instance to delete previous files
|
|
created by other instances (in the same logon session) that have been terminated forcefully before decrementing their
|
|
reference count.
|
|
Stopping the server operation:
|
|
The NamedPipeServer is asynchronous and yet it is not. It is asynchronous because it uses the overlapped
|
|
structure that makes it asynchronous. It is not asynchronous because after each operation it locks on
|
|
a WaitForMultipleObjects that is going to have 2 handles: the pipeHandle and the cacelEvent handle.
|
|
The only reason why this code deals with the extra trouble of asynchronous IO is to be able to set the
|
|
stopListeningEvent and abort the server listening process.
|
|
A synchronous server has the issue of getting locked in a ConnectToNamedPipe or in a ReadFile. Once it is
|
|
locked, the thread cannot be stopped and the exe hangs arround.
|
|
Previous synchronous alternatives that caused problems where:
|
|
1) Set a flag and use the client to connect and send data through the pipe so that the server gets out
|
|
of its synchronous calls. This fails when we have more than one instance since the pipe has the same name
|
|
and another instance might get the client message.
|
|
2) Set a flag and then use the CancelSynchronousIO API. This worked fine, but this API is not available
|
|
in XP and CancelIO, which is available in XP did not work.
|
|
Using unmanaged API's to abort the managed thread was not even tried because it sounded risky.
|
|
The .NET 3.5 API's with the same asynchronous logic used here (waiting on 2 events) also worked fine
|
|
in tests and produced simpler code.
|
|
.NET 3.5 was not used in the exe because it is supposed to check for .NET presence. We did not move
|
|
the client and server to the DLL because it would take the same startup time (mostly depending on
|
|
DLL loading) to start up a client. Moving just the server side to the DLL would have worked, but
|
|
having half the solution in interop and half in .NET is not ideal.
|
|
Alternatives to consider in the future:
|
|
- One name per server can allow more predictability on what server receives the client messages
|
|
(there is none right now) but the cleaning up of the files not propperly deleted by their ow
|
|
n servers might requiring sending a message to each pipe instead of the current one messag
|
|
e to the current pipe we send in the beginning to reset the pipe name reference count.
|
|
.NET 3.5 SP1 has NamedPipe API's that might simplify some of this code and make the asynchronous pipe easier to write,
|
|
but most of the complexity here dealing with the files that publish pipe names, will still remain.
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeServer.BufferSize">
|
|
<summary>
|
|
The size of the Server read buffer.
|
|
.NET API's should be limited to MAX_PATH Even if file names we are passing through the pipe
|
|
are larger than 512 unicode characters, multiple reads are performed in the server and multiple
|
|
writes happen automatically on the client.
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeServer.Tracer">
|
|
<summary>
|
|
tracer for both server and client named pipe functionality.
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeServer.logonSid">
|
|
<summary>
|
|
Caches the retrieved logon sid
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeServer.useTestName">
|
|
<summary>
|
|
value indicating the server/client should use a test pipe name
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeServer.startListeningThread">
|
|
<summary>
|
|
Thread used in StartListening
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeServer.stopListeningEvent">
|
|
<summary>
|
|
The event used to cancel the listening on the server
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeServer.openMethod">
|
|
<summary>
|
|
Method to be called to open a file
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeServer.pipeHandle">
|
|
<summary>
|
|
Handle to the pipe initilized after a succesfull call to CreateNamedPipe
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeServer.pipeNameFile">
|
|
<summary>
|
|
Pointer to the file used to publish the pipe name.
|
|
We keep this so we can delete the file.
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeServer.pipeEvent">
|
|
<summary>
|
|
The event used in the overlapped structure to signal events on the pipe.
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeServer.testServerPauseEvent">
|
|
<summary>
|
|
Event allowing tests to pause the listening stages of the server.
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeServer.testPauseEvent">
|
|
<summary>
|
|
Event allowing tests to pause untill the server is about to wait on testServerPauseEvent
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeServer.testResultCallback">
|
|
<summary>
|
|
Callback called to communicate each result of the listening stage to test.
|
|
</summary>
|
|
</member>
|
|
<member name="M:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeServer.#ctor(System.Reflection.MethodInfo)">
|
|
<summary>
|
|
Initializes a new instance of the NamedPipeServer class
|
|
</summary>
|
|
<param name="openMethod">Method to be called to open files</param>
|
|
</member>
|
|
<member name="M:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeServer.GetLogonSidPath">
|
|
<summary>
|
|
Gets the array with the path up to the logon sid.
|
|
</summary>
|
|
<returns>the array with the path up to the logon sid.</returns>
|
|
</member>
|
|
<member name="M:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeServer.GetPipeNameStart">
|
|
<summary>
|
|
Gets the beginning of the pipe namethat does not include a guid
|
|
</summary>
|
|
<returns>he beginning of the pipe namethat does not include a guid</returns>
|
|
</member>
|
|
<member name="M:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeServer.GetApplicationDataPath(System.String[])">
|
|
<summary>
|
|
Gets the DirectoryInfo corresponding to path starting at application data or null if it does not exist
|
|
</summary>
|
|
<param name="path">path to be retrieved</param>
|
|
<returns>The DirectoryInfo corresponding to path starting at application data or null if it does not exist.</returns>
|
|
</member>
|
|
<member name="M:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeServer.GetFirstFileInfoStartingWith(System.IO.DirectoryInfo,System.String)">
|
|
<summary>
|
|
Searches for a FileInfo starting with <paramref name="str"/> in <paramref name="parent"/>.
|
|
</summary>
|
|
<param name="parent">Directory to search for</param>
|
|
<param name="str">start of file name to serach for</param>
|
|
<returns>A FileInfo starting with <paramref name="str"/> in <paramref name="parent"/> or null if not present.</returns>
|
|
</member>
|
|
<member name="M:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeServer.StopListening">
|
|
<summary>
|
|
A stopListening flag is used and checked in the server loop when we want to abort the server thread.
|
|
Since the server might be stopped into a synchronous IO call we interrupt that call with the unmanaged API
|
|
CancelSynchronousIo.
|
|
</summary>
|
|
</member>
|
|
<member name="M:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeServer.CreateNamedPipe(System.Boolean)">
|
|
<summary>
|
|
Calls CreateNamedPipe to start the server
|
|
</summary>
|
|
<param name="resetReferenceCount">
|
|
true if no previous server was detected so we can restart the reference count
|
|
</param>
|
|
<returns>true if it succeded in the pipe creation</returns>
|
|
</member>
|
|
<member name="M:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeServer.StartListening">
|
|
<summary>
|
|
Starts a thread that will run the server loop.
|
|
</summary>
|
|
</member>
|
|
<member name="M:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeServer.TryCreateText(System.IO.FileInfo,System.IO.StreamWriter@)">
|
|
<summary>
|
|
Calls file.CreateText returning false if an exception is thrown.
|
|
</summary>
|
|
<param name="file">file to call CreateText on</param>
|
|
<param name="stream">return value from CreateText</param>
|
|
<returns>false if an exception is thrown calling CreateText</returns>
|
|
</member>
|
|
<member name="M:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeServer.TryOpenText(System.IO.FileInfo,System.IO.StreamReader@)">
|
|
<summary>
|
|
Calls file.OpenText returning false if an exception is thrown.
|
|
</summary>
|
|
<param name="file">file to call OpenText on</param>
|
|
<param name="stream">return value from OpenText</param>
|
|
<returns>false if an exception is thrown calling OpenText</returns>
|
|
</member>
|
|
<member name="M:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeServer.TryGetPipeNameReferenceCount(System.IO.FileInfo,System.Int32@)">
|
|
<summary>
|
|
Tries to get the current reference count value from file
|
|
</summary>
|
|
<param name="file">file we want to get the reference count from.</param>
|
|
<param name="value">returned refernece count</param>
|
|
<returns>true if succeded getting the reference count</returns>
|
|
</member>
|
|
<member name="M:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeServer.TrySetPipeNameReferenceCount(System.IO.FileInfo,System.Int32)">
|
|
<summary>
|
|
Tries to set the current reference count value in file.
|
|
</summary>
|
|
<param name="file">file we want to set the reference count.</param>
|
|
<param name="value">refernece count</param>
|
|
<returns>true if succeded setting the reference count</returns>
|
|
</member>
|
|
<member name="M:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeServer.GetLogonSid">
|
|
<summary>
|
|
Retrieves the logon sid used to secure the named pipe.
|
|
</summary>
|
|
<returns>The logon sid used to secure the named pipe</returns>
|
|
</member>
|
|
<member name="M:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeServer.CreateDirectoryInfo(System.String)">
|
|
<summary>
|
|
Calls the DirectoryInfo constructor returning null if an exception was thrown.
|
|
The directory is not garanteed to be created on the return of this function.
|
|
</summary>
|
|
<param name="fullPath">Path to the directory to be created</param>
|
|
<returns>A DirectoryInfo corresponding to <paramref name="fullPath"/> or null if an exception was thrown</returns>
|
|
</member>
|
|
<member name="M:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeServer.CreateChildPathIfNecessary(System.IO.DirectoryInfo,System.String)">
|
|
<summary>
|
|
Based on an esisting <paramref name="parent"/> creates a child directory corresponding to <paramref name="childPath"/>
|
|
if it doesn't already exists.
|
|
</summary>
|
|
<param name="parent">existing parent directory</param>
|
|
<param name="childPath">child path to be created</param>
|
|
<returns>The created child directory.</returns>
|
|
</member>
|
|
<member name="M:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeServer.CreateApplicationDataPath(System.String[])">
|
|
<summary>
|
|
Creates all elements in path starting at application data.
|
|
</summary>
|
|
<param name="path">path to be created</param>
|
|
<returns>The childmost Directory info or null if it could not be created.</returns>
|
|
</member>
|
|
<member name="M:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeServer.CreatePipeNameIfNecessary">
|
|
<summary>
|
|
Called by the server to Create a pipe name if necesssary.
|
|
</summary>
|
|
<returns>The file used to publish the pipe name pipe name, or null if it could not be created.</returns>
|
|
</member>
|
|
<member name="M:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeServer.IsAdmin">
|
|
<summary>
|
|
Returns true if we are running as administrator
|
|
</summary>
|
|
<returns>true if we are running as administrator</returns>
|
|
</member>
|
|
<member name="M:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeServer.CreateSecurityDescriptor(System.Security.Principal.SecurityIdentifier)">
|
|
<summary>
|
|
Returns a security descriptor allowing the sid full control
|
|
</summary>
|
|
<param name="sid">sid to be allowd full control</param>
|
|
<returns>a security descriptor allowing the sid full control</returns>
|
|
</member>
|
|
<member name="M:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeServer.GetSessionSecurityAttributes(System.Runtime.InteropServices.GCHandle)">
|
|
<summary>
|
|
Gets security attributes with the security descriptor.
|
|
</summary>
|
|
<param name="securityDescriptor">Security Descriptor</param>
|
|
<returns>security attributes with the security descriptor</returns>
|
|
</member>
|
|
<member name="M:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeServer.TryDeleteFile(System.IO.FileInfo)">
|
|
<summary>
|
|
Deletes a file returning true if it could be deleted
|
|
</summary>
|
|
<param name="file">file to be deleted</param>
|
|
<returns>true if it could be deleted</returns>
|
|
</member>
|
|
<member name="M:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeServer.TryDeleteDirectory(System.IO.DirectoryInfo)">
|
|
<summary>
|
|
Deletes directory returning true if it could be deleted
|
|
</summary>
|
|
<param name="directory">directory to be deleted</param>
|
|
<returns>true if it could be deleted</returns>
|
|
</member>
|
|
<member name="M:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeServer.StartListeningThreadStart">
|
|
<summary>
|
|
Starts the loop listening to clients.
|
|
This is aborted when this.StopListening() is called.
|
|
</summary>
|
|
</member>
|
|
<member name="M:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeServer.TestCallback(Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeServer.TestResults)">
|
|
<summary>
|
|
Calls the testResultCallBack, if it is present.
|
|
</summary>
|
|
<param name="result">result to be passed to the callback</param>
|
|
</member>
|
|
<member name="M:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeServer.TestPause">
|
|
<summary>
|
|
Informs tests it is about to wait on testServerPauseEvent by setting testPauseEvent and
|
|
waits on this.testServerPauseEvent, if both events are present.
|
|
</summary>
|
|
</member>
|
|
<member name="M:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeServer.InvokeOpenMethod(System.Text.StringBuilder,System.String)">
|
|
<summary>
|
|
Called when the final string reaches the server to call this.openMethod
|
|
</summary>
|
|
<param name="stringSoFar">string accumulated so far</param>
|
|
<param name="finalString">final string segment</param>
|
|
</member>
|
|
<member name="M:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeServer.TryDecrementCountOrDeletePipeNameFile">
|
|
<summary>
|
|
Decrements the count of servers listening to the named pipe and deletes the file that publishes
|
|
the named pipe name if this is the last server
|
|
</summary>
|
|
</member>
|
|
<member name="M:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeServer.TryDeletePipeNameFile">
|
|
<summary>
|
|
tries to delete this.pipeNameFile and its parent folder if no more servers are still up advertising that file name
|
|
</summary>
|
|
</member>
|
|
<member name="P:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeServer.LogonSid">
|
|
<summary>
|
|
Gets the cached logon sid
|
|
</summary>
|
|
</member>
|
|
<member name="P:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeServer.UseTestName">
|
|
<summary>
|
|
Gets or sets a value indicating whether the server/client should use a test pipe name
|
|
</summary>
|
|
</member>
|
|
<member name="P:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeServer.TestServerPauseEvent">
|
|
<summary>
|
|
Gets or sets an event allowing tests to pause the listening stages of the server.
|
|
This should be set before calling StartListening.
|
|
</summary>
|
|
</member>
|
|
<member name="P:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeServer.TestPauseEvent">
|
|
<summary>
|
|
Gets or sets an event allowing tests to pause untill the server is about to wait on testServerPauseEvent.
|
|
This should be set before calling StartListening.
|
|
</summary>
|
|
</member>
|
|
<member name="P:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeServer.TestResultCallback">
|
|
<summary>
|
|
Gets or sets a callback called to communicate each result of the listening stage to test.
|
|
This should be set before calling StartListening.
|
|
</summary>
|
|
</member>
|
|
<member name="T:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeServer.TestResults">
|
|
<summary>
|
|
Results to be communicated to test
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeServer.TestResults.ConnectionPending">
|
|
<summary> test value </summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeServer.TestResults.CancelConnection">
|
|
<summary> test value </summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeServer.TestResults.ConnectionResultFailedBeforeWait">
|
|
<summary> test value </summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeServer.TestResults.ConnectionResultFailedAfterWait">
|
|
<summary>
|
|
This is one of 2 test values that cannot yet be tested since if the server
|
|
is waiting and the client does the first thing it can withy the pipe, which is a CreateFile,
|
|
the connection will succede.
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeServer.TestResults.ConnectionSuccededWithErrorConnected">
|
|
<summary> test value </summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeServer.TestResults.ConnectionSuccededAfterWait">
|
|
<summary> test value </summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeServer.TestResults.ConnectionReadyToGetResult">
|
|
<summary> test value </summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeServer.TestResults.ConnectionResultSuccesfull">
|
|
<summary> test value </summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeServer.TestResults.ReadResultSuccessfull">
|
|
<summary> test value </summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeServer.TestResults.CancelRead">
|
|
<summary> test value </summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeServer.TestResults.ReadOverlappedResultSuccessfull">
|
|
<summary> test value </summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeServer.TestResults.ReadMoreData">
|
|
<summary> test value </summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeServer.TestResults.ReadFailureWaiting">
|
|
<summary> test value </summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeServer.TestResults.ReadFailureNoWaiting">
|
|
<summary> test value </summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeServer.TestResults.DisconnectionFailure">
|
|
<summary>
|
|
This is also untested.
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NamedPipeServer.TestResults.DisconnectionSuccess">
|
|
<summary> test value </summary>
|
|
</member>
|
|
<member name="T:Microsoft.Windows.PowerShell.GuiExe.Internal.NLCommonStrings">
|
|
<summary>
|
|
Contains all the strings that should not be localized.
|
|
The comments in each field are the justification for the strings not to be localized
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NLCommonStrings.PipeNoOp">
|
|
<summary>String that is ignored when received by the pipe server.</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NLCommonStrings.PipeName">
|
|
<summary>Literally: PowerShellISEPipeName</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NLCommonStrings.PipeThreadName">
|
|
<summary>PowerShell ISE NamedPipe Server</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NLCommonStrings.PipeNamePrefix">
|
|
<summary>Literally: \\.\pipe\</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NLCommonStrings.Microsoft">
|
|
<summary>Literally: Microsoft</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NLCommonStrings.PowerShell">
|
|
<summary>Literally: PowerShell</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NLCommonStrings.ISE">
|
|
<summary>Literally: ISE</summary>
|
|
</member>
|
|
<member name="F:Microsoft.Windows.PowerShell.GuiExe.Internal.NLCommonStrings.Windows">
|
|
<summary>Literally: Windows</summary>
|
|
</member>
|
|
</members>
|
|
</doc>
|