問題タブ [winpe]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
windows - アンマウント時に WinPE boot.wim の静的リンクがコミットされない
WinPE iso を作成しました。起動すると、boot.wim (windows/hta) の hta というディレクトリに格納されている hta アプリケーションが起動します。すべて正常に動作します。ここで、開発をスピードアップするために、マウントされた boot.wim ファイル構造に、別の場所にあるチェックアウト済みの hta アプリケーション フォルダーを指す静的リンクを作成したいと考えています。dism unmount コミットが静的リンクからすべてのファイルをコピーし、それを boot.wim に含めることを期待していましたが、機能していません。
これがdismツール内の制限なのか、それとも私が何か間違っているのか誰か知っていますか? mklink を使用して静的リンクを作成しています。ソフト リンクとハード リンクの両方を試しましたが、成功しませんでした。ところで、私は最新の Windows 10 ADK を使用しています。
c++ - CFileDialog を使用してファイルを選択する際の描画の問題
コードで使用している問題に直面CFileDialogしています。
CFileDialogModalDialog から呼び出すと、ファイルを選択します。現在のビューを終了して再度開くと、ModalDialog の背景全体が消去されます。
手順は次のとおりです。
- メインダイアログ
- モーダルダイアログを開く
CFileDialogファイルを選択するために開いた- ModalDialog を終了する
- ModalDialog を再度開く [背景が消去される]
注 :この問題は、ファイルを選択した場合にのみ発生します。で [キャンセル] をクリックすると、CFileDialog. 問題ありません。
PFB、私のCFileDialog使用のコードスニペット:
c# - C# で NtSetInformationFile (w/ FILE_LINK_INFORMATION) を呼び出す方法
以下は、ここで説明されている CreateHardLink 機能を再現する試みです。
これを行う必要がある理由は、これが必要なアクセス許可を持っていることがわかっている唯一の方法だからです (このコードは .Net と WinPE で実行されており、復元に必要な特権をアサートしています)。特に、BackupSemantics フラグと SE_RESTORE_NAME 権限を使用しています。CreateHardLink への通常の pInvoke メカニズムには、復元プログラムが BackupSemantics を使用するための規定がありません...そして、私のアカウントが「通常の」アクセス権を持っていないファイルの群れがあります - したがって、この混乱.
NtSetInformationFile から、システム関数に無効なパラメータを指定したという結果が返ってきます。(結果 = 0xC000000D)。構造体をどのように宣言したかわかりません.1つにはファイル名の長さがあり、その後に名前の「最初の文字」が続きます。ここに文書化されています。
構造体とインポートを宣言した方法は次のとおりです。これは、c#(pinvoke.netおよびその他の場所)でこれを宣言した人を見つけられなかったため、推測に過ぎません。多くの順列を台無しにしました...すべてまったく同じエラーが発生しました:
私が行ったばかげたことにあなたが当てることができる光は、最も高く評価されます.
編集:
より多くの反対票を集める危険を冒して、コンテキストを説明します。これがなければ、ハックを探していると信じていたかもしれません. これは、状態管理ソフトウェア (主にキオスクや POS 端末、図書館のコンピューター) の中にある、選択的なバックアップ/復元プログラムです。バックアップおよび復元操作は、起動前環境 (WinPE) で行われます。
関数の使用に関して、最終的に機能したのは、構造を変更する必要がありFILE_LINK_INFORMATION、ファイルの命名にひねりがあったことです。まず、作業は次のFILE_LINK_INFORMATIONようにする必要があります。
ハリー・ジョンストンが述べたように、Pack=4 は間違っていました - そして bool のマーシャリングは少し違う必要がありました。はMAX_PATH260です。
NtSetInformationFile次に、読み取り、書き込み、および削除アクセスと共有で開かれたファイルのコンテキストで呼び出す場合:
特に、名前空間プレフィックスに注意してください-追加するまで機能しませんでした。
ちなみに、DirectoryEntryは最後のバックアップの時点でディスク上にあるはずだったファイルを表しています。
を使用しないことに関してはCreateHardLink、元の記事で説明されているように、NtSetInformationFile呼び出し元がリンクを追加するために特定のアクセス許可を必要としない場所を使用して示されている脆弱性がありました。残念!Microsoft が穴を塞いだときに、CreateHardLink. 詳細がわかり次第、この投稿を再訪します。
windows - Xen PV ドライバーを Windows ブート マネージャーに接続する
仮想マシンには、それぞれ Windows 10 を搭載した 2 つのドライブがあります。これは XEN HVM インスタンス内にあるため、Windows ブート マネージャーは最初のドライブでのみ Windows を起動できます (2 番目のドライブで Windows を起動できるようにしたい)。 . システムがドライブ 1 で起動すると、Windows には XEN PV ドライバーがあり、ディスク マネージャーで他のドライブを確認できます。BCDEdit を使用して D: ドライブの新しいエントリを作成すると、正常に追加されたように見えます。ただし、再起動すると、ブート マネージャーは常にドライブが存在しないと表示します。
私の推測では、2 番目のドライブに OS をロードする前に、ブート マネージャーに PV ドライバーを何らかの方法でロードさせる必要があると思います。質問は:どのように?BCDEdit を使用してドライバーを追加する方法はありますか? 別のツール?
