0

ID でファイルを開き、結果のハンドルを Win32 API で使用したいBackupRead()

これは可能ですか?NtCreateFile()他の Win32 APIから取得したハンドルを使用しても「大丈夫」かどうかはわかりません。

たとえば、これをしてもいいですか

NtCreateFile(&handle, ..., FILE_OPEN_BY_FILE_ID, ....)
BackupFile(handle, ....)

MSDNNtCreateFileで十分に文書化されています が、互換性の問題が発生する可能性についても言及されています。

何か案は?

4

1 に答える 1

1

あなたの問題が何であるかを 100% 理解しているかどうかはわかりませんし、 という名前の関数も知りませんBackupFile()

NTCreateFile()からのハンドルを再利用したい場合はBackupRead()、ファイルハンドルが正しいフラグとパーミッションで開かれていれば、まったく問題ありません。

必ずフラグを付けて呼び出してくださいNTCreateFile:FILE_OPEN_FOR_BACKUP_INTENT

NtCreateFile(&handle, ..., FILE_OPEN_BY_FILE_ID|FILE_OPEN_FOR_BACKUP_INTENT, ....)

結果のハンドルをBackupRead().

于 2012-10-13T15:40:19.363 に答える