掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
隠し(非表示)パーティションの隠し属性を解除する方法は? (ID:67182)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
以下のようなパーティション構成で,[Win95-DOS]領域についている隠し属性を解除したいと思っていますが,なかなかうまくいきません。 どなたかご助言を頂ければ助かります。 [Win2K(NTFS)][Win95-DOS(FAT16/Hidden)][NoOS(FAT16)] DisableHiiddenPartition.cpp: --------------------------------------- char cDrivePath[] = "\\\\?\\F:"; hVolume = CreateFile( (LPCTSTR)cDrivePath, GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL ); if ( hVolume ) { DWORD dwBytesReturned = 0; PARTITION_INFORMATION PartInfo; if ( DeviceIoControl(hVolume, IOCTL_DISK_GET_PARTITION_INFO, NULL, 0, &PartInfo, sizeof(PartInfo), &dwBytesReturned, NULL) ) { // ボリュームが隠しパーティションか確認 char cPartInfoTypeHidden[3] = { NULL } ; sprintf(cPartInfoTypeHidden, "%02x", PartInfo.PartitionType); if ( cPartInfoTypeHidden[0] == '1' ) { if ( ( cPartInfoTypeHidden[1] == '1' ) // FAT12 || ( cPartInfoTypeHidden[1] == '4' ) // FAT16 || ( cPartInfoTypeHidden[1] == '6' ) // FAT16B || ( cPartInfoTypeHidden[1] == '7' ) // HPFS(NTFS) || ( cPartInfoTypeHidden[1] == 'B' ) // FAT32 || ( cPartInfoTypeHidden[1] == 'C' ) // FAT32X || ( cPartInfoTypeHidden[1] == 'E' ) // FAT16X ) { // パーティションの隠し属性を解除 SET_PARTITION_INFORMATION SetPartInfo; cPartInfoTypeHidden[0] = '0'; SetPartInfo.PartitionType = atoi(cPartInfoTypeHidden); bDiskDeviceInfo = DeviceIoControl(hVolume, IOCTL_DISK_SET_PARTITION_INFO, &SetPartInfo, sizeof(SetPartInfo), NULL, 0, &dwBytesReturned, NULL); if ( bDiskDeviceInfo ) { return 0; } } } } } return 1;
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.