2.2.3.17 Host Method Identifier

This data type represents a method to be executed on a host.

This data type is an enum (as specified in section 2.2.5.2.7) based on the default underlying type (signed int, as specified in section 2.2.5.1.11) that defines the named constants listed in the following tables.

The following table lists the possible values for method identifiers when a server invokes a host method on the client. What the host methods SHOULD or MUST do is also defined in the table.

The client MUST hand over requests for execution of a host method to a higher-layer host. The host will either perform the action described in the Method Details column of the following table, or indicate that there was an error executing the host method (if the method is not supported or not implemented, for instance).

If the Return Value column indicates that the method returns a return value, the client MUST send a RUNSPACEPOOL_HOST_RESPONSE message (see section 2.2.2.16) or a PIPELINE_HOST_RESPONSE message (see section 2.2.2.28). If the higher-layer host reported an error after executing the host method, then the response message MUST include the "me" property. If the higher-layer host returned a return value after executing the host method, then the response message MUST include the "mr" property and the client MUST make sure that the data type of the "mr" property is the same as the type of return value described in the following Return Value column.

If the Return Value column indicates that the method does not return a value, the client MUST NOT send a RUNSPACEPOOL_HOST_RESPONSE message (see section 2.2.2.16) or a PIPELINE_HOST_RESPONSE message (see section 2.2.2.28).

Host Read Only Properties

Name of method/property

Method identifier

Return value

Method details

GetName

1

String (section 2.2.5.1.1)

SHOULD return a string identifying the hosting application in a user friendly way.

GetVersion

2

Version number (section 2.2.5.1.21)

SHOULD return the version number of the hosting application.

GetInstanceId

3

GUID (section 2.2.5.1.18)

SHOULD return a GUID that uniquely identifies the hosting application.

GetCurrentCulture

4

CultureInfo (section 2.2.6.1.2)

SHOULD return the host's culture.

GetCurrentUICulture

5

CultureInfo (section 2.2.6.1.2)

MUST return the host's UI culture.

Host Methods

Name of method/property

Method identifier

Return value

Method details

SetShouldExit

6

None

SHOULD shut down the hosting application and close the current runspace.

EnterNestedPrompt

7

None

SHOULD interrupt the current pipeline and start a nested pipeline.

ExitNestedPrompt

8

None

SHOULD stop the nested pipeline and resume the current pipeline.

NotifyBeginApplication

9

None

Called by an application to indicate that it is executing a command line application.

NotifyEndApplication

10

None

Called by an application to indicate that it has finished executing a command line application.

Host UI Methods

Name of method/property

Method identifier

Return value

Method details

ReadLine

11

String (section 2.2.5.1.1)

SHOULD read a line of characters from a user.

ReadLineAsSecureString

12

Secure String (section 2.2.5.1.24)

SHOULD read a line of characters from a user, with the user input not echoed.

Write1

13

None.

SHOULD write specified characters on the hosting application.

Write2

14

None.

SHOULD write the specified characters with the specified foreground and background color on the hosting application.

WriteLine1

15

None.

SHOULD write a carriage return on the hosting application.

WriteLine2

16

None.

SHOULD write the specified line on the hosting application.

WriteLine3

17

None.

SHOULD write the specified line with the specified foreground and background color on the hosting application.

WriteErrorLine

18

None.

SHOULD write a line to the error display of the hosting application.

WriteDebugLine

19

None.

SHOULD write a line to the debug display of the hosting application.

WriteProgress

20

None.

SHOULD display a progress record on the hosting application.

WriteVerboseLine

21

None.

SHOULD write a line on the verbose display of the hosting application.

WriteWarningLine

22

None.

SHOULD write a line on the warning display of the hosting application.

Prompt

23

Dictionary (section 2.2.6.1.6) with String (section 2.2.5.1.1) keys representing the name of a field prompted for and values of arbitrary type.

SHOULD prompt the user with a set of choices.

PromptForCredential1

24

PSCredential (section 2.2.3.25)

SHOULD prompt the user for entering credentials with the specified caption, message, user name and target name.

PromptForCredential2

25

PSCredential (section 2.2.3.25)

SHOULD prompt the user for entering credentials with the specified caption, message, username, target name, allowed credential types and options.

PromptForChoice

26

Signed int (section 2.2.5.1.11

SHOULD display a list of choices to the user and MUST return the index of the selected option.

Host RawUI Read/Write Properties

Name of method/property

Method identifier

Return value

Method details

GetForegroundColor

27

Color (section 2.2.3.3)

SHOULD return the foreground color of the hosting application.

SetForegroundColor

28

None.

SHOULD set the foreground color of the hosting application.

GetBackgroundColor

29

Color (section 2.2.3.3)

SHOULD return the background color of the hosting application.

SetBackgroundColor

30

None.

SHOULD set the background color of the hosting application.

GetCursorPosition

31

Coordinates (section 2.2.3.1)

SHOULD return the current cursor position in the hosting application.

SetCursorPosition

32

None.

SHOULD set the current cursor position in the hosting application.

GetWindowPosition

33

Coordinates (section 2.2.3.1)

SHOULD return the position of the view window relative to the screen buffer.

SetWindowPosition

34

None.

SHOULD set the position of the view window relative to the screen buffer.

GetCursorSize

35

Signed int (section 2.2.5.1.11)

SHOULD return the cursor size as a percentage.

SetCursorSize

36

None.

SHOULD set the cursor size based on the percentage value specified.

GetBufferSize

37

Size (section 2.2.3.2)

SHOULD return the current size of the screen buffer, measured in character cells.

SetBufferSize

38

None.

SHOULD set the size of the screen buffer with the specified size in character cells.

GetWindowSize

39

Size (section 2.2.3.2)

SHOULD return the current view window size.

SetWindowSize

40

None.

SHOULD set the view window size based on the size specified.

GetWindowTitle

41

String (section 2.2.5.1.1)

SHOULD return the title of the hosting application's window.

SetWindowTitle

42

None.

SHOULD set the title of the hosting application's window.

Host RawUI Read Only Properties

Name of method/property

Method identifier

Return value

Method details

GetMaxWindowSize

43

Size (section 2.2.3.2)

SHOULD return the maximum window size possible for the current buffer, current font, and current display hardware.

GetMaxPhysicalWindowSize

44

Size (section 2.2.3.2)

SHOULD return the maximum window size possible for the current font and current display hardware, ignoring the current buffer size.

GetKeyAvailable

45

Boolean (section 2.2.5.1.3)

SHOULD examine if a keystroke is waiting on the input, returning TRUE if so and FALSE otherwise.

Host RawUI Methods

Name of method/property

Method identifier

Return value

Method details

ReadKey

46

KeyInfo (section 2.2.3.26)

SHOULD read a key stroke from the keyboard, blocking until a key is typed.

FlushInputBuffer

47

None.

SHOULD reset the keyboard input buffer.

SetBufferContents1

48

None.

SHOULD copy the specified buffer cell array into the screen buffer at the specified coordinates (as specified in section 2.2.3.1).

SetBufferContents2

49

None.

SHOULD copy the specified buffer cell into all the cells within the specified rectangle.

GetBufferContents

50

Array (section 2.2.6.1.4) of BufferCell elements (section 2.2.3.28)

SHOULD return the contents in a specified rectangular region of the hosting application's window and MUST return an array of buffer cells.

ScrollBufferContents

51

None.

SHOULD scroll a region on the screen buffer.

IHostSupportsInteractiveSession Methods

Name of method/property

Method identifier

Return value

Method details

PushRunspace

52

None.

SHOULD store the current working runspace in a stack and replace it with the new specified runspace.

PopRunspace

53

None.

SHOULD retrieve the last stored runspace from the stack and make it the current active runspace.

IHostSupportsInteractiveSession Read Only Properties

Name of method/property

Method identifier

Return value

Method details

GetIsRunspacePushed

54

Boolean (section 2.2.5.1.3)

SHOULD validate if there is a runspace currently pushed on a stack in the host, returning true if so and false otherwise.

GetRunspace

55

Any object (section 2.2.5) that the higher layer uses to represent the current runspace. The PowerShell Remoting Protocol MUST transparently pass the data received from the host implemented in the higher layer. The PowerShell Remoting Protocol MUST ignore this value.

SHOULD return the currently active runspace.

IHostSupportsMultipleChoiceSelect Methods

Name of method/property

Method identifier

Return value

Method details

PromptForChoiceMultipleSelection

56

Collection (section 2.2.6.1.5) of signed ints (section 2.2.5.1.11)

SHOULD display a list of choices to the user and return a list of options selected by the user.

The Complex Object described in this section SHOULD have the following type names (section 2.2.5.2.3):

  • System.Management.Automation.Remoting.RemoteHostMethodId

  • System.Enum

  • System.ValueType

  • System.Object