3.2.4 Message Processing Events and Sequencing Rules

This protocol requires the following:

Methods that accept any of the following types of handles as parameters MUST return an implementation specific error to the caller, if the impersonation level for the RPC connection that refers to the handle is not set to SECURITY_IDENTIFICATION ([MS-RPCE] section 2.2.1.1.10):

  • WKSSVC_IDENTIFY_HANDLE (section 2.2.2.1)

  • WKSSVC_IMPERSONATE_HANDLE (section 2.2.2.2)

  • handle_t (section 2.2.2.3)

The server (2) SHOULD<26> enforce security measures to verify that the caller has the required permissions to execute the methods in this protocol. Specifications for determining the identity of the caller for performing an access check are in [MS-RPCE] section 3.3.3.1.3.

The following methods make up the wkssvc interface.

Method

Description

NetrWkstaGetInfo (section 3.2.4.1)

Returns details about the configuration of a workstation.

Opnum: 0

NetrWkstaSetInfo (section 3.2.4.2)

Configures the permanent settings for a workstation.

Opnum: 1

NetrWkstaUserEnum (section 3.2.4.3)

Lists details about all users currently logged onto a workstation.

Opnum: 2

Opnum3NotUsedOnWire

Reserved for local use.

Opnum: 3

Opnum4NotUsedOnWire

Reserved for local use.

Opnum: 4

NetrWkstaTransportEnum (section 3.2.4.4)

Returns details about the settings of the network redirector.

Opnum: 5

NetrWkstaTransportAdd (section 3.2.4.5)

Binds the transport to the network redirector.

Opnum: 6

NetrWkstaTransportDel (section 3.2.4.6)

Unbinds the transport from the network redirector.

Opnum: 7

NetrUseAdd (section 3.2.4.7)

Establishes a connection between the workstation server and an SMB server.

Opnum: 8

NetrUseGetInfo (section 3.2.4.8)

Retrieves details from a remote workstation about a connection to a shared resource on an SMB server.

Opnum: 9

NetrUseDel (section 3.2.4.9)

Disconnects the connection between the workstation server and an SMB server.

Opnum: 10

NetrUseEnum (section 3.2.4.10)

Returns details about the connections between the workstation server and an SMB server.

Opnum: 11

Opnum12NotUsedOnWire

Reserved for local use.

Opnum: 12

NetrWorkstationStatisticsGet (section 3.2.4.11)

Retrieves workstation statistics.

Opnum: 13

Opnum14NotUsedOnWire

Reserved for local use.

Opnum: 14

Opnum15NotUsedOnWire

Reserved for local use.

Opnum: 15

Opnum16NotUsedOnWire

Reserved for local use.

Opnum: 16

Opnum17NotUsedOnWire

Reserved for local use.

Opnum: 17

Opnum18NotUsedOnWire

Reserved for local use.

Opnum: 18

Opnum19NotUsedOnWire

Reserved for local use.

Opnum: 19

NetrGetJoinInformation (section 3.2.4.12)

Retrieves join-status details for a specified computer.

Opnum: 20

Opnum21NotUsedOnWire

Reserved for local use.

Opnum: 21

NetrJoinDomain2 (section 3.2.4.13)

Uses encrypted credentials to join a computer to a workgroup or domain.

Opnum: 22

NetrUnjoinDomain2 (section 3.2.4.14)

Uses encrypted credentials to unjoin a computer from a workgroup or domain.

Opnum: 23

NetrRenameMachineInDomain2 (section 3.2.4.15)

Uses encrypted credentials to rename a computer in a domain.

Opnum: 24

NetrValidateName2 (section 3.2.4.16)

Uses encrypted credentials to verify the validity of a computer, workgroup, or domain name.

Opnum: 25

NetrGetJoinableOUs2 (section 3.2.4.17)

Uses encrypted credentials to retrieve a list of organizational units (OUs) for account creation.

Opnum: 26

NetrAddAlternateComputerName (section 3.2.4.18)

Adds an alternate name for a specified server.

Opnum: 27

NetrRemoveAlternateComputerName (section 3.2.4.19)

Removes an alternate name for a specified server.

Opnum: 28

NetrSetPrimaryComputerName (section 3.2.4.20)

Sets the primary computer name for a specified server.

Opnum: 29

NetrEnumerateComputerNames (section 3.2.4.21)

Returns a list of computer names for a specified server.

Opnum: 30

In the preceding table, the term "Reserved for local use" means that the client MUST NOT send the opnum, and the server behavior is undefined<27> because it does not affect interoperability.

All methods MUST NOT throw exceptions.

Note All methods that establish SMB sessions in the course of message processing MUST close such sessions immediately prior to returning, by providing the server name and the security principal for each session that is being closed ([MS-SMB2] section 3.2.4.23), unless otherwise stated. All methods that establish SMB share connections in the course of message processing MUST close such share connections immediately prior to returning, by providing the server name, the share name, and each security principal that is requesting the share be closed ([MS-SMB2] section 3.2.4.22), unless otherwise stated.<28>