Export (0) Print
Expand All

4.2 Executing a SCSI Command

The following diagram demonstrates the steps taken to open a shared virtual disk file, execute a SCSI command, and close it.

373a1850-daa1-420d-ba01-c3280c94034f

Figure 3: Executing a SCSI command

  1. The client sends an SMB2 CREATE Request with the SVHDX_OPEN_DEVICE_CONTEXT create context to open a shared virtual disk file.

    Version: 1(0x00000001)
    HasInitiatorId: 1
    Reserved: 0(0x000000)
    InitiatorId:(0x07770D201F2740834579D46F5AC43B73)
    Flags  : 0(0x00000000)
    OriginatorFlags:1(0x00000001)
    OpenRequestId: (0x000000001EC7871E)
    InitiatorHostNameLength:16(0x0010)
    InitiatorHostName:client01(0x003100300074006E00650069006C0063)
  2. The server responds with an SMB2 CREATE Response giving the handle to the open identifying shared virtual disk file.

  3. The client sends an SMB2 IOCTL Request with SVHDX_TUNNEL_ FILE_INFO_REQUEST to retrieve the virtual disk information.

    OperationCode: RSVD_TUNNEL_GET_INITIAL_INFO_OPERATION (0x02001001)
    Status: 0 (0x00000000)
    RequestId:(0x000000001Ec7871E)
    ServerVersion:0 (0x00000000)
    SectorSize: 0 (0x00000000)
    PhysicalSectorSize:0 (0x00000000)
    VirtualSize:0 (0x0000000000000000)
  4. The server sends an SMB2 IOCTL Response with SVHDX_TUNNEL_FILE_INFO_RESPONSE containing the virtual disk information.

    OperationCode: RSVD_TUNNEL_GET_FILE_INFO_OPERATION (0x02001001)
    Status: 0 (0x00000000)
    RequestId: (0x000000001Ec7871E)
    ServerVersion: 1 (0x00000001)
    SectorSize: 512(0x00000200)
    PhysicalSectorSize: 256(0x00000100)
    VirtualSize: (0x4000000000000000)
    Reserved: 0 (0x00000000)
  5. The client sends an SMB2 IOCTL Request with SVHDX_TUNNEL_ SCSI_REQUEST to execute a SCSI command.

    OperationCode: RSVD_TUNNEL_SCSI_OPERATION (0x02001002)
    Status: 0 (0x00000000)
    RequestId:(0x000000001Ec7871E)
    Length:36 (0x0024)
    Reserved1: 0 (0x0000)
    CDBLength:16 (0x10)
    SenseInfoExLength:20(0x14)
    DataIn: 1(0x01)
    Reserved2:0(0x00)
    SrbFlags: (0x0020014A)
    DataTransferLength: 8(0x00000008)
    CDBBuffer: 37(0x00000000000000000000000000000025)
    Reserved3: 0(0x00000000)
    DataBuffer: 0(0x0000000000000000)
  6. The server sends an SMB2 IOCTL Response with SVHDX_TUNNEL_SCSI_RESPONSE containing the response.

    OperationCode: RSVD_TUNNEL_SCSI_OPERATION (0x02001002)
    Status: 0 (0x00000000)
    RequestId: (0x000000001Ec7871E)
    Length: 36 (0x0024)
    SrbStatus: 0(0x00)
    ScsiStatus: 0(0x00)
    CDBLength: 16(0x10)
    SenseInfoExLength: 20(0x14)
    DataIn: 1(0x01)
    Reserved: 0(0x00)
    SrbFlags: (0x0020014A)
    DataTransferLength: 8(0x00000008)
    SenseDataEx:37(0x0000000000000000000000000000000000000025)
    DataBuffer: 0(0x0000000000000000)
  7. The client sends an SMB2 CLOSE Request to close the shared virtual disk file.

  8. The server sends an SMB2 CLOSE Response indicating the close was successful.

 
Show:
© 2014 Microsoft