この質問は、現在同じ問題に直面しているインターネットのどこかで見つかりました。少し変更して、私はすでに以下の質問を変更しています。
質問:
リモート マシン (10.10.20.30) 上のファイルにアクセスしたいのですが、プログラムでそのマシンにログインする方法がわかりません。ネットワーク パス、資格情報を受け取り、ファイルのハンドルを返すシンプルな win api はありますか? \10.10.20.30\share folder\test.txt にアクセスしたいだけです。どんな提案も役に立ちます。
コーディングの意味がはっきりしていなくて申し訳ありません。詳細: 共有フォルダーで共有されているファイルにアクセスしたいのですが、アクセス許可がありません。私は::CreateFileを使用してファイルのハンドルを取得しています。しかし、この場合、エラー コード 5 (ACCESS_DENIED) が表示されます。共有されているファイルにアクセスするには、ユーザー (クライアント) 資格情報 (ユーザー名パスワード) を使用する必要があります。ファイルのハンドルが必要なだけです。間違っている場合は教えてください::MSDNが言うように、セキュリティ属性を使用または変更することにより、この場合CreateFileを使用できません。CreateFile は、既存のファイルを開くときに lpSecurityDescriptor メンバーを無視します。Windows シェルを使用することも考えましたが、解決策を見つけることができませんでした。
問題の詳細 *まあ、要件はリモート マシンでこのようなものです。私は EveryOne 権限を持っていません。例を通して説明しましょう。少なくとも 3 台のコンピューターを持つ特定のドメインを持つネットワークがあるとします。5 台としましょう。名前は C1(クライアント)、C2(宛先)、C3、C4、C5 です。この場合、C2 マシンでファイル (任意のタイプ) を作成し、それを MyFolder というフォルダーに配置します。次に、それを共有してから、EveryOne を削除します。その後、アクセスするためのユーザーとして C5 を追加します。これで、::CreateFile 実装だけでいくつかのコードを記述し、それをマシン C1 (クライアント) と C5 (アクセス許可がある) の両方で実行できることがわかります。client(C1) が ACCESS_DENIED を意味するエラー 5 を受け取ることがわかりますが、C5 はそれを実行し、ファイル ハンドルを取得します...もう一度質問を繰り返します。ユーザー名とパスワード、
アドバイスお願いします よろしくお願いします
::CreateFile がアクセス拒否で失敗するのは、シェル プログラミングまたはその他の解決策またはヒントです