3.2.4 Message Processing Events and Sequencing Rules
This protocol requires the following:
The RPC runtime MUST perform a strict network data representation (NDR) data consistency check at target level 6.0 ([MS-RPCE] section 3.1.1.5.3.3).
The RPC runtime MUST reject a NULL unique or full pointer with a nonzero conformant value ([MS-RPCE] section 3.1.1.5.3.3.1.2).
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>