GetTapeParameters 関数 (winbase.h)
GetTapeParameters 関数は、テープまたはテープ ドライブを記述する情報を取得します。
構文
DWORD GetTapeParameters(
[in] HANDLE hDevice,
[in] DWORD dwOperation,
[out] LPDWORD lpdwSize,
[out] LPVOID lpTapeInformation
);
パラメーター
[in] hDevice
情報が求められるデバイスを処理します。 このハンドルは、 CreateFile 関数を使用して作成されます。
[in] dwOperation
要求された情報の種類。 このパラメーターには次のいずれかの値を指定する必要があります。
値 | 意味 |
---|---|
|
テープ デバイスに関する情報を取得します。 |
|
テープ デバイス内のテープに関する情報を取得します。 |
[out] lpdwSize
lpTapeInformation パラメーターで指定されたバッファーのサイズ (バイト単位) を受け取る変数へのポインター。 バッファーが小さすぎる場合、このパラメーターは必要なサイズを受け取ります。
[out] lpTapeInformation
要求された情報を含む構造体へのポインター。 dwOperation パラメーターがGET_TAPE_MEDIA_INFORMATIONされている場合、lpTapeInformation はTAPE_GET_MEDIA_PARAMETERS構造体を指します。
dwOperation がGET_TAPE_DRIVE_INFORMATIONされている場合、lpTapeInformation はTAPE_GET_DRIVE_PARAMETERS構造体を指します。
戻り値
関数が成功した場合、戻り値は NO_ERROR。
関数が失敗した場合は、次のいずれかのエラー コードを返すことができます。
エラー コード | 説明 |
---|---|
|
中から始まるマーカーの前にデータにアクセスしようとしましたが失敗しました。 |
|
バスでリセット条件が検出されました。 |
|
テープがロードされているときにパーティション情報が見つかりませんでした。 |
|
操作中にテープの終わりマーカーに達しました。 |
|
操作中にファイルマークに達しました。 |
|
マルチボリューム・パーティション内の新規テープでは、ブロック・サイズが正しくありません。 |
|
ドライブにあったテープが交換または取り外されました。 |
|
操作中にデータの終了マーカーに達しました。 |
|
ドライブにメディアがありません。 |
|
テープ ドライバーは、要求された関数をサポートしていません。 |
|
テープをパーティション分割できませんでした。 |
|
操作中に設定マークに達しました。 |
|
排出機構をロックできませんでした。 |
|
テープをアンロードできませんでした。 |
|
メディアの書き込みが禁止されています。 |
注釈
dwOperation パラメーターを GET_TAPE_DRIVE_INFORMATION 値に設定して呼び出された GetTapeParameters 関数によって返されるブロック サイズ範囲の値 (最大値と最小値) は、ドライブの制限ではなく、システムの制限を示します。 ただし、実際のブロック サイズの制限を決定するのは、テープ ドライブ デバイスとドライブに存在するメディアです。 したがって、アプリケーションでは、dwOperation で GET_TAPE_DRIVE_INFORMATIONを指定して取得した範囲で言及されているすべてのブロック サイズを設定できない場合があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | winbase.h (Windows.h を含む) |
Library | Kernel32.lib |
[DLL] | Kernel32.dll |