■No26330 (araya さん) に返信
> サンプルプログラム( http://yaplog.jp/orator/archive/76 )
失礼しました。修正しておきます。m(_ _;)m
> 問題ないUSBメモリでは(dbcv_unitmask)の数値桁数は4桁でした。
> オーハ゛ーフローになるUSBメモリでは(dbcv_unitmask)5桁(32768)でした。
そのドライブとは、P: でしょうか?
dbcv_unitmask そのものは本来DWORD 型です。
これは、「32 ビットの符号なし整数」なので、VB6 では Long 型
すなわち「32 ビットの符号付き整数」で代用してみてください。
≪修正前≫
Private Function GetDrivesFromMask(ByVal unitmask As Integer) As Variant()
:
Dim mask As Integer
mask = unitmask
:
End Function
≪修正後≫
Private Function GetDrivesFromMask(ByVal unitmask As Long) As Variant()
:
Dim mask As Long
mask = unitmask
:
End Function
|