PrimoBurner SCSI管理クラス
[詳解]
#include <TnbPrimoBurnerEngine.h>
PrimoBurner SCSI管理クラス
- 覚え書き
- CPrimoBurner::CDevice::CreateScsi() により作成されます。
- 必要ファイル
- TnbPrimoBurnerEngine.h
- 日付
- 07/02/02 新規作成
-
07/02/05 Vectorを使用したメソッドを追加。ModeSenseを追加。
-
09/08/04 クラス名、構成変更。
TnbPrimoBurnerEngine.h の 590 行目に定義があります。
◆ CScsi()
CScsi |
( |
PRISCSI::IScsiInterface * |
P = NULL | ) |
|
◆ ~CScsi()
◆ GetLastError()
DWORD GetLastError |
( |
void |
| ) |
|
[取得] エラー種取得
- 覚え書き
- 得られるエラー種は、システムのものとは異なります。
-
Send*() メソッド実行結果が 失敗だった時、本メソッドを実行することで詳細がわかります。
- 戻り値
-
SCSIINTERFACE_SUCCESS | 成功。 |
SCSIINTERFACE_SYSTEM_ERROR | 失敗の理由は、システムAPIでエラーが出たためです。 ::GetLastError() でシステムエラーコードを取得してください。 |
SCSIINTERFACE_DEVICE_ERROR | デバイスのエラーです。 デバイスの CPrimoBurner::CDevice::GetLastError() を 使い、エラーコードを取得してください。 |
SCSIINTERFACE_DEVICE_NOT_SET | デバイスは設定されていません。 |
SCSIINTERFACE_INVALID_PARAMETERS | パラメータに異常があります。 |
SCSIINTERFACE_CHECK_SENSE | デバイスがセンス状態です。 GetSense() でセンスデータを取得してください。 |
TnbPrimoBurnerEngine.h の 733 行目に定義があります。
◆ GetLastSystemError()
DWORD GetLastSystemError |
( |
void |
| ) |
|
◆ GetSense()
bool GetSense |
( |
PRISCSI::SCSI_COMMAND_SENSE & |
_sense | ) |
|
◆ IsValid()
bool IsValid |
( |
void |
| ) |
const |
[確認] 有効確認.
本インスタンスが 有効(IScsiInterface を持っている)か、確認します。
- 戻り値
-
true | 有効。各メソッドは使えます。 |
false | 無効。 |
TnbPrimoBurnerEngine.h の 613 行目に定義があります。
◆ Send_Inquiry()
CByteVector Send_Inquiry |
( |
DWORD |
dwTimeout = SCSI_CMD_TIMEOUT_MS_LONG | ) |
|
◆ Send_ModeSense()
CByteVector Send_ModeSense |
( |
BYTE |
pc, |
|
|
bool |
boIsDbd = false , |
|
|
DWORD |
dwTimeout = SCSI_CMD_TIMEOUT_MS_LONG |
|
) |
| |
[送信] MODESENSE CDB送信.
- 引数
-
pc | ページコード、および、ページコントロール値。 |
boIsDbd | true なら DBDも読み込みます。 省略か false なら 読み込みません。 |
dwTimeout | タイムアウト時間(ms)。省略すると3分が指定されます。 |
- 戻り値
-
Valid状態 | 成功。読み込んだデータを持っています。 |
Invalid状態 | false 失敗。 GetLastError() でエラー内容を確認できます。 |
TnbPrimoBurnerEngine.h の 681 行目に定義があります。
◆ SendCommand()
bool SendCommand |
( |
const ISequenceCollectionT< BYTE > & |
cdb, |
|
|
DWORD |
dwTimeout = SCSI_CMD_TIMEOUT_MS_LONG |
|
) |
| |
◆ SendCommandWithReadPhase()
[送信] CDB送信(読込みフェーズ付).
- 引数
-
cdb | CDB。 |
iReadSize | 読み込みデータ長(CDBに正しく読み込みデータサイズを指定しておくこと)。 |
dwTimeout | タイムアウト時間(ms)。省略すると3分が指定されます。 |
- 戻り値
-
Valid状態 | 成功。読み込んだデータを持っています。 |
Invalid状態 | false 失敗。 GetLastError() でエラー内容を確認できます。 |
TnbPrimoBurnerEngine.h の 639 行目に定義があります。
◆ SendCommandWithWritePhase()
[送信] CDB送信(書込みフェーズ付).
- 引数
-
cdb | CDB。 |
d | 書込みデータ(CDBに正しくデータサイズ分を指定しておくこと)。 |
dwTimeout | タイムアウト時間(ms)。省略すると3分が指定されます。 |
- 戻り値
-
TnbPrimoBurnerEngine.h の 665 行目に定義があります。