struktur RECEIVE_TOKEN_INFORMATION_HEADER (scsi.h)
Struktur RECEIVE_TOKEN_INFORMATION_HEADER berisi informasi yang dikembalikan sebagai status dari operasi transfer data offload.
Sintaks
typedef struct {
UCHAR AvailableData[4];
UCHAR ResponseToServiceAction : 5;
UCHAR Reserved1 : 3;
UCHAR OperationStatus : 7;
UCHAR Reserved2 : 1;
UCHAR OperationCounter[2];
UCHAR EstimatedStatusUpdateDelay[4];
UCHAR CompletionStatus;
UCHAR SenseDataFieldLength;
UCHAR SenseDataLength;
UCHAR TransferCountUnits;
UCHAR TransferCount[8];
UCHAR SegmentsProcessed[2];
UCHAR Reserved3[6];
UCHAR SenseData[ANYSIZE_ARRAY];
} RECEIVE_TOKEN_INFORMATION_HEADER, *PRECEIVE_TOKEN_INFORMATION_HEADER;
Anggota
AvailableData[4]
Jumlah data yang tersedia dalam array SenseData dan informasi hasil tambahan apa pun.
ResponseToServiceAction
Kode respons yang menunjukkan tindakan perintah mana yang responsnya. Kode tindakan layanan adalah sebagai berikut.
Nilai | Makna |
---|---|
SERVICE_ACTION_POPULATE_TOKEN | Informasi respons adalah untuk perintah ISI TOKEN. |
SERVICE_ACTION_WRITE_USING_TOKEN | Informasi respons adalah untuk perintah TULIS MENGGUNAKAN TOKEN. |
Reserved1
Dicadangkan.
OperationStatus
Status operasi salin saat ini. Statusnya bisa menjadi salah satu nilai berikut.
Nilai | Makna |
---|---|
0x01 | Operasi berhasil diselesaikan. |
0x02 | Operasi selesai tidak berhasil. |
0x04 | Operasi berhasil diselesaikan tetapi inisiator salin harus memverifikasi bahwa semua data telah ditransfer. |
0x10 | Operasi sedang berlangsung. Status operasi latar depan atau latar belakang tidak diketahui. |
0x11 | Operasi sedang berlangsung di latar depan. |
0x12 | Operasi sedang berlangsung di latar belakang. |
0x60 | Operasi dihentikan. Mungkin oleh reservasi sumber daya yang ada. |
Reserved2
Dicadangkan.
OperationCounter[2]
Jumlah perintah yang diproses untuk operasi salin saat ini.
EstimatedStatusUpdateDelay[4]
Waktu yang disarankan, dalam milidetik, untuk menunggu sebelum mengirim perintah STATUS TERIMA SALIN berikutnya untuk informasi yang diperbarui tentang operasi salin saat ini.
CompletionStatus
Kode status SCSI untuk operasi perintah salin.
SenseDataFieldLength
Panjangnya, dalam byte, dari seluruh area data yang tersedia untuk data yang masuk akal. Nilai ini selalu >= SenseDataLength.
SenseDataLength
Panjangnya, dalam byte, dari data dalam SenseData.
TransferCountUnits
Unit byte diterapkan ke TransferCount. Setiap ekspansi unit adalah eksponen di basis 2. Nilai pengali TRANSFER_COUNT_UNITS_KIBIBYTES, misalnya, adalah 1024 dan bukan 1000. Unit yang ditentukan adalah sebagai berikut.
Nilai | Makna |
---|---|
TRANSFER_COUNT_UNITS_BYTES | Jumlah transfer dalam byte. |
TRANSFER_COUNT_UNITS_KIBIBYTES | Jumlah transfer dalam kilobyte. |
TRANSFER_COUNT_UNITS_MEBIBYTES | Jumlah transfer dalam megabyte. |
TRANSFER_COUNT_UNITS_GIBIBYTES | Jumlah transfer dalam gigabyte. |
TRANSFER_COUNT_UNITS_TEBIBYTES | Jumlah transfer dalam terabyte. |
TRANSFER_COUNT_UNITS_PEBIBYTES | Jumlah transfer dalam petabyte. |
TRANSFER_COUNT_UNITS_EXBIBYTES | Jumlah transfer dalam exabyte. |
TRANSFER_COUNT_UNITS_NUMBER_BLOCKS | Jumlah transfer bukan eksponen, tetapi dalam satuan panjang blok logis. |
TransferCount[8]
Panjang data yang ditransfer dalam operasi. Jenis unit di TransferCountUnits diterapkan ke nilai ini untuk memberikan jumlah byte total.
SegmentsProcessed[2]
Jumlah segmen yang diproses untuk operasi transfer data. Segmen adalah unit panjang salin yang digunakan secara internal oleh penyedia salinan perangkat penyimpanan. Pada sistem Windows, nilai ini dicadangkan dan aplikasi harus mengabaikan anggota ini.
Reserved3[6]
Dicadangkan.
SenseData[ANYSIZE_ARRAY]
Merasakan data yang dikembalikan untuk operasi salin.
Keterangan
Jika RECEIVE_TOKEN_INFORMATION_HEADER untuk operasi perintah POPULATE TOKEN, dan perintah berhasil diselesaikan, struktur RECEIVE_TOKEN_INFORMATION_RESPONSE_HEADER juga akan ada setelah SenseData pada offset SenseDataFieldLength dari awal array SenseData . Struktur RECEIVE_TOKEN_INFORMATION_RESPONSE_HEADER akan berisi token yang dibuat sebagai representasi data (ROD) untuk parameter rentang yang dikirim dengan perintah .
Semua nilai multibyte dalam format big endian. Sebelum evaluasi, nilai-nilai ini harus dikonversi agar sesuai dengan format endian platform saat ini.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Tersedia dimulai dengan Windows 8. |
Header | scsi.h (termasuk Scsi.h, Minitape.h, Storport.h) |