1. We have moved from vBulletin to XenForo and you are viewing the site in the middle of the move. Though the functional aspect of everything is working fine, we are still working on other changes including the new design on Xenforo.
    Dismiss Notice

Scsi Rewind Failing - Error "Access is Denied"

Discussion in 'MFC' started by hemanth_hp, Mar 21, 2007.

  1. hemanth_hp

    hemanth_hp New Member

    Joined:
    Mar 21, 2007
    Messages:
    2
    Likes Received:
    0
    Trophy Points:
    0
    Code:
    memset(&stScsiCmd, 0, sizeof(stScsiCmd));
    memset(bRqBuf, 0, sizeof(bRqBuf));
    memset(bCdb, 0, sizeof(bCdb));
    
    bCdb[0] = MTU_REWIND; // Rewind command 01h
    bCdb[1] = IMMMODE; // Immed bit=0
    
    stScsiCmd.sptd.Length = sizeof(SCSI_PASS_THROUGH_DIRECT);
    stScsiCmd.sptd.CdbLength = CDB_GROUP0;
    stScsiCmd.sptd.DataIn = SCSI_IOCTL_DATA_IN;
    stScsiCmd.sptd.SenseInfoLength = sizeof(stScsiCmd.ucSenseBuf); //RQLEN; 
    stScsiCmd.sptd.DataTransferLength = sizeof(bRqBuf);
    stScsiCmd.sptd.TimeOutValue = g_stDeviceData.uiScsiTimeOut;
    stScsiCmd.sptd.DataBuffer = bRqBuf;
    stScsiCmd.sptd.SenseInfoOffset = offsetof(SCSI_PASS_THROUGH_DIRECT_WITH_BUFFER, ucSenseBuf);
    memcpy(stScsiCmd.sptd.Cdb, bCdb, CDB_GROUP0);
    
    //length = sizeof(SCSI_PASS_THROUGH_DIRECT_WITH_BUFFER);
    
    iResult = DeviceIoControl(hDevHndl,
    IOCTL_SCSI_PASS_THROUGH_DIRECT,
    &stScsiCmd,
    sizeof(SCSI_PASS_THROUGH_DIRECT_WITH_BUFFER),
    &stScsiCmd,
    sizeof(SCSI_PASS_THROUGH_DIRECT_WITH_BUFFER),
    &returned,
    FALSE);
    
    errCode = GetLastError();
    //0 is for failure
    if ((iResult == 0) || (stScsiCmd.sptd.ScsiStatus != 0))
    {
    return -1;
    }
     
    Last edited by a moderator: Mar 21, 2007

Share This Page