The server service is located above the TDI and is implemented as a file system driver. The CIFS server service interacts directly with other file-system drivers to satisfy I/O requests, such as reading or writing to a file. The server service supplies the connections requested by client-side redirectors and provides them with access to the resources they request. Figure B.18 shows the server service receiving a data request.
Figure B . 18 Server Service
When the server service receives a request from a remote computer asking to read a file that resides on the local hard drive, the following steps occur:
The low-level network drivers receive the request and pass it to the server driver.
The server service passes the request to the appropriate local file-system driver.
The local file-system driver calls lower-level, disk -device drivers to access the file.
The data is passed back to the local file-system driver.
The local file-system driver passes the data back to the server service.
The server service passes the data to the lower-level network drivers for transmission back to the remote computer.
The server service is composed of two parts:
Server service is a component of Services.exe. Services.exe is the Service Control Manager, where all services start. Unlike the workstation service, the server service is not dependent on the Multiple Uniform Naming Convention Provider (MUP). The MUP selects the appropriate UNC provider to handle the requests.
Srv.sys is a file system driver that handles the interaction with the lower levels of the protocol stack and directly interacts with various file system devices to satisfy command requests, such as file read and write.