IOCTL_SFFDISK_DEVICE_PASSWORDに関して – プログラミング – Home

通知
すべてクリア

[解決済] IOCTL_SFFDISK_DEVICE_PASSWORDに関して


kim
 kim
(@kim)
ゲスト
結合: 21年前
投稿: 29
Topic starter  

前回はいろいろ助かりましたm__m。

MFCを使ってPCからmicroSDカードにデータの読み書きをする
プログラムを作っています。

早速質問ですけど、
IOCTL_SFFDISK_DEVICE_PASSWORDの使い方分かりません。

以下のものはうまく動作しますけど
if (!DeviceIoControl(*_h, FSCTL_LOCK_VOLUME, NULL, 0, NULL, 0,
           &dwReturn, NULL)) {
errCode = GetLastError();
}

以下のものはエラーを返します。
SFFDISK_DEVICE_PASSWORD_DATA aaa;
char bbb[256];
if (!DeviceIoControl(*_h, IOCTL_SFFDISK_DEVICE_PASSWORD,
           &aaa, sizeof(aaa), &bbb, sizeof(bbb),
           &dwReturn, NULL)) {
DWORD errCode = GetLastError();
}

エラーコード内容
// The network request is not supported.
//
#define ERROR_NOT_SUPPORTED 50L

パラメータ設定が間違ってるのは分かりますけど、
エラー内容から見ればそう単純のものではなさそうなので・・・

sffdisk.hはWINDDK環境からコピーしてきたものです。
コンパイルのため
#define ULONG_PTR DWORD
を追加しました。

皆様、アドバイスよろしくお願いします。


引用未解決
トピックタグ
kim
 kim
(@kim)
ゲスト
結合: 21年前
投稿: 29
Topic starter  

SFFDISK_DEVICE_COMMAND_DATA scData = {0};
scData.DeviceDataBufferSize = sizeof(SFFDISK_DEVICE_COMMAND_DATA);
scData.Command = SFFDISK_DC_LOCK_CHANNEL;

if (!DeviceIoControl(*_h, IOCTL_SFFDISK_DEVICE_COMMAND,
&scData, scData.DeviceDataBufferSize,
&scData, scData.DeviceDataBufferSize,
&dwReturn,
NULL)){
errCode = GetLastError();
}

も同じエラーになります。


返信引用
aetos
(@aetos)
Noble Member
結合: 5年前
投稿: 1480
 

ほぉ、面白い機能があったもんですな。
DeviceIoControlのページからリンクしといて欲しいね。

で、前スレでも出てましたけど、単にドライバがこの機能をサポートしていないのでは?


返信引用
kim
 kim
(@kim)
ゲスト
結合: 21年前
投稿: 29
Topic starter  

シャノンさま、いつもお世話になっております。

ドライバに関してはまったく理解できてないです。
もうちょっと調べます。

WINDDKも初めてインストールしましたけど、
MFC環境とWINDDK環境の問題ではなさそうですね^^
ありがとうございます。


返信引用
kim
 kim
(@kim)
ゲスト
結合: 21年前
投稿: 29
Topic starter  

Windows2000で実現できないのと、ドライバ側がサポートしない
可能性もあるということでやめました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました