Any help will be appreciated...
2 days no luck 87 error...
please anyone look on the code:
int nSizeOfCmd = sizeof (SFFDISK_DEVICE_COMMAND_DATA) + sizeof(SDCMD_DESCRIPTOR) + 6;
SFFDISK_DEVICE_COMMAND_DATA *scData = (SFFDISK_DEVICE_COMMAND_DATA*) new BYTE[nSizeOfCmd];
//SFFDISK_DEVICE_COMMAND_DATA scData = {0};
memset(scData, 0, nSizeOfCmd);
scData->HeaderSize = sizeof(SFFDISK_DEVICE_COMMAND_DATA);
scData->Command = SFFDISK_DC_DEVICE_COMMAND;
BYTE bySDCmd[6] = {0x42, 0x00,0x00,0x00,0x00,0x00};
scData->ProtocolArgumentSize = sizeof (SDCMD_DESCRIPTOR);
scData->DeviceDataBufferSize = sizeof (bySDCmd);
SDCMD_DESCRIPTOR stCmdDescriptor = { 0 };
stCmdDescriptor.Cmd = SDCMD_IO_RW_DIRECT;
stCmdDescriptor.CmdClass = SDCC_APP_CMD;
stCmdDescriptor.TransferDirection = SDTD_WRITE;
stCmdDescriptor.ResponseType = SDRT_2;
stCmdDescriptor.TransferType = SDTT_CMD_ONLY;
memcpy((BYTE *)(&(scData->Data[0])), &stCmdDescriptor,sizeof(SDCMD_DESCRIPTOR));
memcpy(&(scData->Data[0]) + sizeof (SDCMD_DESCRIPTOR), &bySDCmd,sizeof (bySDCmd));
DWORD dwReturn;
LPVOID idDisk;
if (!DeviceIoControl(hDevice, IOCTL_SFFDISK_DEVICE_COMMAND,
&scData, nSizeOfCmd,
&idDisk, nSizeOfCmd,
&dwReturn,
NULL)){
DWORD dwLastError = GetLastError();;
}