GETDRIVESIZEQQ

実行時関数:指定したドライブ上の全体の大きさと空き容量を得ます。

モジュール:USE DFLIB

形式

result = GETDRIVESIZEQQ (drive, total, avail)

drive
(入力) CHARACTER*(*)。情報を得たいドライブのドライブ文字を含む文字列。

total
(出力) INTEGER(4) または INTEGER(4),DIMENSION(2) または INTEGER(8)。指定したドライブの総バイト数。

avail
(出力) INTEGER(4) または INTEGER(4),DIMENSION(2) または INTEGER(8)。指定したドライブの空きバイト数。

結果

結果の型は LOGICAL(4) です。成功すれば .TRUE.,そうでなければ .FALSE. が返されます。

total と avail 引数に対して指定するデータ型と次元 (もしあれば) は同じでなければなりません。2 つの INTEGER(4) 要素の配列または INTEGER(8) の引数を指定すると,2147483647 よりも大きいドライブの大きさを返すことができます。

2 つの INTEGER(4) 要素の配列が指定されると,下位 32 ビットが第 1 要素に返され,上位 32 ビットが第 2 要素に返されます。INTEGER(4) スカラが指定されると,下位 32 ビットが返されます。

ドライブは 1 つのアルファベット文字で識別されるため,GETDRIVESIZEQQ は drive の第 1 文字のみを検証します。ドライブ文字は,大文字小文字の区別はありません。現在のドライブの大きさを得るには,シンボル定数 FILE$CURDRIVE (\DF98\INCLUDE サブディレクトリの DFLIB.F90 に定義されています) を使うことができます。

GETDRIVESIZEQQ が失敗した場合,GETLASTERRORQQ を使って原因を究明します。

互換性

CONSOLE STANDARD GRAPHICS QUICKWIN GRAPHICS WINDOWS DLL LIB

関連情報

CHANGEDIRQQ,CHANGEDRIVEQQ,GETDRIVEDIRQQ,GETDRIVESQQ,GETLASTERRORQQ

例

	! GETDRIVESQQ と GETDRIVESIZEQQ の例
	USE DFLIB
	CHARACTER(26) drives
	CHARACTER(1) adrive
	LOGICAL(4) status
	INTEGER(4) total, avail
	INTEGER(2) i
	! ドライブの一覧を得ます。
	drives = GETDRIVESQQ()
	WRITE (*,'(A, A)') ' Drives available: ', drives
	!
	! 一覧からドライブを取り出し,コンソールに各ドライブの空き容量を出力します。
	DO i = 1, 26
	  adrive = drives(i:i)
	  status = .FALSE.
	  WRITE (*,'(A, A, A, \)') ' Drive ', CHAR(i + 64), ':'
	  IF (adrive .NE. ' ') THEN
	     status = GETDRIVESIZEQQ(adrive, total, avail)
	  END IF
	  IF (status) THEN
	     WRITE (*,*) avail, ' of ', total, ' bytes free.'
	  ELSE
	     WRITE (*,*) 'Not available'
	  END IF
	END DO
	END