// Licensed under the Apache License, Version 2.0
// <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0 > or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT >, at your option.
// All files in the project carrying such notice may not be copied, modified, or distributed
// except according to those terms.
use shared::basetsd::UINT64;
use shared::minwindef::DWORD;
use um::bits::{IBackgroundCopyFile, IBackgroundCopyFileVtbl};
use um::bits1_5::{IBackgroundCopyJob2, IBackgroundCopyJob2Vtbl};
use um::winnt::{HRESULT, LPCWSTR};
pub const BG_LENGTH_TO_EOF: UINT64 = -
1 i64
as u64;
STRUCT !{
struct BG_FILE_RANGE {
InitialOffset: UINT64,
Length: UINT64,
}}
pub const BG_COPY_FILE_OWNER: DWORD =
1 ;
pub const BG_COPY_FILE_GROUP: DWORD =
2 ;
pub const BG_COPY_FILE_DACL: DWORD =
4 ;
pub const BG_COPY_FILE_SACL: DWORD =
8 ;
pub const BG_COPY_FILE_ALL: DWORD =
15 ;
RIDL!{
#[ uuid(
0 x443c8934,
0 x90ff,
0 x48ed,
0 xbc,
0 xde,
0 x26,
0 xf5,
0 xc7,
0 x45,
0 x00,
0 x42)]
interface IBackgroundCopyJob3(IBackgroundCopyJob3Vtbl):
IBackgroundCopyJob2(IBackgroundCopyJob2Vtbl) {
fn ReplaceRemotePrefix(
OldPrefix: LPCWSTR,
NewPrefix: LPCWSTR,
) -> HRESULT,
fn AddFileWithRanges(
RemoteUrl: LPCWSTR,
LocalName: LPCWSTR,
RangeCount: DWORD,
Ranges: *
mut BG_FILE_RANGE,
) -> HRESULT,
fn SetFileACLFlags(
Flags: DWORD,
) -> HRESULT,
fn GetFileACLFlags(
Flags: *
mut DWORD,
) -> HRESULT,
}}
RIDL!{
#[ uuid(
0 x83e81b93,
0 x0873,
0 x474d,
0 x8a,
0 x8c,
0 xf2,
0 x01,
0 x8b,
0 x1a,
0 x93,
0 x9c)]
interface IBackgroundCopyFile2(IBackgroundCopyFile2Vtbl):
IBackgroundCopyFile(IBackgroundCopyFileVtbl) {
fn GetFileRanges(
RangeCount: *
mut DWORD,
Ranges: *
mut *
mut BG_FILE_RANGE,
) -> HRESULT,
fn SetRemoteName(
Val: LPCWSTR,
) -> HRESULT,
}}
Messung V0.5 in Prozent C=91 H=100 G=95
¤ Dauer der Verarbeitung: 0.13 Sekunden
(vorverarbeitet am 2026-06-25)
¤
*© Formatika GbR, Deutschland