4004 lines
221 KiB
Zig
4004 lines
221 KiB
Zig
//! NOTE: this file is autogenerated, DO NOT MODIFY
|
|
//--------------------------------------------------------------------------------
|
|
// Section: Constants (83)
|
|
//--------------------------------------------------------------------------------
|
|
pub const VSS_ASSOC_NO_MAX_SPACE = @as(i32, -1);
|
|
pub const VSS_ASSOC_REMOVE = @as(u32, 0);
|
|
pub const VSS_E_BAD_STATE = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212543));
|
|
pub const VSS_E_UNEXPECTED = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212542));
|
|
pub const VSS_E_PROVIDER_ALREADY_REGISTERED = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212541));
|
|
pub const VSS_E_PROVIDER_NOT_REGISTERED = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212540));
|
|
pub const VSS_E_PROVIDER_VETO = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212538));
|
|
pub const VSS_E_PROVIDER_IN_USE = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212537));
|
|
pub const VSS_E_OBJECT_NOT_FOUND = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212536));
|
|
pub const VSS_S_ASYNC_PENDING = @import("../zig.zig").typedConst(HRESULT, @as(i32, 271113));
|
|
pub const VSS_S_ASYNC_FINISHED = @import("../zig.zig").typedConst(HRESULT, @as(i32, 271114));
|
|
pub const VSS_S_ASYNC_CANCELLED = @import("../zig.zig").typedConst(HRESULT, @as(i32, 271115));
|
|
pub const VSS_E_VOLUME_NOT_SUPPORTED = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212532));
|
|
pub const VSS_E_VOLUME_NOT_SUPPORTED_BY_PROVIDER = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212530));
|
|
pub const VSS_E_OBJECT_ALREADY_EXISTS = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212531));
|
|
pub const VSS_E_UNEXPECTED_PROVIDER_ERROR = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212529));
|
|
pub const VSS_E_CORRUPT_XML_DOCUMENT = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212528));
|
|
pub const VSS_E_INVALID_XML_DOCUMENT = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212527));
|
|
pub const VSS_E_MAXIMUM_NUMBER_OF_VOLUMES_REACHED = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212526));
|
|
pub const VSS_E_FLUSH_WRITES_TIMEOUT = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212525));
|
|
pub const VSS_E_HOLD_WRITES_TIMEOUT = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212524));
|
|
pub const VSS_E_UNEXPECTED_WRITER_ERROR = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212523));
|
|
pub const VSS_E_SNAPSHOT_SET_IN_PROGRESS = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212522));
|
|
pub const VSS_E_MAXIMUM_NUMBER_OF_SNAPSHOTS_REACHED = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212521));
|
|
pub const VSS_E_WRITER_INFRASTRUCTURE = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212520));
|
|
pub const VSS_E_WRITER_NOT_RESPONDING = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212519));
|
|
pub const VSS_E_WRITER_ALREADY_SUBSCRIBED = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212518));
|
|
pub const VSS_E_UNSUPPORTED_CONTEXT = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212517));
|
|
pub const VSS_E_VOLUME_IN_USE = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212515));
|
|
pub const VSS_E_MAXIMUM_DIFFAREA_ASSOCIATIONS_REACHED = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212514));
|
|
pub const VSS_E_INSUFFICIENT_STORAGE = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212513));
|
|
pub const VSS_E_NO_SNAPSHOTS_IMPORTED = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212512));
|
|
pub const VSS_S_SOME_SNAPSHOTS_NOT_IMPORTED = @import("../zig.zig").typedConst(HRESULT, @as(i32, 271137));
|
|
pub const VSS_E_SOME_SNAPSHOTS_NOT_IMPORTED = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212511));
|
|
pub const VSS_E_MAXIMUM_NUMBER_OF_REMOTE_MACHINES_REACHED = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212510));
|
|
pub const VSS_E_REMOTE_SERVER_UNAVAILABLE = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212509));
|
|
pub const VSS_E_REMOTE_SERVER_UNSUPPORTED = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212508));
|
|
pub const VSS_E_REVERT_IN_PROGRESS = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212507));
|
|
pub const VSS_E_REVERT_VOLUME_LOST = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212506));
|
|
pub const VSS_E_REBOOT_REQUIRED = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212505));
|
|
pub const VSS_E_TRANSACTION_FREEZE_TIMEOUT = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212504));
|
|
pub const VSS_E_TRANSACTION_THAW_TIMEOUT = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212503));
|
|
pub const VSS_E_VOLUME_NOT_LOCAL = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212499));
|
|
pub const VSS_E_CLUSTER_TIMEOUT = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212498));
|
|
pub const VSS_E_WRITERERROR_INCONSISTENTSNAPSHOT = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212304));
|
|
pub const VSS_E_WRITERERROR_OUTOFRESOURCES = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212303));
|
|
pub const VSS_E_WRITERERROR_TIMEOUT = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212302));
|
|
pub const VSS_E_WRITERERROR_RETRYABLE = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212301));
|
|
pub const VSS_E_WRITERERROR_NONRETRYABLE = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212300));
|
|
pub const VSS_E_WRITERERROR_RECOVERY_FAILED = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212299));
|
|
pub const VSS_E_BREAK_REVERT_ID_FAILED = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212298));
|
|
pub const VSS_E_LEGACY_PROVIDER = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212297));
|
|
pub const VSS_E_MISSING_DISK = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212296));
|
|
pub const VSS_E_MISSING_HIDDEN_VOLUME = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212295));
|
|
pub const VSS_E_MISSING_VOLUME = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212294));
|
|
pub const VSS_E_AUTORECOVERY_FAILED = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212293));
|
|
pub const VSS_E_DYNAMIC_DISK_ERROR = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212292));
|
|
pub const VSS_E_NONTRANSPORTABLE_BCD = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212291));
|
|
pub const VSS_E_CANNOT_REVERT_DISKID = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212290));
|
|
pub const VSS_E_RESYNC_IN_PROGRESS = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212289));
|
|
pub const VSS_E_CLUSTER_ERROR = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212288));
|
|
pub const VSS_E_UNSELECTED_VOLUME = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212502));
|
|
pub const VSS_E_SNAPSHOT_NOT_IN_SET = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212501));
|
|
pub const VSS_E_NESTED_VOLUME_LIMIT = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212500));
|
|
pub const VSS_E_NOT_SUPPORTED = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212497));
|
|
pub const VSS_E_WRITERERROR_PARTIAL_FAILURE = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212490));
|
|
pub const VSS_E_ASRERROR_DISK_ASSIGNMENT_FAILED = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212287));
|
|
pub const VSS_E_ASRERROR_DISK_RECREATION_FAILED = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212286));
|
|
pub const VSS_E_ASRERROR_NO_ARCPATH = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212285));
|
|
pub const VSS_E_ASRERROR_MISSING_DYNDISK = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212284));
|
|
pub const VSS_E_ASRERROR_SHARED_CRIDISK = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212283));
|
|
pub const VSS_E_ASRERROR_DATADISK_RDISK0 = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212282));
|
|
pub const VSS_E_ASRERROR_RDISK0_TOOSMALL = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212281));
|
|
pub const VSS_E_ASRERROR_CRITICAL_DISKS_TOO_SMALL = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212280));
|
|
pub const VSS_E_WRITER_STATUS_NOT_AVAILABLE = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212279));
|
|
pub const VSS_E_ASRERROR_DYNAMIC_VHD_NOT_SUPPORTED = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212278));
|
|
pub const VSS_E_CRITICAL_VOLUME_ON_INVALID_DISK = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212271));
|
|
pub const VSS_E_ASRERROR_RDISK_FOR_SYSTEM_DISK_NOT_FOUND = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212270));
|
|
pub const VSS_E_ASRERROR_NO_PHYSICAL_DISK_AVAILABLE = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212269));
|
|
pub const VSS_E_ASRERROR_FIXED_PHYSICAL_DISK_AVAILABLE_AFTER_DISK_EXCLUSION = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212268));
|
|
pub const VSS_E_ASRERROR_CRITICAL_DISK_CANNOT_BE_EXCLUDED = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212267));
|
|
pub const VSS_E_ASRERROR_SYSTEM_PARTITION_HIDDEN = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212266));
|
|
pub const VSS_E_FSS_TIMEOUT = @import("../zig.zig").typedConst(HRESULT, @as(i32, -2147212265));
|
|
|
|
//--------------------------------------------------------------------------------
|
|
// Section: Types (69)
|
|
//--------------------------------------------------------------------------------
|
|
pub const VSS_OBJECT_TYPE = enum(i32) {
|
|
UNKNOWN = 0,
|
|
NONE = 1,
|
|
SNAPSHOT_SET = 2,
|
|
SNAPSHOT = 3,
|
|
PROVIDER = 4,
|
|
TYPE_COUNT = 5,
|
|
};
|
|
pub const VSS_OBJECT_UNKNOWN = VSS_OBJECT_TYPE.UNKNOWN;
|
|
pub const VSS_OBJECT_NONE = VSS_OBJECT_TYPE.NONE;
|
|
pub const VSS_OBJECT_SNAPSHOT_SET = VSS_OBJECT_TYPE.SNAPSHOT_SET;
|
|
pub const VSS_OBJECT_SNAPSHOT = VSS_OBJECT_TYPE.SNAPSHOT;
|
|
pub const VSS_OBJECT_PROVIDER = VSS_OBJECT_TYPE.PROVIDER;
|
|
pub const VSS_OBJECT_TYPE_COUNT = VSS_OBJECT_TYPE.TYPE_COUNT;
|
|
|
|
pub const VSS_SNAPSHOT_STATE = enum(i32) {
|
|
UNKNOWN = 0,
|
|
PREPARING = 1,
|
|
PROCESSING_PREPARE = 2,
|
|
PREPARED = 3,
|
|
PROCESSING_PRECOMMIT = 4,
|
|
PRECOMMITTED = 5,
|
|
PROCESSING_COMMIT = 6,
|
|
COMMITTED = 7,
|
|
PROCESSING_POSTCOMMIT = 8,
|
|
PROCESSING_PREFINALCOMMIT = 9,
|
|
PREFINALCOMMITTED = 10,
|
|
PROCESSING_POSTFINALCOMMIT = 11,
|
|
CREATED = 12,
|
|
ABORTED = 13,
|
|
DELETED = 14,
|
|
POSTCOMMITTED = 15,
|
|
COUNT = 16,
|
|
};
|
|
pub const VSS_SS_UNKNOWN = VSS_SNAPSHOT_STATE.UNKNOWN;
|
|
pub const VSS_SS_PREPARING = VSS_SNAPSHOT_STATE.PREPARING;
|
|
pub const VSS_SS_PROCESSING_PREPARE = VSS_SNAPSHOT_STATE.PROCESSING_PREPARE;
|
|
pub const VSS_SS_PREPARED = VSS_SNAPSHOT_STATE.PREPARED;
|
|
pub const VSS_SS_PROCESSING_PRECOMMIT = VSS_SNAPSHOT_STATE.PROCESSING_PRECOMMIT;
|
|
pub const VSS_SS_PRECOMMITTED = VSS_SNAPSHOT_STATE.PRECOMMITTED;
|
|
pub const VSS_SS_PROCESSING_COMMIT = VSS_SNAPSHOT_STATE.PROCESSING_COMMIT;
|
|
pub const VSS_SS_COMMITTED = VSS_SNAPSHOT_STATE.COMMITTED;
|
|
pub const VSS_SS_PROCESSING_POSTCOMMIT = VSS_SNAPSHOT_STATE.PROCESSING_POSTCOMMIT;
|
|
pub const VSS_SS_PROCESSING_PREFINALCOMMIT = VSS_SNAPSHOT_STATE.PROCESSING_PREFINALCOMMIT;
|
|
pub const VSS_SS_PREFINALCOMMITTED = VSS_SNAPSHOT_STATE.PREFINALCOMMITTED;
|
|
pub const VSS_SS_PROCESSING_POSTFINALCOMMIT = VSS_SNAPSHOT_STATE.PROCESSING_POSTFINALCOMMIT;
|
|
pub const VSS_SS_CREATED = VSS_SNAPSHOT_STATE.CREATED;
|
|
pub const VSS_SS_ABORTED = VSS_SNAPSHOT_STATE.ABORTED;
|
|
pub const VSS_SS_DELETED = VSS_SNAPSHOT_STATE.DELETED;
|
|
pub const VSS_SS_POSTCOMMITTED = VSS_SNAPSHOT_STATE.POSTCOMMITTED;
|
|
pub const VSS_SS_COUNT = VSS_SNAPSHOT_STATE.COUNT;
|
|
|
|
pub const VSS_VOLUME_SNAPSHOT_ATTRIBUTES = enum(i32) {
|
|
PERSISTENT = 1,
|
|
NO_AUTORECOVERY = 2,
|
|
CLIENT_ACCESSIBLE = 4,
|
|
NO_AUTO_RELEASE = 8,
|
|
NO_WRITERS = 16,
|
|
TRANSPORTABLE = 32,
|
|
NOT_SURFACED = 64,
|
|
NOT_TRANSACTED = 128,
|
|
HARDWARE_ASSISTED = 65536,
|
|
DIFFERENTIAL = 131072,
|
|
PLEX = 262144,
|
|
IMPORTED = 524288,
|
|
EXPOSED_LOCALLY = 1048576,
|
|
EXPOSED_REMOTELY = 2097152,
|
|
AUTORECOVER = 4194304,
|
|
ROLLBACK_RECOVERY = 8388608,
|
|
DELAYED_POSTSNAPSHOT = 16777216,
|
|
TXF_RECOVERY = 33554432,
|
|
FILE_SHARE = 67108864,
|
|
};
|
|
pub const VSS_VOLSNAP_ATTR_PERSISTENT = VSS_VOLUME_SNAPSHOT_ATTRIBUTES.PERSISTENT;
|
|
pub const VSS_VOLSNAP_ATTR_NO_AUTORECOVERY = VSS_VOLUME_SNAPSHOT_ATTRIBUTES.NO_AUTORECOVERY;
|
|
pub const VSS_VOLSNAP_ATTR_CLIENT_ACCESSIBLE = VSS_VOLUME_SNAPSHOT_ATTRIBUTES.CLIENT_ACCESSIBLE;
|
|
pub const VSS_VOLSNAP_ATTR_NO_AUTO_RELEASE = VSS_VOLUME_SNAPSHOT_ATTRIBUTES.NO_AUTO_RELEASE;
|
|
pub const VSS_VOLSNAP_ATTR_NO_WRITERS = VSS_VOLUME_SNAPSHOT_ATTRIBUTES.NO_WRITERS;
|
|
pub const VSS_VOLSNAP_ATTR_TRANSPORTABLE = VSS_VOLUME_SNAPSHOT_ATTRIBUTES.TRANSPORTABLE;
|
|
pub const VSS_VOLSNAP_ATTR_NOT_SURFACED = VSS_VOLUME_SNAPSHOT_ATTRIBUTES.NOT_SURFACED;
|
|
pub const VSS_VOLSNAP_ATTR_NOT_TRANSACTED = VSS_VOLUME_SNAPSHOT_ATTRIBUTES.NOT_TRANSACTED;
|
|
pub const VSS_VOLSNAP_ATTR_HARDWARE_ASSISTED = VSS_VOLUME_SNAPSHOT_ATTRIBUTES.HARDWARE_ASSISTED;
|
|
pub const VSS_VOLSNAP_ATTR_DIFFERENTIAL = VSS_VOLUME_SNAPSHOT_ATTRIBUTES.DIFFERENTIAL;
|
|
pub const VSS_VOLSNAP_ATTR_PLEX = VSS_VOLUME_SNAPSHOT_ATTRIBUTES.PLEX;
|
|
pub const VSS_VOLSNAP_ATTR_IMPORTED = VSS_VOLUME_SNAPSHOT_ATTRIBUTES.IMPORTED;
|
|
pub const VSS_VOLSNAP_ATTR_EXPOSED_LOCALLY = VSS_VOLUME_SNAPSHOT_ATTRIBUTES.EXPOSED_LOCALLY;
|
|
pub const VSS_VOLSNAP_ATTR_EXPOSED_REMOTELY = VSS_VOLUME_SNAPSHOT_ATTRIBUTES.EXPOSED_REMOTELY;
|
|
pub const VSS_VOLSNAP_ATTR_AUTORECOVER = VSS_VOLUME_SNAPSHOT_ATTRIBUTES.AUTORECOVER;
|
|
pub const VSS_VOLSNAP_ATTR_ROLLBACK_RECOVERY = VSS_VOLUME_SNAPSHOT_ATTRIBUTES.ROLLBACK_RECOVERY;
|
|
pub const VSS_VOLSNAP_ATTR_DELAYED_POSTSNAPSHOT = VSS_VOLUME_SNAPSHOT_ATTRIBUTES.DELAYED_POSTSNAPSHOT;
|
|
pub const VSS_VOLSNAP_ATTR_TXF_RECOVERY = VSS_VOLUME_SNAPSHOT_ATTRIBUTES.TXF_RECOVERY;
|
|
pub const VSS_VOLSNAP_ATTR_FILE_SHARE = VSS_VOLUME_SNAPSHOT_ATTRIBUTES.FILE_SHARE;
|
|
|
|
pub const VSS_SNAPSHOT_CONTEXT = enum(i32) {
|
|
BACKUP = 0,
|
|
FILE_SHARE_BACKUP = 16,
|
|
NAS_ROLLBACK = 25,
|
|
APP_ROLLBACK = 9,
|
|
CLIENT_ACCESSIBLE = 29,
|
|
CLIENT_ACCESSIBLE_WRITERS = 13,
|
|
ALL = -1,
|
|
};
|
|
pub const VSS_CTX_BACKUP = VSS_SNAPSHOT_CONTEXT.BACKUP;
|
|
pub const VSS_CTX_FILE_SHARE_BACKUP = VSS_SNAPSHOT_CONTEXT.FILE_SHARE_BACKUP;
|
|
pub const VSS_CTX_NAS_ROLLBACK = VSS_SNAPSHOT_CONTEXT.NAS_ROLLBACK;
|
|
pub const VSS_CTX_APP_ROLLBACK = VSS_SNAPSHOT_CONTEXT.APP_ROLLBACK;
|
|
pub const VSS_CTX_CLIENT_ACCESSIBLE = VSS_SNAPSHOT_CONTEXT.CLIENT_ACCESSIBLE;
|
|
pub const VSS_CTX_CLIENT_ACCESSIBLE_WRITERS = VSS_SNAPSHOT_CONTEXT.CLIENT_ACCESSIBLE_WRITERS;
|
|
pub const VSS_CTX_ALL = VSS_SNAPSHOT_CONTEXT.ALL;
|
|
|
|
pub const VSS_PROVIDER_CAPABILITIES = enum(i32) {
|
|
LEGACY = 1,
|
|
COMPLIANT = 2,
|
|
LUN_REPOINT = 4,
|
|
LUN_RESYNC = 8,
|
|
OFFLINE_CREATION = 16,
|
|
MULTIPLE_IMPORT = 32,
|
|
RECYCLING = 64,
|
|
PLEX = 128,
|
|
DIFFERENTIAL = 256,
|
|
CLUSTERED = 512,
|
|
};
|
|
pub const VSS_PRV_CAPABILITY_LEGACY = VSS_PROVIDER_CAPABILITIES.LEGACY;
|
|
pub const VSS_PRV_CAPABILITY_COMPLIANT = VSS_PROVIDER_CAPABILITIES.COMPLIANT;
|
|
pub const VSS_PRV_CAPABILITY_LUN_REPOINT = VSS_PROVIDER_CAPABILITIES.LUN_REPOINT;
|
|
pub const VSS_PRV_CAPABILITY_LUN_RESYNC = VSS_PROVIDER_CAPABILITIES.LUN_RESYNC;
|
|
pub const VSS_PRV_CAPABILITY_OFFLINE_CREATION = VSS_PROVIDER_CAPABILITIES.OFFLINE_CREATION;
|
|
pub const VSS_PRV_CAPABILITY_MULTIPLE_IMPORT = VSS_PROVIDER_CAPABILITIES.MULTIPLE_IMPORT;
|
|
pub const VSS_PRV_CAPABILITY_RECYCLING = VSS_PROVIDER_CAPABILITIES.RECYCLING;
|
|
pub const VSS_PRV_CAPABILITY_PLEX = VSS_PROVIDER_CAPABILITIES.PLEX;
|
|
pub const VSS_PRV_CAPABILITY_DIFFERENTIAL = VSS_PROVIDER_CAPABILITIES.DIFFERENTIAL;
|
|
pub const VSS_PRV_CAPABILITY_CLUSTERED = VSS_PROVIDER_CAPABILITIES.CLUSTERED;
|
|
|
|
pub const VSS_HARDWARE_OPTIONS = enum(i32) {
|
|
BREAKEX_FLAG_MASK_LUNS = 1,
|
|
BREAKEX_FLAG_MAKE_READ_WRITE = 2,
|
|
BREAKEX_FLAG_REVERT_IDENTITY_ALL = 4,
|
|
BREAKEX_FLAG_REVERT_IDENTITY_NONE = 8,
|
|
ONLUNSTATECHANGE_NOTIFY_READ_WRITE = 256,
|
|
ONLUNSTATECHANGE_NOTIFY_LUN_PRE_RECOVERY = 512,
|
|
ONLUNSTATECHANGE_NOTIFY_LUN_POST_RECOVERY = 1024,
|
|
ONLUNSTATECHANGE_DO_MASK_LUNS = 2048,
|
|
};
|
|
pub const VSS_BREAKEX_FLAG_MASK_LUNS = VSS_HARDWARE_OPTIONS.BREAKEX_FLAG_MASK_LUNS;
|
|
pub const VSS_BREAKEX_FLAG_MAKE_READ_WRITE = VSS_HARDWARE_OPTIONS.BREAKEX_FLAG_MAKE_READ_WRITE;
|
|
pub const VSS_BREAKEX_FLAG_REVERT_IDENTITY_ALL = VSS_HARDWARE_OPTIONS.BREAKEX_FLAG_REVERT_IDENTITY_ALL;
|
|
pub const VSS_BREAKEX_FLAG_REVERT_IDENTITY_NONE = VSS_HARDWARE_OPTIONS.BREAKEX_FLAG_REVERT_IDENTITY_NONE;
|
|
pub const VSS_ONLUNSTATECHANGE_NOTIFY_READ_WRITE = VSS_HARDWARE_OPTIONS.ONLUNSTATECHANGE_NOTIFY_READ_WRITE;
|
|
pub const VSS_ONLUNSTATECHANGE_NOTIFY_LUN_PRE_RECOVERY = VSS_HARDWARE_OPTIONS.ONLUNSTATECHANGE_NOTIFY_LUN_PRE_RECOVERY;
|
|
pub const VSS_ONLUNSTATECHANGE_NOTIFY_LUN_POST_RECOVERY = VSS_HARDWARE_OPTIONS.ONLUNSTATECHANGE_NOTIFY_LUN_POST_RECOVERY;
|
|
pub const VSS_ONLUNSTATECHANGE_DO_MASK_LUNS = VSS_HARDWARE_OPTIONS.ONLUNSTATECHANGE_DO_MASK_LUNS;
|
|
|
|
pub const VSS_RECOVERY_OPTIONS = enum(i32) {
|
|
REVERT_IDENTITY_ALL = 256,
|
|
NO_VOLUME_CHECK = 512,
|
|
};
|
|
pub const VSS_RECOVERY_REVERT_IDENTITY_ALL = VSS_RECOVERY_OPTIONS.REVERT_IDENTITY_ALL;
|
|
pub const VSS_RECOVERY_NO_VOLUME_CHECK = VSS_RECOVERY_OPTIONS.NO_VOLUME_CHECK;
|
|
|
|
pub const VSS_WRITER_STATE = enum(i32) {
|
|
UNKNOWN = 0,
|
|
STABLE = 1,
|
|
WAITING_FOR_FREEZE = 2,
|
|
WAITING_FOR_THAW = 3,
|
|
WAITING_FOR_POST_SNAPSHOT = 4,
|
|
WAITING_FOR_BACKUP_COMPLETE = 5,
|
|
FAILED_AT_IDENTIFY = 6,
|
|
FAILED_AT_PREPARE_BACKUP = 7,
|
|
FAILED_AT_PREPARE_SNAPSHOT = 8,
|
|
FAILED_AT_FREEZE = 9,
|
|
FAILED_AT_THAW = 10,
|
|
FAILED_AT_POST_SNAPSHOT = 11,
|
|
FAILED_AT_BACKUP_COMPLETE = 12,
|
|
FAILED_AT_PRE_RESTORE = 13,
|
|
FAILED_AT_POST_RESTORE = 14,
|
|
FAILED_AT_BACKUPSHUTDOWN = 15,
|
|
COUNT = 16,
|
|
};
|
|
pub const VSS_WS_UNKNOWN = VSS_WRITER_STATE.UNKNOWN;
|
|
pub const VSS_WS_STABLE = VSS_WRITER_STATE.STABLE;
|
|
pub const VSS_WS_WAITING_FOR_FREEZE = VSS_WRITER_STATE.WAITING_FOR_FREEZE;
|
|
pub const VSS_WS_WAITING_FOR_THAW = VSS_WRITER_STATE.WAITING_FOR_THAW;
|
|
pub const VSS_WS_WAITING_FOR_POST_SNAPSHOT = VSS_WRITER_STATE.WAITING_FOR_POST_SNAPSHOT;
|
|
pub const VSS_WS_WAITING_FOR_BACKUP_COMPLETE = VSS_WRITER_STATE.WAITING_FOR_BACKUP_COMPLETE;
|
|
pub const VSS_WS_FAILED_AT_IDENTIFY = VSS_WRITER_STATE.FAILED_AT_IDENTIFY;
|
|
pub const VSS_WS_FAILED_AT_PREPARE_BACKUP = VSS_WRITER_STATE.FAILED_AT_PREPARE_BACKUP;
|
|
pub const VSS_WS_FAILED_AT_PREPARE_SNAPSHOT = VSS_WRITER_STATE.FAILED_AT_PREPARE_SNAPSHOT;
|
|
pub const VSS_WS_FAILED_AT_FREEZE = VSS_WRITER_STATE.FAILED_AT_FREEZE;
|
|
pub const VSS_WS_FAILED_AT_THAW = VSS_WRITER_STATE.FAILED_AT_THAW;
|
|
pub const VSS_WS_FAILED_AT_POST_SNAPSHOT = VSS_WRITER_STATE.FAILED_AT_POST_SNAPSHOT;
|
|
pub const VSS_WS_FAILED_AT_BACKUP_COMPLETE = VSS_WRITER_STATE.FAILED_AT_BACKUP_COMPLETE;
|
|
pub const VSS_WS_FAILED_AT_PRE_RESTORE = VSS_WRITER_STATE.FAILED_AT_PRE_RESTORE;
|
|
pub const VSS_WS_FAILED_AT_POST_RESTORE = VSS_WRITER_STATE.FAILED_AT_POST_RESTORE;
|
|
pub const VSS_WS_FAILED_AT_BACKUPSHUTDOWN = VSS_WRITER_STATE.FAILED_AT_BACKUPSHUTDOWN;
|
|
pub const VSS_WS_COUNT = VSS_WRITER_STATE.COUNT;
|
|
|
|
pub const VSS_BACKUP_TYPE = enum(i32) {
|
|
UNDEFINED = 0,
|
|
FULL = 1,
|
|
INCREMENTAL = 2,
|
|
DIFFERENTIAL = 3,
|
|
LOG = 4,
|
|
COPY = 5,
|
|
OTHER = 6,
|
|
};
|
|
pub const VSS_BT_UNDEFINED = VSS_BACKUP_TYPE.UNDEFINED;
|
|
pub const VSS_BT_FULL = VSS_BACKUP_TYPE.FULL;
|
|
pub const VSS_BT_INCREMENTAL = VSS_BACKUP_TYPE.INCREMENTAL;
|
|
pub const VSS_BT_DIFFERENTIAL = VSS_BACKUP_TYPE.DIFFERENTIAL;
|
|
pub const VSS_BT_LOG = VSS_BACKUP_TYPE.LOG;
|
|
pub const VSS_BT_COPY = VSS_BACKUP_TYPE.COPY;
|
|
pub const VSS_BT_OTHER = VSS_BACKUP_TYPE.OTHER;
|
|
|
|
pub const VSS_RESTORE_TYPE = enum(i32) {
|
|
UNDEFINED = 0,
|
|
BY_COPY = 1,
|
|
IMPORT = 2,
|
|
OTHER = 3,
|
|
};
|
|
pub const VSS_RTYPE_UNDEFINED = VSS_RESTORE_TYPE.UNDEFINED;
|
|
pub const VSS_RTYPE_BY_COPY = VSS_RESTORE_TYPE.BY_COPY;
|
|
pub const VSS_RTYPE_IMPORT = VSS_RESTORE_TYPE.IMPORT;
|
|
pub const VSS_RTYPE_OTHER = VSS_RESTORE_TYPE.OTHER;
|
|
|
|
pub const VSS_ROLLFORWARD_TYPE = enum(i32) {
|
|
UNDEFINED = 0,
|
|
NONE = 1,
|
|
ALL = 2,
|
|
PARTIAL = 3,
|
|
};
|
|
pub const VSS_RF_UNDEFINED = VSS_ROLLFORWARD_TYPE.UNDEFINED;
|
|
pub const VSS_RF_NONE = VSS_ROLLFORWARD_TYPE.NONE;
|
|
pub const VSS_RF_ALL = VSS_ROLLFORWARD_TYPE.ALL;
|
|
pub const VSS_RF_PARTIAL = VSS_ROLLFORWARD_TYPE.PARTIAL;
|
|
|
|
pub const VSS_PROVIDER_TYPE = enum(i32) {
|
|
UNKNOWN = 0,
|
|
SYSTEM = 1,
|
|
SOFTWARE = 2,
|
|
HARDWARE = 3,
|
|
FILESHARE = 4,
|
|
};
|
|
pub const VSS_PROV_UNKNOWN = VSS_PROVIDER_TYPE.UNKNOWN;
|
|
pub const VSS_PROV_SYSTEM = VSS_PROVIDER_TYPE.SYSTEM;
|
|
pub const VSS_PROV_SOFTWARE = VSS_PROVIDER_TYPE.SOFTWARE;
|
|
pub const VSS_PROV_HARDWARE = VSS_PROVIDER_TYPE.HARDWARE;
|
|
pub const VSS_PROV_FILESHARE = VSS_PROVIDER_TYPE.FILESHARE;
|
|
|
|
pub const VSS_APPLICATION_LEVEL = enum(i32) {
|
|
UNKNOWN = 0,
|
|
SYSTEM = 1,
|
|
BACK_END = 2,
|
|
FRONT_END = 3,
|
|
SYSTEM_RM = 4,
|
|
AUTO = -1,
|
|
};
|
|
pub const VSS_APP_UNKNOWN = VSS_APPLICATION_LEVEL.UNKNOWN;
|
|
pub const VSS_APP_SYSTEM = VSS_APPLICATION_LEVEL.SYSTEM;
|
|
pub const VSS_APP_BACK_END = VSS_APPLICATION_LEVEL.BACK_END;
|
|
pub const VSS_APP_FRONT_END = VSS_APPLICATION_LEVEL.FRONT_END;
|
|
pub const VSS_APP_SYSTEM_RM = VSS_APPLICATION_LEVEL.SYSTEM_RM;
|
|
pub const VSS_APP_AUTO = VSS_APPLICATION_LEVEL.AUTO;
|
|
|
|
pub const VSS_SNAPSHOT_COMPATIBILITY = enum(i32) {
|
|
DEFRAG = 1,
|
|
CONTENTINDEX = 2,
|
|
};
|
|
pub const VSS_SC_DISABLE_DEFRAG = VSS_SNAPSHOT_COMPATIBILITY.DEFRAG;
|
|
pub const VSS_SC_DISABLE_CONTENTINDEX = VSS_SNAPSHOT_COMPATIBILITY.CONTENTINDEX;
|
|
|
|
pub const VSS_SNAPSHOT_PROPERTY_ID = enum(i32) {
|
|
UNKNOWN = 0,
|
|
SNAPSHOT_ID = 1,
|
|
SNAPSHOT_SET_ID = 2,
|
|
SNAPSHOTS_COUNT = 3,
|
|
SNAPSHOT_DEVICE = 4,
|
|
ORIGINAL_VOLUME = 5,
|
|
ORIGINATING_MACHINE = 6,
|
|
SERVICE_MACHINE = 7,
|
|
EXPOSED_NAME = 8,
|
|
EXPOSED_PATH = 9,
|
|
PROVIDER_ID = 10,
|
|
SNAPSHOT_ATTRIBUTES = 11,
|
|
CREATION_TIMESTAMP = 12,
|
|
STATUS = 13,
|
|
};
|
|
pub const VSS_SPROPID_UNKNOWN = VSS_SNAPSHOT_PROPERTY_ID.UNKNOWN;
|
|
pub const VSS_SPROPID_SNAPSHOT_ID = VSS_SNAPSHOT_PROPERTY_ID.SNAPSHOT_ID;
|
|
pub const VSS_SPROPID_SNAPSHOT_SET_ID = VSS_SNAPSHOT_PROPERTY_ID.SNAPSHOT_SET_ID;
|
|
pub const VSS_SPROPID_SNAPSHOTS_COUNT = VSS_SNAPSHOT_PROPERTY_ID.SNAPSHOTS_COUNT;
|
|
pub const VSS_SPROPID_SNAPSHOT_DEVICE = VSS_SNAPSHOT_PROPERTY_ID.SNAPSHOT_DEVICE;
|
|
pub const VSS_SPROPID_ORIGINAL_VOLUME = VSS_SNAPSHOT_PROPERTY_ID.ORIGINAL_VOLUME;
|
|
pub const VSS_SPROPID_ORIGINATING_MACHINE = VSS_SNAPSHOT_PROPERTY_ID.ORIGINATING_MACHINE;
|
|
pub const VSS_SPROPID_SERVICE_MACHINE = VSS_SNAPSHOT_PROPERTY_ID.SERVICE_MACHINE;
|
|
pub const VSS_SPROPID_EXPOSED_NAME = VSS_SNAPSHOT_PROPERTY_ID.EXPOSED_NAME;
|
|
pub const VSS_SPROPID_EXPOSED_PATH = VSS_SNAPSHOT_PROPERTY_ID.EXPOSED_PATH;
|
|
pub const VSS_SPROPID_PROVIDER_ID = VSS_SNAPSHOT_PROPERTY_ID.PROVIDER_ID;
|
|
pub const VSS_SPROPID_SNAPSHOT_ATTRIBUTES = VSS_SNAPSHOT_PROPERTY_ID.SNAPSHOT_ATTRIBUTES;
|
|
pub const VSS_SPROPID_CREATION_TIMESTAMP = VSS_SNAPSHOT_PROPERTY_ID.CREATION_TIMESTAMP;
|
|
pub const VSS_SPROPID_STATUS = VSS_SNAPSHOT_PROPERTY_ID.STATUS;
|
|
|
|
pub const VSS_FILE_SPEC_BACKUP_TYPE = enum(i32) {
|
|
FULL_BACKUP_REQUIRED = 1,
|
|
DIFFERENTIAL_BACKUP_REQUIRED = 2,
|
|
INCREMENTAL_BACKUP_REQUIRED = 4,
|
|
LOG_BACKUP_REQUIRED = 8,
|
|
FULL_SNAPSHOT_REQUIRED = 256,
|
|
DIFFERENTIAL_SNAPSHOT_REQUIRED = 512,
|
|
INCREMENTAL_SNAPSHOT_REQUIRED = 1024,
|
|
LOG_SNAPSHOT_REQUIRED = 2048,
|
|
CREATED_DURING_BACKUP = 65536,
|
|
ALL_BACKUP_REQUIRED = 15,
|
|
ALL_SNAPSHOT_REQUIRED = 3840,
|
|
};
|
|
pub const VSS_FSBT_FULL_BACKUP_REQUIRED = VSS_FILE_SPEC_BACKUP_TYPE.FULL_BACKUP_REQUIRED;
|
|
pub const VSS_FSBT_DIFFERENTIAL_BACKUP_REQUIRED = VSS_FILE_SPEC_BACKUP_TYPE.DIFFERENTIAL_BACKUP_REQUIRED;
|
|
pub const VSS_FSBT_INCREMENTAL_BACKUP_REQUIRED = VSS_FILE_SPEC_BACKUP_TYPE.INCREMENTAL_BACKUP_REQUIRED;
|
|
pub const VSS_FSBT_LOG_BACKUP_REQUIRED = VSS_FILE_SPEC_BACKUP_TYPE.LOG_BACKUP_REQUIRED;
|
|
pub const VSS_FSBT_FULL_SNAPSHOT_REQUIRED = VSS_FILE_SPEC_BACKUP_TYPE.FULL_SNAPSHOT_REQUIRED;
|
|
pub const VSS_FSBT_DIFFERENTIAL_SNAPSHOT_REQUIRED = VSS_FILE_SPEC_BACKUP_TYPE.DIFFERENTIAL_SNAPSHOT_REQUIRED;
|
|
pub const VSS_FSBT_INCREMENTAL_SNAPSHOT_REQUIRED = VSS_FILE_SPEC_BACKUP_TYPE.INCREMENTAL_SNAPSHOT_REQUIRED;
|
|
pub const VSS_FSBT_LOG_SNAPSHOT_REQUIRED = VSS_FILE_SPEC_BACKUP_TYPE.LOG_SNAPSHOT_REQUIRED;
|
|
pub const VSS_FSBT_CREATED_DURING_BACKUP = VSS_FILE_SPEC_BACKUP_TYPE.CREATED_DURING_BACKUP;
|
|
pub const VSS_FSBT_ALL_BACKUP_REQUIRED = VSS_FILE_SPEC_BACKUP_TYPE.ALL_BACKUP_REQUIRED;
|
|
pub const VSS_FSBT_ALL_SNAPSHOT_REQUIRED = VSS_FILE_SPEC_BACKUP_TYPE.ALL_SNAPSHOT_REQUIRED;
|
|
|
|
pub const VSS_BACKUP_SCHEMA = enum(i32) {
|
|
UNDEFINED = 0,
|
|
DIFFERENTIAL = 1,
|
|
INCREMENTAL = 2,
|
|
EXCLUSIVE_INCREMENTAL_DIFFERENTIAL = 4,
|
|
LOG = 8,
|
|
COPY = 16,
|
|
TIMESTAMPED = 32,
|
|
LAST_MODIFY = 64,
|
|
LSN = 128,
|
|
WRITER_SUPPORTS_NEW_TARGET = 256,
|
|
WRITER_SUPPORTS_RESTORE_WITH_MOVE = 512,
|
|
INDEPENDENT_SYSTEM_STATE = 1024,
|
|
ROLLFORWARD_RESTORE = 4096,
|
|
RESTORE_RENAME = 8192,
|
|
AUTHORITATIVE_RESTORE = 16384,
|
|
WRITER_SUPPORTS_PARALLEL_RESTORES = 32768,
|
|
};
|
|
pub const VSS_BS_UNDEFINED = VSS_BACKUP_SCHEMA.UNDEFINED;
|
|
pub const VSS_BS_DIFFERENTIAL = VSS_BACKUP_SCHEMA.DIFFERENTIAL;
|
|
pub const VSS_BS_INCREMENTAL = VSS_BACKUP_SCHEMA.INCREMENTAL;
|
|
pub const VSS_BS_EXCLUSIVE_INCREMENTAL_DIFFERENTIAL = VSS_BACKUP_SCHEMA.EXCLUSIVE_INCREMENTAL_DIFFERENTIAL;
|
|
pub const VSS_BS_LOG = VSS_BACKUP_SCHEMA.LOG;
|
|
pub const VSS_BS_COPY = VSS_BACKUP_SCHEMA.COPY;
|
|
pub const VSS_BS_TIMESTAMPED = VSS_BACKUP_SCHEMA.TIMESTAMPED;
|
|
pub const VSS_BS_LAST_MODIFY = VSS_BACKUP_SCHEMA.LAST_MODIFY;
|
|
pub const VSS_BS_LSN = VSS_BACKUP_SCHEMA.LSN;
|
|
pub const VSS_BS_WRITER_SUPPORTS_NEW_TARGET = VSS_BACKUP_SCHEMA.WRITER_SUPPORTS_NEW_TARGET;
|
|
pub const VSS_BS_WRITER_SUPPORTS_RESTORE_WITH_MOVE = VSS_BACKUP_SCHEMA.WRITER_SUPPORTS_RESTORE_WITH_MOVE;
|
|
pub const VSS_BS_INDEPENDENT_SYSTEM_STATE = VSS_BACKUP_SCHEMA.INDEPENDENT_SYSTEM_STATE;
|
|
pub const VSS_BS_ROLLFORWARD_RESTORE = VSS_BACKUP_SCHEMA.ROLLFORWARD_RESTORE;
|
|
pub const VSS_BS_RESTORE_RENAME = VSS_BACKUP_SCHEMA.RESTORE_RENAME;
|
|
pub const VSS_BS_AUTHORITATIVE_RESTORE = VSS_BACKUP_SCHEMA.AUTHORITATIVE_RESTORE;
|
|
pub const VSS_BS_WRITER_SUPPORTS_PARALLEL_RESTORES = VSS_BACKUP_SCHEMA.WRITER_SUPPORTS_PARALLEL_RESTORES;
|
|
|
|
pub const VSS_SNAPSHOT_PROP = extern struct {
|
|
m_SnapshotId: Guid,
|
|
m_SnapshotSetId: Guid,
|
|
m_lSnapshotsCount: i32,
|
|
m_pwszSnapshotDeviceObject: ?*u16,
|
|
m_pwszOriginalVolumeName: ?*u16,
|
|
m_pwszOriginatingMachine: ?*u16,
|
|
m_pwszServiceMachine: ?*u16,
|
|
m_pwszExposedName: ?*u16,
|
|
m_pwszExposedPath: ?*u16,
|
|
m_ProviderId: Guid,
|
|
m_lSnapshotAttributes: i32,
|
|
m_tsCreationTimestamp: i64,
|
|
m_eStatus: VSS_SNAPSHOT_STATE,
|
|
};
|
|
|
|
pub const VSS_PROVIDER_PROP = extern struct {
|
|
m_ProviderId: Guid,
|
|
m_pwszProviderName: ?*u16,
|
|
m_eProviderType: VSS_PROVIDER_TYPE,
|
|
m_pwszProviderVersion: ?*u16,
|
|
m_ProviderVersionId: Guid,
|
|
m_ClassId: Guid,
|
|
};
|
|
|
|
pub const VSS_OBJECT_UNION = extern union {
|
|
Snap: VSS_SNAPSHOT_PROP,
|
|
Prov: VSS_PROVIDER_PROP,
|
|
};
|
|
|
|
pub const VSS_OBJECT_PROP = extern struct {
|
|
Type: VSS_OBJECT_TYPE,
|
|
Obj: VSS_OBJECT_UNION,
|
|
};
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
const IID_IVssEnumObject_Value = Guid.initString("ae1c7110-2f60-11d3-8a39-00c04f72d8e3");
|
|
pub const IID_IVssEnumObject = &IID_IVssEnumObject_Value;
|
|
pub const IVssEnumObject = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
Next: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssEnumObject,
|
|
celt: u32,
|
|
rgelt: [*]VSS_OBJECT_PROP,
|
|
pceltFetched: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssEnumObject,
|
|
celt: u32,
|
|
rgelt: [*]VSS_OBJECT_PROP,
|
|
pceltFetched: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
Skip: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssEnumObject,
|
|
celt: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssEnumObject,
|
|
celt: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
Reset: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssEnumObject,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssEnumObject,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
Clone: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssEnumObject,
|
|
ppenum: ?*?*IVssEnumObject,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssEnumObject,
|
|
ppenum: ?*?*IVssEnumObject,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssEnumObject_Next(self: *const T, celt: u32, rgelt: [*]VSS_OBJECT_PROP, pceltFetched: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssEnumObject.VTable, @ptrCast(self.vtable)).Next(@as(*const IVssEnumObject, @ptrCast(self)), celt, rgelt, pceltFetched);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssEnumObject_Skip(self: *const T, celt: u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssEnumObject.VTable, @ptrCast(self.vtable)).Skip(@as(*const IVssEnumObject, @ptrCast(self)), celt);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssEnumObject_Reset(self: *const T) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssEnumObject.VTable, @ptrCast(self.vtable)).Reset(@as(*const IVssEnumObject, @ptrCast(self)));
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssEnumObject_Clone(self: *const T, ppenum: ?*?*IVssEnumObject) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssEnumObject.VTable, @ptrCast(self.vtable)).Clone(@as(*const IVssEnumObject, @ptrCast(self)), ppenum);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
const IID_IVssAsync_Value = Guid.initString("507c37b4-cf5b-4e95-b0af-14eb9767467e");
|
|
pub const IID_IVssAsync = &IID_IVssAsync_Value;
|
|
pub const IVssAsync = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
Cancel: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssAsync,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssAsync,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
Wait: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssAsync,
|
|
dwMilliseconds: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssAsync,
|
|
dwMilliseconds: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
QueryStatus: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssAsync,
|
|
pHrResult: ?*HRESULT,
|
|
pReserved: ?*i32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssAsync,
|
|
pHrResult: ?*HRESULT,
|
|
pReserved: ?*i32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssAsync_Cancel(self: *const T) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssAsync.VTable, @ptrCast(self.vtable)).Cancel(@as(*const IVssAsync, @ptrCast(self)));
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssAsync_Wait(self: *const T, dwMilliseconds: u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssAsync.VTable, @ptrCast(self.vtable)).Wait(@as(*const IVssAsync, @ptrCast(self)), dwMilliseconds);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssAsync_QueryStatus(self: *const T, pHrResult: ?*HRESULT, pReserved: ?*i32) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssAsync.VTable, @ptrCast(self.vtable)).QueryStatus(@as(*const IVssAsync, @ptrCast(self)), pHrResult, pReserved);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
pub const VSS_USAGE_TYPE = enum(i32) {
|
|
UNDEFINED = 0,
|
|
BOOTABLESYSTEMSTATE = 1,
|
|
SYSTEMSERVICE = 2,
|
|
USERDATA = 3,
|
|
OTHER = 4,
|
|
};
|
|
pub const VSS_UT_UNDEFINED = VSS_USAGE_TYPE.UNDEFINED;
|
|
pub const VSS_UT_BOOTABLESYSTEMSTATE = VSS_USAGE_TYPE.BOOTABLESYSTEMSTATE;
|
|
pub const VSS_UT_SYSTEMSERVICE = VSS_USAGE_TYPE.SYSTEMSERVICE;
|
|
pub const VSS_UT_USERDATA = VSS_USAGE_TYPE.USERDATA;
|
|
pub const VSS_UT_OTHER = VSS_USAGE_TYPE.OTHER;
|
|
|
|
pub const VSS_SOURCE_TYPE = enum(i32) {
|
|
UNDEFINED = 0,
|
|
TRANSACTEDDB = 1,
|
|
NONTRANSACTEDDB = 2,
|
|
OTHER = 3,
|
|
};
|
|
pub const VSS_ST_UNDEFINED = VSS_SOURCE_TYPE.UNDEFINED;
|
|
pub const VSS_ST_TRANSACTEDDB = VSS_SOURCE_TYPE.TRANSACTEDDB;
|
|
pub const VSS_ST_NONTRANSACTEDDB = VSS_SOURCE_TYPE.NONTRANSACTEDDB;
|
|
pub const VSS_ST_OTHER = VSS_SOURCE_TYPE.OTHER;
|
|
|
|
pub const VSS_RESTOREMETHOD_ENUM = enum(i32) {
|
|
UNDEFINED = 0,
|
|
RESTORE_IF_NOT_THERE = 1,
|
|
RESTORE_IF_CAN_REPLACE = 2,
|
|
STOP_RESTORE_START = 3,
|
|
RESTORE_TO_ALTERNATE_LOCATION = 4,
|
|
RESTORE_AT_REBOOT = 5,
|
|
RESTORE_AT_REBOOT_IF_CANNOT_REPLACE = 6,
|
|
CUSTOM = 7,
|
|
RESTORE_STOP_START = 8,
|
|
};
|
|
pub const VSS_RME_UNDEFINED = VSS_RESTOREMETHOD_ENUM.UNDEFINED;
|
|
pub const VSS_RME_RESTORE_IF_NOT_THERE = VSS_RESTOREMETHOD_ENUM.RESTORE_IF_NOT_THERE;
|
|
pub const VSS_RME_RESTORE_IF_CAN_REPLACE = VSS_RESTOREMETHOD_ENUM.RESTORE_IF_CAN_REPLACE;
|
|
pub const VSS_RME_STOP_RESTORE_START = VSS_RESTOREMETHOD_ENUM.STOP_RESTORE_START;
|
|
pub const VSS_RME_RESTORE_TO_ALTERNATE_LOCATION = VSS_RESTOREMETHOD_ENUM.RESTORE_TO_ALTERNATE_LOCATION;
|
|
pub const VSS_RME_RESTORE_AT_REBOOT = VSS_RESTOREMETHOD_ENUM.RESTORE_AT_REBOOT;
|
|
pub const VSS_RME_RESTORE_AT_REBOOT_IF_CANNOT_REPLACE = VSS_RESTOREMETHOD_ENUM.RESTORE_AT_REBOOT_IF_CANNOT_REPLACE;
|
|
pub const VSS_RME_CUSTOM = VSS_RESTOREMETHOD_ENUM.CUSTOM;
|
|
pub const VSS_RME_RESTORE_STOP_START = VSS_RESTOREMETHOD_ENUM.RESTORE_STOP_START;
|
|
|
|
pub const VSS_WRITERRESTORE_ENUM = enum(i32) {
|
|
UNDEFINED = 0,
|
|
NEVER = 1,
|
|
IF_REPLACE_FAILS = 2,
|
|
ALWAYS = 3,
|
|
};
|
|
pub const VSS_WRE_UNDEFINED = VSS_WRITERRESTORE_ENUM.UNDEFINED;
|
|
pub const VSS_WRE_NEVER = VSS_WRITERRESTORE_ENUM.NEVER;
|
|
pub const VSS_WRE_IF_REPLACE_FAILS = VSS_WRITERRESTORE_ENUM.IF_REPLACE_FAILS;
|
|
pub const VSS_WRE_ALWAYS = VSS_WRITERRESTORE_ENUM.ALWAYS;
|
|
|
|
pub const VSS_COMPONENT_TYPE = enum(i32) {
|
|
UNDEFINED = 0,
|
|
DATABASE = 1,
|
|
FILEGROUP = 2,
|
|
};
|
|
pub const VSS_CT_UNDEFINED = VSS_COMPONENT_TYPE.UNDEFINED;
|
|
pub const VSS_CT_DATABASE = VSS_COMPONENT_TYPE.DATABASE;
|
|
pub const VSS_CT_FILEGROUP = VSS_COMPONENT_TYPE.FILEGROUP;
|
|
|
|
pub const VSS_ALTERNATE_WRITER_STATE = enum(i32) {
|
|
UNDEFINED = 0,
|
|
NO_ALTERNATE_WRITER = 1,
|
|
ALTERNATE_WRITER_EXISTS = 2,
|
|
THIS_IS_ALTERNATE_WRITER = 3,
|
|
};
|
|
pub const VSS_AWS_UNDEFINED = VSS_ALTERNATE_WRITER_STATE.UNDEFINED;
|
|
pub const VSS_AWS_NO_ALTERNATE_WRITER = VSS_ALTERNATE_WRITER_STATE.NO_ALTERNATE_WRITER;
|
|
pub const VSS_AWS_ALTERNATE_WRITER_EXISTS = VSS_ALTERNATE_WRITER_STATE.ALTERNATE_WRITER_EXISTS;
|
|
pub const VSS_AWS_THIS_IS_ALTERNATE_WRITER = VSS_ALTERNATE_WRITER_STATE.THIS_IS_ALTERNATE_WRITER;
|
|
|
|
pub const VSS_SUBSCRIBE_MASK = enum(i32) {
|
|
POST_SNAPSHOT_FLAG = 1,
|
|
BACKUP_EVENTS_FLAG = 2,
|
|
RESTORE_EVENTS_FLAG = 4,
|
|
IO_THROTTLING_FLAG = 8,
|
|
ALL_FLAGS = -1,
|
|
};
|
|
pub const VSS_SM_POST_SNAPSHOT_FLAG = VSS_SUBSCRIBE_MASK.POST_SNAPSHOT_FLAG;
|
|
pub const VSS_SM_BACKUP_EVENTS_FLAG = VSS_SUBSCRIBE_MASK.BACKUP_EVENTS_FLAG;
|
|
pub const VSS_SM_RESTORE_EVENTS_FLAG = VSS_SUBSCRIBE_MASK.RESTORE_EVENTS_FLAG;
|
|
pub const VSS_SM_IO_THROTTLING_FLAG = VSS_SUBSCRIBE_MASK.IO_THROTTLING_FLAG;
|
|
pub const VSS_SM_ALL_FLAGS = VSS_SUBSCRIBE_MASK.ALL_FLAGS;
|
|
|
|
pub const VSS_RESTORE_TARGET = enum(i32) {
|
|
UNDEFINED = 0,
|
|
ORIGINAL = 1,
|
|
ALTERNATE = 2,
|
|
DIRECTED = 3,
|
|
ORIGINAL_LOCATION = 4,
|
|
};
|
|
pub const VSS_RT_UNDEFINED = VSS_RESTORE_TARGET.UNDEFINED;
|
|
pub const VSS_RT_ORIGINAL = VSS_RESTORE_TARGET.ORIGINAL;
|
|
pub const VSS_RT_ALTERNATE = VSS_RESTORE_TARGET.ALTERNATE;
|
|
pub const VSS_RT_DIRECTED = VSS_RESTORE_TARGET.DIRECTED;
|
|
pub const VSS_RT_ORIGINAL_LOCATION = VSS_RESTORE_TARGET.ORIGINAL_LOCATION;
|
|
|
|
pub const VSS_FILE_RESTORE_STATUS = enum(i32) {
|
|
UNDEFINED = 0,
|
|
NONE = 1,
|
|
ALL = 2,
|
|
FAILED = 3,
|
|
};
|
|
pub const VSS_RS_UNDEFINED = VSS_FILE_RESTORE_STATUS.UNDEFINED;
|
|
pub const VSS_RS_NONE = VSS_FILE_RESTORE_STATUS.NONE;
|
|
pub const VSS_RS_ALL = VSS_FILE_RESTORE_STATUS.ALL;
|
|
pub const VSS_RS_FAILED = VSS_FILE_RESTORE_STATUS.FAILED;
|
|
|
|
pub const VSS_COMPONENT_FLAGS = enum(i32) {
|
|
BACKUP_RECOVERY = 1,
|
|
APP_ROLLBACK_RECOVERY = 2,
|
|
NOT_SYSTEM_STATE = 4,
|
|
};
|
|
pub const VSS_CF_BACKUP_RECOVERY = VSS_COMPONENT_FLAGS.BACKUP_RECOVERY;
|
|
pub const VSS_CF_APP_ROLLBACK_RECOVERY = VSS_COMPONENT_FLAGS.APP_ROLLBACK_RECOVERY;
|
|
pub const VSS_CF_NOT_SYSTEM_STATE = VSS_COMPONENT_FLAGS.NOT_SYSTEM_STATE;
|
|
|
|
pub const IVssExamineWriterMetadata = extern struct {
|
|
placeholder: usize, // TODO: why is this type empty?
|
|
};
|
|
|
|
pub const IVssWMFiledesc = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
GetPath: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssWMFiledesc,
|
|
pbstrPath: ?*?BSTR,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssWMFiledesc,
|
|
pbstrPath: ?*?BSTR,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetFilespec: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssWMFiledesc,
|
|
pbstrFilespec: ?*?BSTR,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssWMFiledesc,
|
|
pbstrFilespec: ?*?BSTR,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetRecursive: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssWMFiledesc,
|
|
pbRecursive: ?*bool,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssWMFiledesc,
|
|
pbRecursive: ?*bool,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetAlternateLocation: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssWMFiledesc,
|
|
pbstrAlternateLocation: ?*?BSTR,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssWMFiledesc,
|
|
pbstrAlternateLocation: ?*?BSTR,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetBackupTypeMask: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssWMFiledesc,
|
|
pdwTypeMask: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssWMFiledesc,
|
|
pdwTypeMask: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssWMFiledesc_GetPath(self: *const T, pbstrPath: ?*?BSTR) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssWMFiledesc.VTable, @ptrCast(self.vtable)).GetPath(@as(*const IVssWMFiledesc, @ptrCast(self)), pbstrPath);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssWMFiledesc_GetFilespec(self: *const T, pbstrFilespec: ?*?BSTR) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssWMFiledesc.VTable, @ptrCast(self.vtable)).GetFilespec(@as(*const IVssWMFiledesc, @ptrCast(self)), pbstrFilespec);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssWMFiledesc_GetRecursive(self: *const T, pbRecursive: ?*bool) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssWMFiledesc.VTable, @ptrCast(self.vtable)).GetRecursive(@as(*const IVssWMFiledesc, @ptrCast(self)), pbRecursive);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssWMFiledesc_GetAlternateLocation(self: *const T, pbstrAlternateLocation: ?*?BSTR) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssWMFiledesc.VTable, @ptrCast(self.vtable)).GetAlternateLocation(@as(*const IVssWMFiledesc, @ptrCast(self)), pbstrAlternateLocation);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssWMFiledesc_GetBackupTypeMask(self: *const T, pdwTypeMask: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssWMFiledesc.VTable, @ptrCast(self.vtable)).GetBackupTypeMask(@as(*const IVssWMFiledesc, @ptrCast(self)), pdwTypeMask);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
pub const IVssWMDependency = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
GetWriterId: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssWMDependency,
|
|
pWriterId: ?*Guid,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssWMDependency,
|
|
pWriterId: ?*Guid,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetLogicalPath: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssWMDependency,
|
|
pbstrLogicalPath: ?*?BSTR,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssWMDependency,
|
|
pbstrLogicalPath: ?*?BSTR,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetComponentName: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssWMDependency,
|
|
pbstrComponentName: ?*?BSTR,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssWMDependency,
|
|
pbstrComponentName: ?*?BSTR,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssWMDependency_GetWriterId(self: *const T, pWriterId: ?*Guid) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssWMDependency.VTable, @ptrCast(self.vtable)).GetWriterId(@as(*const IVssWMDependency, @ptrCast(self)), pWriterId);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssWMDependency_GetLogicalPath(self: *const T, pbstrLogicalPath: ?*?BSTR) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssWMDependency.VTable, @ptrCast(self.vtable)).GetLogicalPath(@as(*const IVssWMDependency, @ptrCast(self)), pbstrLogicalPath);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssWMDependency_GetComponentName(self: *const T, pbstrComponentName: ?*?BSTR) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssWMDependency.VTable, @ptrCast(self.vtable)).GetComponentName(@as(*const IVssWMDependency, @ptrCast(self)), pbstrComponentName);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IVssComponent_Value = Guid.initString("d2c72c96-c121-4518-b627-e5a93d010ead");
|
|
pub const IID_IVssComponent = &IID_IVssComponent_Value;
|
|
pub const IVssComponent = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
GetLogicalPath: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssComponent,
|
|
pbstrPath: ?*?BSTR,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssComponent,
|
|
pbstrPath: ?*?BSTR,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetComponentType: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssComponent,
|
|
pct: ?*VSS_COMPONENT_TYPE,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssComponent,
|
|
pct: ?*VSS_COMPONENT_TYPE,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetComponentName: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssComponent,
|
|
pbstrName: ?*?BSTR,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssComponent,
|
|
pbstrName: ?*?BSTR,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetBackupSucceeded: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssComponent,
|
|
pbSucceeded: ?*bool,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssComponent,
|
|
pbSucceeded: ?*bool,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetAlternateLocationMappingCount: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssComponent,
|
|
pcMappings: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssComponent,
|
|
pcMappings: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetAlternateLocationMapping: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssComponent,
|
|
iMapping: u32,
|
|
ppFiledesc: ?*?*IVssWMFiledesc,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssComponent,
|
|
iMapping: u32,
|
|
ppFiledesc: ?*?*IVssWMFiledesc,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetBackupMetadata: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssComponent,
|
|
wszData: ?[*:0]const u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssComponent,
|
|
wszData: ?[*:0]const u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetBackupMetadata: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssComponent,
|
|
pbstrData: ?*?BSTR,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssComponent,
|
|
pbstrData: ?*?BSTR,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
AddPartialFile: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssComponent,
|
|
wszPath: ?[*:0]const u16,
|
|
wszFilename: ?[*:0]const u16,
|
|
wszRanges: ?[*:0]const u16,
|
|
wszMetadata: ?[*:0]const u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssComponent,
|
|
wszPath: ?[*:0]const u16,
|
|
wszFilename: ?[*:0]const u16,
|
|
wszRanges: ?[*:0]const u16,
|
|
wszMetadata: ?[*:0]const u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetPartialFileCount: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssComponent,
|
|
pcPartialFiles: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssComponent,
|
|
pcPartialFiles: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetPartialFile: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssComponent,
|
|
iPartialFile: u32,
|
|
pbstrPath: ?*?BSTR,
|
|
pbstrFilename: ?*?BSTR,
|
|
pbstrRange: ?*?BSTR,
|
|
pbstrMetadata: ?*?BSTR,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssComponent,
|
|
iPartialFile: u32,
|
|
pbstrPath: ?*?BSTR,
|
|
pbstrFilename: ?*?BSTR,
|
|
pbstrRange: ?*?BSTR,
|
|
pbstrMetadata: ?*?BSTR,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
IsSelectedForRestore: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssComponent,
|
|
pbSelectedForRestore: ?*bool,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssComponent,
|
|
pbSelectedForRestore: ?*bool,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetAdditionalRestores: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssComponent,
|
|
pbAdditionalRestores: ?*bool,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssComponent,
|
|
pbAdditionalRestores: ?*bool,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetNewTargetCount: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssComponent,
|
|
pcNewTarget: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssComponent,
|
|
pcNewTarget: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetNewTarget: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssComponent,
|
|
iNewTarget: u32,
|
|
ppFiledesc: ?*?*IVssWMFiledesc,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssComponent,
|
|
iNewTarget: u32,
|
|
ppFiledesc: ?*?*IVssWMFiledesc,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
AddDirectedTarget: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssComponent,
|
|
wszSourcePath: ?[*:0]const u16,
|
|
wszSourceFilename: ?[*:0]const u16,
|
|
wszSourceRangeList: ?[*:0]const u16,
|
|
wszDestinationPath: ?[*:0]const u16,
|
|
wszDestinationFilename: ?[*:0]const u16,
|
|
wszDestinationRangeList: ?[*:0]const u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssComponent,
|
|
wszSourcePath: ?[*:0]const u16,
|
|
wszSourceFilename: ?[*:0]const u16,
|
|
wszSourceRangeList: ?[*:0]const u16,
|
|
wszDestinationPath: ?[*:0]const u16,
|
|
wszDestinationFilename: ?[*:0]const u16,
|
|
wszDestinationRangeList: ?[*:0]const u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetDirectedTargetCount: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssComponent,
|
|
pcDirectedTarget: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssComponent,
|
|
pcDirectedTarget: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetDirectedTarget: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssComponent,
|
|
iDirectedTarget: u32,
|
|
pbstrSourcePath: ?*?BSTR,
|
|
pbstrSourceFileName: ?*?BSTR,
|
|
pbstrSourceRangeList: ?*?BSTR,
|
|
pbstrDestinationPath: ?*?BSTR,
|
|
pbstrDestinationFilename: ?*?BSTR,
|
|
pbstrDestinationRangeList: ?*?BSTR,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssComponent,
|
|
iDirectedTarget: u32,
|
|
pbstrSourcePath: ?*?BSTR,
|
|
pbstrSourceFileName: ?*?BSTR,
|
|
pbstrSourceRangeList: ?*?BSTR,
|
|
pbstrDestinationPath: ?*?BSTR,
|
|
pbstrDestinationFilename: ?*?BSTR,
|
|
pbstrDestinationRangeList: ?*?BSTR,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetRestoreMetadata: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssComponent,
|
|
wszRestoreMetadata: ?[*:0]const u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssComponent,
|
|
wszRestoreMetadata: ?[*:0]const u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetRestoreMetadata: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssComponent,
|
|
pbstrRestoreMetadata: ?*?BSTR,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssComponent,
|
|
pbstrRestoreMetadata: ?*?BSTR,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetRestoreTarget: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssComponent,
|
|
target: VSS_RESTORE_TARGET,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssComponent,
|
|
target: VSS_RESTORE_TARGET,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetRestoreTarget: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssComponent,
|
|
pTarget: ?*VSS_RESTORE_TARGET,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssComponent,
|
|
pTarget: ?*VSS_RESTORE_TARGET,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetPreRestoreFailureMsg: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssComponent,
|
|
wszPreRestoreFailureMsg: ?[*:0]const u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssComponent,
|
|
wszPreRestoreFailureMsg: ?[*:0]const u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetPreRestoreFailureMsg: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssComponent,
|
|
pbstrPreRestoreFailureMsg: ?*?BSTR,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssComponent,
|
|
pbstrPreRestoreFailureMsg: ?*?BSTR,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetPostRestoreFailureMsg: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssComponent,
|
|
wszPostRestoreFailureMsg: ?[*:0]const u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssComponent,
|
|
wszPostRestoreFailureMsg: ?[*:0]const u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetPostRestoreFailureMsg: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssComponent,
|
|
pbstrPostRestoreFailureMsg: ?*?BSTR,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssComponent,
|
|
pbstrPostRestoreFailureMsg: ?*?BSTR,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetBackupStamp: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssComponent,
|
|
wszBackupStamp: ?[*:0]const u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssComponent,
|
|
wszBackupStamp: ?[*:0]const u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetBackupStamp: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssComponent,
|
|
pbstrBackupStamp: ?*?BSTR,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssComponent,
|
|
pbstrBackupStamp: ?*?BSTR,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetPreviousBackupStamp: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssComponent,
|
|
pbstrBackupStamp: ?*?BSTR,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssComponent,
|
|
pbstrBackupStamp: ?*?BSTR,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetBackupOptions: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssComponent,
|
|
pbstrBackupOptions: ?*?BSTR,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssComponent,
|
|
pbstrBackupOptions: ?*?BSTR,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetRestoreOptions: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssComponent,
|
|
pbstrRestoreOptions: ?*?BSTR,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssComponent,
|
|
pbstrRestoreOptions: ?*?BSTR,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetRestoreSubcomponentCount: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssComponent,
|
|
pcRestoreSubcomponent: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssComponent,
|
|
pcRestoreSubcomponent: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetRestoreSubcomponent: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssComponent,
|
|
iComponent: u32,
|
|
pbstrLogicalPath: ?*?BSTR,
|
|
pbstrComponentName: ?*?BSTR,
|
|
pbRepair: ?*bool,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssComponent,
|
|
iComponent: u32,
|
|
pbstrLogicalPath: ?*?BSTR,
|
|
pbstrComponentName: ?*?BSTR,
|
|
pbRepair: ?*bool,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetFileRestoreStatus: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssComponent,
|
|
pStatus: ?*VSS_FILE_RESTORE_STATUS,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssComponent,
|
|
pStatus: ?*VSS_FILE_RESTORE_STATUS,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
AddDifferencedFilesByLastModifyTime: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssComponent,
|
|
wszPath: ?[*:0]const u16,
|
|
wszFilespec: ?[*:0]const u16,
|
|
bRecursive: BOOL,
|
|
ftLastModifyTime: FILETIME,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssComponent,
|
|
wszPath: ?[*:0]const u16,
|
|
wszFilespec: ?[*:0]const u16,
|
|
bRecursive: BOOL,
|
|
ftLastModifyTime: FILETIME,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
AddDifferencedFilesByLastModifyLSN: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssComponent,
|
|
wszPath: ?[*:0]const u16,
|
|
wszFilespec: ?[*:0]const u16,
|
|
bRecursive: BOOL,
|
|
bstrLsnString: ?BSTR,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssComponent,
|
|
wszPath: ?[*:0]const u16,
|
|
wszFilespec: ?[*:0]const u16,
|
|
bRecursive: BOOL,
|
|
bstrLsnString: ?BSTR,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetDifferencedFilesCount: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssComponent,
|
|
pcDifferencedFiles: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssComponent,
|
|
pcDifferencedFiles: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetDifferencedFile: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssComponent,
|
|
iDifferencedFile: u32,
|
|
pbstrPath: ?*?BSTR,
|
|
pbstrFilespec: ?*?BSTR,
|
|
pbRecursive: ?*BOOL,
|
|
pbstrLsnString: ?*?BSTR,
|
|
pftLastModifyTime: ?*FILETIME,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssComponent,
|
|
iDifferencedFile: u32,
|
|
pbstrPath: ?*?BSTR,
|
|
pbstrFilespec: ?*?BSTR,
|
|
pbRecursive: ?*BOOL,
|
|
pbstrLsnString: ?*?BSTR,
|
|
pftLastModifyTime: ?*FILETIME,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssComponent_GetLogicalPath(self: *const T, pbstrPath: ?*?BSTR) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssComponent.VTable, @ptrCast(self.vtable)).GetLogicalPath(@as(*const IVssComponent, @ptrCast(self)), pbstrPath);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssComponent_GetComponentType(self: *const T, pct: ?*VSS_COMPONENT_TYPE) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssComponent.VTable, @ptrCast(self.vtable)).GetComponentType(@as(*const IVssComponent, @ptrCast(self)), pct);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssComponent_GetComponentName(self: *const T, pbstrName: ?*?BSTR) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssComponent.VTable, @ptrCast(self.vtable)).GetComponentName(@as(*const IVssComponent, @ptrCast(self)), pbstrName);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssComponent_GetBackupSucceeded(self: *const T, pbSucceeded: ?*bool) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssComponent.VTable, @ptrCast(self.vtable)).GetBackupSucceeded(@as(*const IVssComponent, @ptrCast(self)), pbSucceeded);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssComponent_GetAlternateLocationMappingCount(self: *const T, pcMappings: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssComponent.VTable, @ptrCast(self.vtable)).GetAlternateLocationMappingCount(@as(*const IVssComponent, @ptrCast(self)), pcMappings);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssComponent_GetAlternateLocationMapping(self: *const T, iMapping: u32, ppFiledesc: ?*?*IVssWMFiledesc) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssComponent.VTable, @ptrCast(self.vtable)).GetAlternateLocationMapping(@as(*const IVssComponent, @ptrCast(self)), iMapping, ppFiledesc);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssComponent_SetBackupMetadata(self: *const T, wszData: ?[*:0]const u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssComponent.VTable, @ptrCast(self.vtable)).SetBackupMetadata(@as(*const IVssComponent, @ptrCast(self)), wszData);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssComponent_GetBackupMetadata(self: *const T, pbstrData: ?*?BSTR) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssComponent.VTable, @ptrCast(self.vtable)).GetBackupMetadata(@as(*const IVssComponent, @ptrCast(self)), pbstrData);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssComponent_AddPartialFile(self: *const T, wszPath: ?[*:0]const u16, wszFilename: ?[*:0]const u16, wszRanges: ?[*:0]const u16, wszMetadata: ?[*:0]const u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssComponent.VTable, @ptrCast(self.vtable)).AddPartialFile(@as(*const IVssComponent, @ptrCast(self)), wszPath, wszFilename, wszRanges, wszMetadata);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssComponent_GetPartialFileCount(self: *const T, pcPartialFiles: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssComponent.VTable, @ptrCast(self.vtable)).GetPartialFileCount(@as(*const IVssComponent, @ptrCast(self)), pcPartialFiles);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssComponent_GetPartialFile(self: *const T, iPartialFile: u32, pbstrPath: ?*?BSTR, pbstrFilename: ?*?BSTR, pbstrRange: ?*?BSTR, pbstrMetadata: ?*?BSTR) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssComponent.VTable, @ptrCast(self.vtable)).GetPartialFile(@as(*const IVssComponent, @ptrCast(self)), iPartialFile, pbstrPath, pbstrFilename, pbstrRange, pbstrMetadata);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssComponent_IsSelectedForRestore(self: *const T, pbSelectedForRestore: ?*bool) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssComponent.VTable, @ptrCast(self.vtable)).IsSelectedForRestore(@as(*const IVssComponent, @ptrCast(self)), pbSelectedForRestore);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssComponent_GetAdditionalRestores(self: *const T, pbAdditionalRestores: ?*bool) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssComponent.VTable, @ptrCast(self.vtable)).GetAdditionalRestores(@as(*const IVssComponent, @ptrCast(self)), pbAdditionalRestores);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssComponent_GetNewTargetCount(self: *const T, pcNewTarget: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssComponent.VTable, @ptrCast(self.vtable)).GetNewTargetCount(@as(*const IVssComponent, @ptrCast(self)), pcNewTarget);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssComponent_GetNewTarget(self: *const T, iNewTarget: u32, ppFiledesc: ?*?*IVssWMFiledesc) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssComponent.VTable, @ptrCast(self.vtable)).GetNewTarget(@as(*const IVssComponent, @ptrCast(self)), iNewTarget, ppFiledesc);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssComponent_AddDirectedTarget(self: *const T, wszSourcePath: ?[*:0]const u16, wszSourceFilename: ?[*:0]const u16, wszSourceRangeList: ?[*:0]const u16, wszDestinationPath: ?[*:0]const u16, wszDestinationFilename: ?[*:0]const u16, wszDestinationRangeList: ?[*:0]const u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssComponent.VTable, @ptrCast(self.vtable)).AddDirectedTarget(@as(*const IVssComponent, @ptrCast(self)), wszSourcePath, wszSourceFilename, wszSourceRangeList, wszDestinationPath, wszDestinationFilename, wszDestinationRangeList);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssComponent_GetDirectedTargetCount(self: *const T, pcDirectedTarget: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssComponent.VTable, @ptrCast(self.vtable)).GetDirectedTargetCount(@as(*const IVssComponent, @ptrCast(self)), pcDirectedTarget);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssComponent_GetDirectedTarget(self: *const T, iDirectedTarget: u32, pbstrSourcePath: ?*?BSTR, pbstrSourceFileName: ?*?BSTR, pbstrSourceRangeList: ?*?BSTR, pbstrDestinationPath: ?*?BSTR, pbstrDestinationFilename: ?*?BSTR, pbstrDestinationRangeList: ?*?BSTR) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssComponent.VTable, @ptrCast(self.vtable)).GetDirectedTarget(@as(*const IVssComponent, @ptrCast(self)), iDirectedTarget, pbstrSourcePath, pbstrSourceFileName, pbstrSourceRangeList, pbstrDestinationPath, pbstrDestinationFilename, pbstrDestinationRangeList);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssComponent_SetRestoreMetadata(self: *const T, wszRestoreMetadata: ?[*:0]const u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssComponent.VTable, @ptrCast(self.vtable)).SetRestoreMetadata(@as(*const IVssComponent, @ptrCast(self)), wszRestoreMetadata);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssComponent_GetRestoreMetadata(self: *const T, pbstrRestoreMetadata: ?*?BSTR) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssComponent.VTable, @ptrCast(self.vtable)).GetRestoreMetadata(@as(*const IVssComponent, @ptrCast(self)), pbstrRestoreMetadata);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssComponent_SetRestoreTarget(self: *const T, target: VSS_RESTORE_TARGET) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssComponent.VTable, @ptrCast(self.vtable)).SetRestoreTarget(@as(*const IVssComponent, @ptrCast(self)), target);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssComponent_GetRestoreTarget(self: *const T, pTarget: ?*VSS_RESTORE_TARGET) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssComponent.VTable, @ptrCast(self.vtable)).GetRestoreTarget(@as(*const IVssComponent, @ptrCast(self)), pTarget);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssComponent_SetPreRestoreFailureMsg(self: *const T, wszPreRestoreFailureMsg: ?[*:0]const u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssComponent.VTable, @ptrCast(self.vtable)).SetPreRestoreFailureMsg(@as(*const IVssComponent, @ptrCast(self)), wszPreRestoreFailureMsg);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssComponent_GetPreRestoreFailureMsg(self: *const T, pbstrPreRestoreFailureMsg: ?*?BSTR) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssComponent.VTable, @ptrCast(self.vtable)).GetPreRestoreFailureMsg(@as(*const IVssComponent, @ptrCast(self)), pbstrPreRestoreFailureMsg);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssComponent_SetPostRestoreFailureMsg(self: *const T, wszPostRestoreFailureMsg: ?[*:0]const u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssComponent.VTable, @ptrCast(self.vtable)).SetPostRestoreFailureMsg(@as(*const IVssComponent, @ptrCast(self)), wszPostRestoreFailureMsg);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssComponent_GetPostRestoreFailureMsg(self: *const T, pbstrPostRestoreFailureMsg: ?*?BSTR) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssComponent.VTable, @ptrCast(self.vtable)).GetPostRestoreFailureMsg(@as(*const IVssComponent, @ptrCast(self)), pbstrPostRestoreFailureMsg);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssComponent_SetBackupStamp(self: *const T, wszBackupStamp: ?[*:0]const u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssComponent.VTable, @ptrCast(self.vtable)).SetBackupStamp(@as(*const IVssComponent, @ptrCast(self)), wszBackupStamp);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssComponent_GetBackupStamp(self: *const T, pbstrBackupStamp: ?*?BSTR) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssComponent.VTable, @ptrCast(self.vtable)).GetBackupStamp(@as(*const IVssComponent, @ptrCast(self)), pbstrBackupStamp);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssComponent_GetPreviousBackupStamp(self: *const T, pbstrBackupStamp: ?*?BSTR) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssComponent.VTable, @ptrCast(self.vtable)).GetPreviousBackupStamp(@as(*const IVssComponent, @ptrCast(self)), pbstrBackupStamp);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssComponent_GetBackupOptions(self: *const T, pbstrBackupOptions: ?*?BSTR) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssComponent.VTable, @ptrCast(self.vtable)).GetBackupOptions(@as(*const IVssComponent, @ptrCast(self)), pbstrBackupOptions);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssComponent_GetRestoreOptions(self: *const T, pbstrRestoreOptions: ?*?BSTR) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssComponent.VTable, @ptrCast(self.vtable)).GetRestoreOptions(@as(*const IVssComponent, @ptrCast(self)), pbstrRestoreOptions);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssComponent_GetRestoreSubcomponentCount(self: *const T, pcRestoreSubcomponent: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssComponent.VTable, @ptrCast(self.vtable)).GetRestoreSubcomponentCount(@as(*const IVssComponent, @ptrCast(self)), pcRestoreSubcomponent);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssComponent_GetRestoreSubcomponent(self: *const T, iComponent: u32, pbstrLogicalPath: ?*?BSTR, pbstrComponentName: ?*?BSTR, pbRepair: ?*bool) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssComponent.VTable, @ptrCast(self.vtable)).GetRestoreSubcomponent(@as(*const IVssComponent, @ptrCast(self)), iComponent, pbstrLogicalPath, pbstrComponentName, pbRepair);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssComponent_GetFileRestoreStatus(self: *const T, pStatus: ?*VSS_FILE_RESTORE_STATUS) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssComponent.VTable, @ptrCast(self.vtable)).GetFileRestoreStatus(@as(*const IVssComponent, @ptrCast(self)), pStatus);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssComponent_AddDifferencedFilesByLastModifyTime(self: *const T, wszPath: ?[*:0]const u16, wszFilespec: ?[*:0]const u16, bRecursive: BOOL, ftLastModifyTime: FILETIME) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssComponent.VTable, @ptrCast(self.vtable)).AddDifferencedFilesByLastModifyTime(@as(*const IVssComponent, @ptrCast(self)), wszPath, wszFilespec, bRecursive, ftLastModifyTime);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssComponent_AddDifferencedFilesByLastModifyLSN(self: *const T, wszPath: ?[*:0]const u16, wszFilespec: ?[*:0]const u16, bRecursive: BOOL, bstrLsnString: ?BSTR) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssComponent.VTable, @ptrCast(self.vtable)).AddDifferencedFilesByLastModifyLSN(@as(*const IVssComponent, @ptrCast(self)), wszPath, wszFilespec, bRecursive, bstrLsnString);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssComponent_GetDifferencedFilesCount(self: *const T, pcDifferencedFiles: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssComponent.VTable, @ptrCast(self.vtable)).GetDifferencedFilesCount(@as(*const IVssComponent, @ptrCast(self)), pcDifferencedFiles);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssComponent_GetDifferencedFile(self: *const T, iDifferencedFile: u32, pbstrPath: ?*?BSTR, pbstrFilespec: ?*?BSTR, pbRecursive: ?*BOOL, pbstrLsnString: ?*?BSTR, pftLastModifyTime: ?*FILETIME) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssComponent.VTable, @ptrCast(self.vtable)).GetDifferencedFile(@as(*const IVssComponent, @ptrCast(self)), iDifferencedFile, pbstrPath, pbstrFilespec, pbRecursive, pbstrLsnString, pftLastModifyTime);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
pub const IVssWriterComponents = extern struct {
|
|
pub const VTable = extern struct {
|
|
GetComponentCount: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssWriterComponents,
|
|
pcComponents: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssWriterComponents,
|
|
pcComponents: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetWriterInfo: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssWriterComponents,
|
|
pidInstance: ?*Guid,
|
|
pidWriter: ?*Guid,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssWriterComponents,
|
|
pidInstance: ?*Guid,
|
|
pidWriter: ?*Guid,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetComponent: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssWriterComponents,
|
|
iComponent: u32,
|
|
ppComponent: ?*?*IVssComponent,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssWriterComponents,
|
|
iComponent: u32,
|
|
ppComponent: ?*?*IVssComponent,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssWriterComponents_GetComponentCount(self: *const T, pcComponents: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssWriterComponents.VTable, @ptrCast(self.vtable)).GetComponentCount(@as(*const IVssWriterComponents, @ptrCast(self)), pcComponents);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssWriterComponents_GetWriterInfo(self: *const T, pidInstance: ?*Guid, pidWriter: ?*Guid) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssWriterComponents.VTable, @ptrCast(self.vtable)).GetWriterInfo(@as(*const IVssWriterComponents, @ptrCast(self)), pidInstance, pidWriter);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssWriterComponents_GetComponent(self: *const T, iComponent: u32, ppComponent: ?*?*IVssComponent) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssWriterComponents.VTable, @ptrCast(self.vtable)).GetComponent(@as(*const IVssWriterComponents, @ptrCast(self)), iComponent, ppComponent);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IVssComponentEx_Value = Guid.initString("156c8b5e-f131-4bd7-9c97-d1923be7e1fa");
|
|
pub const IID_IVssComponentEx = &IID_IVssComponentEx_Value;
|
|
pub const IVssComponentEx = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IVssComponent.VTable,
|
|
SetPrepareForBackupFailureMsg: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssComponentEx,
|
|
wszFailureMsg: ?[*:0]const u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssComponentEx,
|
|
wszFailureMsg: ?[*:0]const u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetPostSnapshotFailureMsg: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssComponentEx,
|
|
wszFailureMsg: ?[*:0]const u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssComponentEx,
|
|
wszFailureMsg: ?[*:0]const u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetPrepareForBackupFailureMsg: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssComponentEx,
|
|
pbstrFailureMsg: ?*?BSTR,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssComponentEx,
|
|
pbstrFailureMsg: ?*?BSTR,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetPostSnapshotFailureMsg: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssComponentEx,
|
|
pbstrFailureMsg: ?*?BSTR,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssComponentEx,
|
|
pbstrFailureMsg: ?*?BSTR,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetAuthoritativeRestore: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssComponentEx,
|
|
pbAuth: ?*bool,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssComponentEx,
|
|
pbAuth: ?*bool,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetRollForward: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssComponentEx,
|
|
pRollType: ?*VSS_ROLLFORWARD_TYPE,
|
|
pbstrPoint: ?*?BSTR,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssComponentEx,
|
|
pRollType: ?*VSS_ROLLFORWARD_TYPE,
|
|
pbstrPoint: ?*?BSTR,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetRestoreName: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssComponentEx,
|
|
pbstrName: ?*?BSTR,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssComponentEx,
|
|
pbstrName: ?*?BSTR,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IVssComponent.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssComponentEx_SetPrepareForBackupFailureMsg(self: *const T, wszFailureMsg: ?[*:0]const u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssComponentEx.VTable, @ptrCast(self.vtable)).SetPrepareForBackupFailureMsg(@as(*const IVssComponentEx, @ptrCast(self)), wszFailureMsg);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssComponentEx_SetPostSnapshotFailureMsg(self: *const T, wszFailureMsg: ?[*:0]const u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssComponentEx.VTable, @ptrCast(self.vtable)).SetPostSnapshotFailureMsg(@as(*const IVssComponentEx, @ptrCast(self)), wszFailureMsg);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssComponentEx_GetPrepareForBackupFailureMsg(self: *const T, pbstrFailureMsg: ?*?BSTR) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssComponentEx.VTable, @ptrCast(self.vtable)).GetPrepareForBackupFailureMsg(@as(*const IVssComponentEx, @ptrCast(self)), pbstrFailureMsg);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssComponentEx_GetPostSnapshotFailureMsg(self: *const T, pbstrFailureMsg: ?*?BSTR) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssComponentEx.VTable, @ptrCast(self.vtable)).GetPostSnapshotFailureMsg(@as(*const IVssComponentEx, @ptrCast(self)), pbstrFailureMsg);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssComponentEx_GetAuthoritativeRestore(self: *const T, pbAuth: ?*bool) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssComponentEx.VTable, @ptrCast(self.vtable)).GetAuthoritativeRestore(@as(*const IVssComponentEx, @ptrCast(self)), pbAuth);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssComponentEx_GetRollForward(self: *const T, pRollType: ?*VSS_ROLLFORWARD_TYPE, pbstrPoint: ?*?BSTR) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssComponentEx.VTable, @ptrCast(self.vtable)).GetRollForward(@as(*const IVssComponentEx, @ptrCast(self)), pRollType, pbstrPoint);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssComponentEx_GetRestoreName(self: *const T, pbstrName: ?*?BSTR) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssComponentEx.VTable, @ptrCast(self.vtable)).GetRestoreName(@as(*const IVssComponentEx, @ptrCast(self)), pbstrName);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IVssComponentEx2_Value = Guid.initString("3b5be0f2-07a9-4e4b-bdd3-cfdc8e2c0d2d");
|
|
pub const IID_IVssComponentEx2 = &IID_IVssComponentEx2_Value;
|
|
pub const IVssComponentEx2 = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IVssComponentEx.VTable,
|
|
SetFailure: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssComponentEx2,
|
|
hr: HRESULT,
|
|
hrApplication: HRESULT,
|
|
wszApplicationMessage: ?[*:0]const u16,
|
|
dwReserved: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssComponentEx2,
|
|
hr: HRESULT,
|
|
hrApplication: HRESULT,
|
|
wszApplicationMessage: ?[*:0]const u16,
|
|
dwReserved: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetFailure: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssComponentEx2,
|
|
phr: ?*HRESULT,
|
|
phrApplication: ?*HRESULT,
|
|
pbstrApplicationMessage: ?*?BSTR,
|
|
pdwReserved: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssComponentEx2,
|
|
phr: ?*HRESULT,
|
|
phrApplication: ?*HRESULT,
|
|
pbstrApplicationMessage: ?*?BSTR,
|
|
pdwReserved: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IVssComponentEx.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssComponentEx2_SetFailure(self: *const T, hr: HRESULT, hrApplication: HRESULT, wszApplicationMessage: ?[*:0]const u16, dwReserved: u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssComponentEx2.VTable, @ptrCast(self.vtable)).SetFailure(@as(*const IVssComponentEx2, @ptrCast(self)), hr, hrApplication, wszApplicationMessage, dwReserved);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssComponentEx2_GetFailure(self: *const T, phr: ?*HRESULT, phrApplication: ?*HRESULT, pbstrApplicationMessage: ?*?BSTR, pdwReserved: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssComponentEx2.VTable, @ptrCast(self.vtable)).GetFailure(@as(*const IVssComponentEx2, @ptrCast(self)), phr, phrApplication, pbstrApplicationMessage, pdwReserved);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
pub const IVssCreateWriterMetadata = extern struct {
|
|
pub const VTable = extern struct {
|
|
AddIncludeFiles: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssCreateWriterMetadata,
|
|
wszPath: ?[*:0]const u16,
|
|
wszFilespec: ?[*:0]const u16,
|
|
bRecursive: u8,
|
|
wszAlternateLocation: ?[*:0]const u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssCreateWriterMetadata,
|
|
wszPath: ?[*:0]const u16,
|
|
wszFilespec: ?[*:0]const u16,
|
|
bRecursive: u8,
|
|
wszAlternateLocation: ?[*:0]const u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
AddExcludeFiles: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssCreateWriterMetadata,
|
|
wszPath: ?[*:0]const u16,
|
|
wszFilespec: ?[*:0]const u16,
|
|
bRecursive: u8,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssCreateWriterMetadata,
|
|
wszPath: ?[*:0]const u16,
|
|
wszFilespec: ?[*:0]const u16,
|
|
bRecursive: u8,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
AddComponent: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssCreateWriterMetadata,
|
|
ct: VSS_COMPONENT_TYPE,
|
|
wszLogicalPath: ?[*:0]const u16,
|
|
wszComponentName: ?[*:0]const u16,
|
|
wszCaption: ?[*:0]const u16,
|
|
pbIcon: ?*const u8,
|
|
cbIcon: u32,
|
|
bRestoreMetadata: u8,
|
|
bNotifyOnBackupComplete: u8,
|
|
bSelectable: u8,
|
|
bSelectableForRestore: u8,
|
|
dwComponentFlags: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssCreateWriterMetadata,
|
|
ct: VSS_COMPONENT_TYPE,
|
|
wszLogicalPath: ?[*:0]const u16,
|
|
wszComponentName: ?[*:0]const u16,
|
|
wszCaption: ?[*:0]const u16,
|
|
pbIcon: ?*const u8,
|
|
cbIcon: u32,
|
|
bRestoreMetadata: u8,
|
|
bNotifyOnBackupComplete: u8,
|
|
bSelectable: u8,
|
|
bSelectableForRestore: u8,
|
|
dwComponentFlags: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
AddDatabaseFiles: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssCreateWriterMetadata,
|
|
wszLogicalPath: ?[*:0]const u16,
|
|
wszDatabaseName: ?[*:0]const u16,
|
|
wszPath: ?[*:0]const u16,
|
|
wszFilespec: ?[*:0]const u16,
|
|
dwBackupTypeMask: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssCreateWriterMetadata,
|
|
wszLogicalPath: ?[*:0]const u16,
|
|
wszDatabaseName: ?[*:0]const u16,
|
|
wszPath: ?[*:0]const u16,
|
|
wszFilespec: ?[*:0]const u16,
|
|
dwBackupTypeMask: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
AddDatabaseLogFiles: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssCreateWriterMetadata,
|
|
wszLogicalPath: ?[*:0]const u16,
|
|
wszDatabaseName: ?[*:0]const u16,
|
|
wszPath: ?[*:0]const u16,
|
|
wszFilespec: ?[*:0]const u16,
|
|
dwBackupTypeMask: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssCreateWriterMetadata,
|
|
wszLogicalPath: ?[*:0]const u16,
|
|
wszDatabaseName: ?[*:0]const u16,
|
|
wszPath: ?[*:0]const u16,
|
|
wszFilespec: ?[*:0]const u16,
|
|
dwBackupTypeMask: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
AddFilesToFileGroup: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssCreateWriterMetadata,
|
|
wszLogicalPath: ?[*:0]const u16,
|
|
wszGroupName: ?[*:0]const u16,
|
|
wszPath: ?[*:0]const u16,
|
|
wszFilespec: ?[*:0]const u16,
|
|
bRecursive: u8,
|
|
wszAlternateLocation: ?[*:0]const u16,
|
|
dwBackupTypeMask: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssCreateWriterMetadata,
|
|
wszLogicalPath: ?[*:0]const u16,
|
|
wszGroupName: ?[*:0]const u16,
|
|
wszPath: ?[*:0]const u16,
|
|
wszFilespec: ?[*:0]const u16,
|
|
bRecursive: u8,
|
|
wszAlternateLocation: ?[*:0]const u16,
|
|
dwBackupTypeMask: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetRestoreMethod: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssCreateWriterMetadata,
|
|
method: VSS_RESTOREMETHOD_ENUM,
|
|
wszService: ?[*:0]const u16,
|
|
wszUserProcedure: ?[*:0]const u16,
|
|
writerRestore: VSS_WRITERRESTORE_ENUM,
|
|
bRebootRequired: u8,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssCreateWriterMetadata,
|
|
method: VSS_RESTOREMETHOD_ENUM,
|
|
wszService: ?[*:0]const u16,
|
|
wszUserProcedure: ?[*:0]const u16,
|
|
writerRestore: VSS_WRITERRESTORE_ENUM,
|
|
bRebootRequired: u8,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
AddAlternateLocationMapping: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssCreateWriterMetadata,
|
|
wszSourcePath: ?[*:0]const u16,
|
|
wszSourceFilespec: ?[*:0]const u16,
|
|
bRecursive: u8,
|
|
wszDestination: ?[*:0]const u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssCreateWriterMetadata,
|
|
wszSourcePath: ?[*:0]const u16,
|
|
wszSourceFilespec: ?[*:0]const u16,
|
|
bRecursive: u8,
|
|
wszDestination: ?[*:0]const u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
AddComponentDependency: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssCreateWriterMetadata,
|
|
wszForLogicalPath: ?[*:0]const u16,
|
|
wszForComponentName: ?[*:0]const u16,
|
|
onWriterId: Guid,
|
|
wszOnLogicalPath: ?[*:0]const u16,
|
|
wszOnComponentName: ?[*:0]const u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssCreateWriterMetadata,
|
|
wszForLogicalPath: ?[*:0]const u16,
|
|
wszForComponentName: ?[*:0]const u16,
|
|
onWriterId: Guid,
|
|
wszOnLogicalPath: ?[*:0]const u16,
|
|
wszOnComponentName: ?[*:0]const u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetBackupSchema: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssCreateWriterMetadata,
|
|
dwSchemaMask: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssCreateWriterMetadata,
|
|
dwSchemaMask: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetDocument: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssCreateWriterMetadata,
|
|
pDoc: ?*?*IXMLDOMDocument,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssCreateWriterMetadata,
|
|
pDoc: ?*?*IXMLDOMDocument,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SaveAsXML: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssCreateWriterMetadata,
|
|
pbstrXML: ?*?BSTR,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssCreateWriterMetadata,
|
|
pbstrXML: ?*?BSTR,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssCreateWriterMetadata_AddIncludeFiles(self: *const T, wszPath: ?[*:0]const u16, wszFilespec: ?[*:0]const u16, bRecursive: u8, wszAlternateLocation: ?[*:0]const u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssCreateWriterMetadata.VTable, @ptrCast(self.vtable)).AddIncludeFiles(@as(*const IVssCreateWriterMetadata, @ptrCast(self)), wszPath, wszFilespec, bRecursive, wszAlternateLocation);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssCreateWriterMetadata_AddExcludeFiles(self: *const T, wszPath: ?[*:0]const u16, wszFilespec: ?[*:0]const u16, bRecursive: u8) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssCreateWriterMetadata.VTable, @ptrCast(self.vtable)).AddExcludeFiles(@as(*const IVssCreateWriterMetadata, @ptrCast(self)), wszPath, wszFilespec, bRecursive);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssCreateWriterMetadata_AddComponent(self: *const T, ct: VSS_COMPONENT_TYPE, wszLogicalPath: ?[*:0]const u16, wszComponentName: ?[*:0]const u16, wszCaption: ?[*:0]const u16, pbIcon: ?*const u8, cbIcon: u32, bRestoreMetadata: u8, bNotifyOnBackupComplete: u8, bSelectable: u8, bSelectableForRestore: u8, dwComponentFlags: u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssCreateWriterMetadata.VTable, @ptrCast(self.vtable)).AddComponent(@as(*const IVssCreateWriterMetadata, @ptrCast(self)), ct, wszLogicalPath, wszComponentName, wszCaption, pbIcon, cbIcon, bRestoreMetadata, bNotifyOnBackupComplete, bSelectable, bSelectableForRestore, dwComponentFlags);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssCreateWriterMetadata_AddDatabaseFiles(self: *const T, wszLogicalPath: ?[*:0]const u16, wszDatabaseName: ?[*:0]const u16, wszPath: ?[*:0]const u16, wszFilespec: ?[*:0]const u16, dwBackupTypeMask: u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssCreateWriterMetadata.VTable, @ptrCast(self.vtable)).AddDatabaseFiles(@as(*const IVssCreateWriterMetadata, @ptrCast(self)), wszLogicalPath, wszDatabaseName, wszPath, wszFilespec, dwBackupTypeMask);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssCreateWriterMetadata_AddDatabaseLogFiles(self: *const T, wszLogicalPath: ?[*:0]const u16, wszDatabaseName: ?[*:0]const u16, wszPath: ?[*:0]const u16, wszFilespec: ?[*:0]const u16, dwBackupTypeMask: u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssCreateWriterMetadata.VTable, @ptrCast(self.vtable)).AddDatabaseLogFiles(@as(*const IVssCreateWriterMetadata, @ptrCast(self)), wszLogicalPath, wszDatabaseName, wszPath, wszFilespec, dwBackupTypeMask);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssCreateWriterMetadata_AddFilesToFileGroup(self: *const T, wszLogicalPath: ?[*:0]const u16, wszGroupName: ?[*:0]const u16, wszPath: ?[*:0]const u16, wszFilespec: ?[*:0]const u16, bRecursive: u8, wszAlternateLocation: ?[*:0]const u16, dwBackupTypeMask: u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssCreateWriterMetadata.VTable, @ptrCast(self.vtable)).AddFilesToFileGroup(@as(*const IVssCreateWriterMetadata, @ptrCast(self)), wszLogicalPath, wszGroupName, wszPath, wszFilespec, bRecursive, wszAlternateLocation, dwBackupTypeMask);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssCreateWriterMetadata_SetRestoreMethod(self: *const T, method: VSS_RESTOREMETHOD_ENUM, wszService: ?[*:0]const u16, wszUserProcedure: ?[*:0]const u16, writerRestore: VSS_WRITERRESTORE_ENUM, bRebootRequired: u8) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssCreateWriterMetadata.VTable, @ptrCast(self.vtable)).SetRestoreMethod(@as(*const IVssCreateWriterMetadata, @ptrCast(self)), method, wszService, wszUserProcedure, writerRestore, bRebootRequired);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssCreateWriterMetadata_AddAlternateLocationMapping(self: *const T, wszSourcePath: ?[*:0]const u16, wszSourceFilespec: ?[*:0]const u16, bRecursive: u8, wszDestination: ?[*:0]const u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssCreateWriterMetadata.VTable, @ptrCast(self.vtable)).AddAlternateLocationMapping(@as(*const IVssCreateWriterMetadata, @ptrCast(self)), wszSourcePath, wszSourceFilespec, bRecursive, wszDestination);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssCreateWriterMetadata_AddComponentDependency(self: *const T, wszForLogicalPath: ?[*:0]const u16, wszForComponentName: ?[*:0]const u16, onWriterId: Guid, wszOnLogicalPath: ?[*:0]const u16, wszOnComponentName: ?[*:0]const u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssCreateWriterMetadata.VTable, @ptrCast(self.vtable)).AddComponentDependency(@as(*const IVssCreateWriterMetadata, @ptrCast(self)), wszForLogicalPath, wszForComponentName, onWriterId, wszOnLogicalPath, wszOnComponentName);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssCreateWriterMetadata_SetBackupSchema(self: *const T, dwSchemaMask: u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssCreateWriterMetadata.VTable, @ptrCast(self.vtable)).SetBackupSchema(@as(*const IVssCreateWriterMetadata, @ptrCast(self)), dwSchemaMask);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssCreateWriterMetadata_GetDocument(self: *const T, pDoc: ?*?*IXMLDOMDocument) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssCreateWriterMetadata.VTable, @ptrCast(self.vtable)).GetDocument(@as(*const IVssCreateWriterMetadata, @ptrCast(self)), pDoc);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssCreateWriterMetadata_SaveAsXML(self: *const T, pbstrXML: ?*?BSTR) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssCreateWriterMetadata.VTable, @ptrCast(self.vtable)).SaveAsXML(@as(*const IVssCreateWriterMetadata, @ptrCast(self)), pbstrXML);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
pub const IVssWriterImpl = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
Initialize: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssWriterImpl,
|
|
writerId: Guid,
|
|
wszWriterName: ?[*:0]const u16,
|
|
wszWriterInstanceName: ?[*:0]const u16,
|
|
dwMajorVersion: u32,
|
|
dwMinorVersion: u32,
|
|
ut: VSS_USAGE_TYPE,
|
|
st: VSS_SOURCE_TYPE,
|
|
nLevel: VSS_APPLICATION_LEVEL,
|
|
dwTimeout: u32,
|
|
aws: VSS_ALTERNATE_WRITER_STATE,
|
|
bIOThrottlingOnly: u8,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssWriterImpl,
|
|
writerId: Guid,
|
|
wszWriterName: ?[*:0]const u16,
|
|
wszWriterInstanceName: ?[*:0]const u16,
|
|
dwMajorVersion: u32,
|
|
dwMinorVersion: u32,
|
|
ut: VSS_USAGE_TYPE,
|
|
st: VSS_SOURCE_TYPE,
|
|
nLevel: VSS_APPLICATION_LEVEL,
|
|
dwTimeout: u32,
|
|
aws: VSS_ALTERNATE_WRITER_STATE,
|
|
bIOThrottlingOnly: u8,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
Subscribe: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssWriterImpl,
|
|
dwSubscribeTimeout: u32,
|
|
dwEventFlags: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssWriterImpl,
|
|
dwSubscribeTimeout: u32,
|
|
dwEventFlags: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
Unsubscribe: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssWriterImpl,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssWriterImpl,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
Uninitialize: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssWriterImpl,
|
|
) callconv(@import("std").os.windows.WINAPI) void,
|
|
else => *const fn(
|
|
self: *const IVssWriterImpl,
|
|
) callconv(@import("std").os.windows.WINAPI) void,
|
|
},
|
|
GetCurrentVolumeArray: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssWriterImpl,
|
|
) callconv(@import("std").os.windows.WINAPI) ?*?PWSTR,
|
|
else => *const fn(
|
|
self: *const IVssWriterImpl,
|
|
) callconv(@import("std").os.windows.WINAPI) ?*?PWSTR,
|
|
},
|
|
GetCurrentVolumeCount: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssWriterImpl,
|
|
) callconv(@import("std").os.windows.WINAPI) u32,
|
|
else => *const fn(
|
|
self: *const IVssWriterImpl,
|
|
) callconv(@import("std").os.windows.WINAPI) u32,
|
|
},
|
|
GetSnapshotDeviceName: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssWriterImpl,
|
|
wszOriginalVolume: ?[*:0]const u16,
|
|
ppwszSnapshotDevice: ?*?PWSTR,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssWriterImpl,
|
|
wszOriginalVolume: ?[*:0]const u16,
|
|
ppwszSnapshotDevice: ?*?PWSTR,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetCurrentSnapshotSetId: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssWriterImpl,
|
|
) callconv(@import("std").os.windows.WINAPI) Guid,
|
|
else => *const fn(
|
|
self: *const IVssWriterImpl,
|
|
) callconv(@import("std").os.windows.WINAPI) Guid,
|
|
},
|
|
GetContext: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssWriterImpl,
|
|
) callconv(@import("std").os.windows.WINAPI) i32,
|
|
else => *const fn(
|
|
self: *const IVssWriterImpl,
|
|
) callconv(@import("std").os.windows.WINAPI) i32,
|
|
},
|
|
GetCurrentLevel: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssWriterImpl,
|
|
) callconv(@import("std").os.windows.WINAPI) VSS_APPLICATION_LEVEL,
|
|
else => *const fn(
|
|
self: *const IVssWriterImpl,
|
|
) callconv(@import("std").os.windows.WINAPI) VSS_APPLICATION_LEVEL,
|
|
},
|
|
IsPathAffected: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssWriterImpl,
|
|
wszPath: ?[*:0]const u16,
|
|
) callconv(@import("std").os.windows.WINAPI) bool,
|
|
else => *const fn(
|
|
self: *const IVssWriterImpl,
|
|
wszPath: ?[*:0]const u16,
|
|
) callconv(@import("std").os.windows.WINAPI) bool,
|
|
},
|
|
IsBootableSystemStateBackedUp: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssWriterImpl,
|
|
) callconv(@import("std").os.windows.WINAPI) bool,
|
|
else => *const fn(
|
|
self: *const IVssWriterImpl,
|
|
) callconv(@import("std").os.windows.WINAPI) bool,
|
|
},
|
|
AreComponentsSelected: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssWriterImpl,
|
|
) callconv(@import("std").os.windows.WINAPI) bool,
|
|
else => *const fn(
|
|
self: *const IVssWriterImpl,
|
|
) callconv(@import("std").os.windows.WINAPI) bool,
|
|
},
|
|
GetBackupType: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssWriterImpl,
|
|
) callconv(@import("std").os.windows.WINAPI) VSS_BACKUP_TYPE,
|
|
else => *const fn(
|
|
self: *const IVssWriterImpl,
|
|
) callconv(@import("std").os.windows.WINAPI) VSS_BACKUP_TYPE,
|
|
},
|
|
GetRestoreType: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssWriterImpl,
|
|
) callconv(@import("std").os.windows.WINAPI) VSS_RESTORE_TYPE,
|
|
else => *const fn(
|
|
self: *const IVssWriterImpl,
|
|
) callconv(@import("std").os.windows.WINAPI) VSS_RESTORE_TYPE,
|
|
},
|
|
SetWriterFailure: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssWriterImpl,
|
|
hr: HRESULT,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssWriterImpl,
|
|
hr: HRESULT,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
IsPartialFileSupportEnabled: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssWriterImpl,
|
|
) callconv(@import("std").os.windows.WINAPI) bool,
|
|
else => *const fn(
|
|
self: *const IVssWriterImpl,
|
|
) callconv(@import("std").os.windows.WINAPI) bool,
|
|
},
|
|
InstallAlternateWriter: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssWriterImpl,
|
|
idWriter: Guid,
|
|
clsid: Guid,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssWriterImpl,
|
|
idWriter: Guid,
|
|
clsid: Guid,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetIdentityInformation: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssWriterImpl,
|
|
) callconv(@import("std").os.windows.WINAPI) ?*IVssExamineWriterMetadata,
|
|
else => *const fn(
|
|
self: *const IVssWriterImpl,
|
|
) callconv(@import("std").os.windows.WINAPI) ?*IVssExamineWriterMetadata,
|
|
},
|
|
SetWriterFailureEx: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssWriterImpl,
|
|
hr: HRESULT,
|
|
hrApplication: HRESULT,
|
|
wszApplicationMessage: ?[*:0]const u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssWriterImpl,
|
|
hr: HRESULT,
|
|
hrApplication: HRESULT,
|
|
wszApplicationMessage: ?[*:0]const u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetSessionId: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssWriterImpl,
|
|
idSession: ?*Guid,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssWriterImpl,
|
|
idSession: ?*Guid,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
IsWriterShuttingDown: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssWriterImpl,
|
|
) callconv(@import("std").os.windows.WINAPI) bool,
|
|
else => *const fn(
|
|
self: *const IVssWriterImpl,
|
|
) callconv(@import("std").os.windows.WINAPI) bool,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssWriterImpl_Initialize(self: *const T, writerId: Guid, wszWriterName: ?[*:0]const u16, wszWriterInstanceName: ?[*:0]const u16, dwMajorVersion: u32, dwMinorVersion: u32, ut: VSS_USAGE_TYPE, st: VSS_SOURCE_TYPE, nLevel: VSS_APPLICATION_LEVEL, dwTimeout: u32, aws: VSS_ALTERNATE_WRITER_STATE, bIOThrottlingOnly: u8) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssWriterImpl.VTable, @ptrCast(self.vtable)).Initialize(@as(*const IVssWriterImpl, @ptrCast(self)), writerId, wszWriterName, wszWriterInstanceName, dwMajorVersion, dwMinorVersion, ut, st, nLevel, dwTimeout, aws, bIOThrottlingOnly);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssWriterImpl_Subscribe(self: *const T, dwSubscribeTimeout: u32, dwEventFlags: u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssWriterImpl.VTable, @ptrCast(self.vtable)).Subscribe(@as(*const IVssWriterImpl, @ptrCast(self)), dwSubscribeTimeout, dwEventFlags);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssWriterImpl_Unsubscribe(self: *const T) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssWriterImpl.VTable, @ptrCast(self.vtable)).Unsubscribe(@as(*const IVssWriterImpl, @ptrCast(self)));
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssWriterImpl_Uninitialize(self: *const T) callconv(.Inline) void {
|
|
return @as(*const IVssWriterImpl.VTable, @ptrCast(self.vtable)).Uninitialize(@as(*const IVssWriterImpl, @ptrCast(self)));
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssWriterImpl_GetCurrentVolumeArray(self: *const T) callconv(.Inline) ?*?PWSTR {
|
|
return @as(*const IVssWriterImpl.VTable, @ptrCast(self.vtable)).GetCurrentVolumeArray(@as(*const IVssWriterImpl, @ptrCast(self)));
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssWriterImpl_GetCurrentVolumeCount(self: *const T) callconv(.Inline) u32 {
|
|
return @as(*const IVssWriterImpl.VTable, @ptrCast(self.vtable)).GetCurrentVolumeCount(@as(*const IVssWriterImpl, @ptrCast(self)));
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssWriterImpl_GetSnapshotDeviceName(self: *const T, wszOriginalVolume: ?[*:0]const u16, ppwszSnapshotDevice: ?*?PWSTR) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssWriterImpl.VTable, @ptrCast(self.vtable)).GetSnapshotDeviceName(@as(*const IVssWriterImpl, @ptrCast(self)), wszOriginalVolume, ppwszSnapshotDevice);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssWriterImpl_GetCurrentSnapshotSetId(self: *const T) callconv(.Inline) Guid {
|
|
return @as(*const IVssWriterImpl.VTable, @ptrCast(self.vtable)).GetCurrentSnapshotSetId(@as(*const IVssWriterImpl, @ptrCast(self)));
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssWriterImpl_GetContext(self: *const T) callconv(.Inline) i32 {
|
|
return @as(*const IVssWriterImpl.VTable, @ptrCast(self.vtable)).GetContext(@as(*const IVssWriterImpl, @ptrCast(self)));
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssWriterImpl_GetCurrentLevel(self: *const T) callconv(.Inline) VSS_APPLICATION_LEVEL {
|
|
return @as(*const IVssWriterImpl.VTable, @ptrCast(self.vtable)).GetCurrentLevel(@as(*const IVssWriterImpl, @ptrCast(self)));
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssWriterImpl_IsPathAffected(self: *const T, wszPath: ?[*:0]const u16) callconv(.Inline) bool {
|
|
return @as(*const IVssWriterImpl.VTable, @ptrCast(self.vtable)).IsPathAffected(@as(*const IVssWriterImpl, @ptrCast(self)), wszPath);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssWriterImpl_IsBootableSystemStateBackedUp(self: *const T) callconv(.Inline) bool {
|
|
return @as(*const IVssWriterImpl.VTable, @ptrCast(self.vtable)).IsBootableSystemStateBackedUp(@as(*const IVssWriterImpl, @ptrCast(self)));
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssWriterImpl_AreComponentsSelected(self: *const T) callconv(.Inline) bool {
|
|
return @as(*const IVssWriterImpl.VTable, @ptrCast(self.vtable)).AreComponentsSelected(@as(*const IVssWriterImpl, @ptrCast(self)));
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssWriterImpl_GetBackupType(self: *const T) callconv(.Inline) VSS_BACKUP_TYPE {
|
|
return @as(*const IVssWriterImpl.VTable, @ptrCast(self.vtable)).GetBackupType(@as(*const IVssWriterImpl, @ptrCast(self)));
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssWriterImpl_GetRestoreType(self: *const T) callconv(.Inline) VSS_RESTORE_TYPE {
|
|
return @as(*const IVssWriterImpl.VTable, @ptrCast(self.vtable)).GetRestoreType(@as(*const IVssWriterImpl, @ptrCast(self)));
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssWriterImpl_SetWriterFailure(self: *const T, hr: HRESULT) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssWriterImpl.VTable, @ptrCast(self.vtable)).SetWriterFailure(@as(*const IVssWriterImpl, @ptrCast(self)), hr);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssWriterImpl_IsPartialFileSupportEnabled(self: *const T) callconv(.Inline) bool {
|
|
return @as(*const IVssWriterImpl.VTable, @ptrCast(self.vtable)).IsPartialFileSupportEnabled(@as(*const IVssWriterImpl, @ptrCast(self)));
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssWriterImpl_InstallAlternateWriter(self: *const T, idWriter: Guid, clsid: Guid) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssWriterImpl.VTable, @ptrCast(self.vtable)).InstallAlternateWriter(@as(*const IVssWriterImpl, @ptrCast(self)), idWriter, clsid);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssWriterImpl_GetIdentityInformation(self: *const T) callconv(.Inline) ?*IVssExamineWriterMetadata {
|
|
return @as(*const IVssWriterImpl.VTable, @ptrCast(self.vtable)).GetIdentityInformation(@as(*const IVssWriterImpl, @ptrCast(self)));
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssWriterImpl_SetWriterFailureEx(self: *const T, hr: HRESULT, hrApplication: HRESULT, wszApplicationMessage: ?[*:0]const u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssWriterImpl.VTable, @ptrCast(self.vtable)).SetWriterFailureEx(@as(*const IVssWriterImpl, @ptrCast(self)), hr, hrApplication, wszApplicationMessage);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssWriterImpl_GetSessionId(self: *const T, idSession: ?*Guid) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssWriterImpl.VTable, @ptrCast(self.vtable)).GetSessionId(@as(*const IVssWriterImpl, @ptrCast(self)), idSession);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssWriterImpl_IsWriterShuttingDown(self: *const T) callconv(.Inline) bool {
|
|
return @as(*const IVssWriterImpl.VTable, @ptrCast(self.vtable)).IsWriterShuttingDown(@as(*const IVssWriterImpl, @ptrCast(self)));
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IVssCreateExpressWriterMetadata_Value = Guid.initString("9c772e77-b26e-427f-92dd-c996f41ea5e3");
|
|
pub const IID_IVssCreateExpressWriterMetadata = &IID_IVssCreateExpressWriterMetadata_Value;
|
|
pub const IVssCreateExpressWriterMetadata = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
AddExcludeFiles: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssCreateExpressWriterMetadata,
|
|
wszPath: ?[*:0]const u16,
|
|
wszFilespec: ?[*:0]const u16,
|
|
bRecursive: u8,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssCreateExpressWriterMetadata,
|
|
wszPath: ?[*:0]const u16,
|
|
wszFilespec: ?[*:0]const u16,
|
|
bRecursive: u8,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
AddComponent: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssCreateExpressWriterMetadata,
|
|
ct: VSS_COMPONENT_TYPE,
|
|
wszLogicalPath: ?[*:0]const u16,
|
|
wszComponentName: ?[*:0]const u16,
|
|
wszCaption: ?[*:0]const u16,
|
|
pbIcon: ?*const u8,
|
|
cbIcon: u32,
|
|
bRestoreMetadata: u8,
|
|
bNotifyOnBackupComplete: u8,
|
|
bSelectable: u8,
|
|
bSelectableForRestore: u8,
|
|
dwComponentFlags: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssCreateExpressWriterMetadata,
|
|
ct: VSS_COMPONENT_TYPE,
|
|
wszLogicalPath: ?[*:0]const u16,
|
|
wszComponentName: ?[*:0]const u16,
|
|
wszCaption: ?[*:0]const u16,
|
|
pbIcon: ?*const u8,
|
|
cbIcon: u32,
|
|
bRestoreMetadata: u8,
|
|
bNotifyOnBackupComplete: u8,
|
|
bSelectable: u8,
|
|
bSelectableForRestore: u8,
|
|
dwComponentFlags: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
AddFilesToFileGroup: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssCreateExpressWriterMetadata,
|
|
wszLogicalPath: ?[*:0]const u16,
|
|
wszGroupName: ?[*:0]const u16,
|
|
wszPath: ?[*:0]const u16,
|
|
wszFilespec: ?[*:0]const u16,
|
|
bRecursive: u8,
|
|
wszAlternateLocation: ?[*:0]const u16,
|
|
dwBackupTypeMask: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssCreateExpressWriterMetadata,
|
|
wszLogicalPath: ?[*:0]const u16,
|
|
wszGroupName: ?[*:0]const u16,
|
|
wszPath: ?[*:0]const u16,
|
|
wszFilespec: ?[*:0]const u16,
|
|
bRecursive: u8,
|
|
wszAlternateLocation: ?[*:0]const u16,
|
|
dwBackupTypeMask: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetRestoreMethod: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssCreateExpressWriterMetadata,
|
|
method: VSS_RESTOREMETHOD_ENUM,
|
|
wszService: ?[*:0]const u16,
|
|
wszUserProcedure: ?[*:0]const u16,
|
|
writerRestore: VSS_WRITERRESTORE_ENUM,
|
|
bRebootRequired: u8,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssCreateExpressWriterMetadata,
|
|
method: VSS_RESTOREMETHOD_ENUM,
|
|
wszService: ?[*:0]const u16,
|
|
wszUserProcedure: ?[*:0]const u16,
|
|
writerRestore: VSS_WRITERRESTORE_ENUM,
|
|
bRebootRequired: u8,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
AddComponentDependency: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssCreateExpressWriterMetadata,
|
|
wszForLogicalPath: ?[*:0]const u16,
|
|
wszForComponentName: ?[*:0]const u16,
|
|
onWriterId: Guid,
|
|
wszOnLogicalPath: ?[*:0]const u16,
|
|
wszOnComponentName: ?[*:0]const u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssCreateExpressWriterMetadata,
|
|
wszForLogicalPath: ?[*:0]const u16,
|
|
wszForComponentName: ?[*:0]const u16,
|
|
onWriterId: Guid,
|
|
wszOnLogicalPath: ?[*:0]const u16,
|
|
wszOnComponentName: ?[*:0]const u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetBackupSchema: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssCreateExpressWriterMetadata,
|
|
dwSchemaMask: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssCreateExpressWriterMetadata,
|
|
dwSchemaMask: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SaveAsXML: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssCreateExpressWriterMetadata,
|
|
pbstrXML: ?*?BSTR,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssCreateExpressWriterMetadata,
|
|
pbstrXML: ?*?BSTR,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssCreateExpressWriterMetadata_AddExcludeFiles(self: *const T, wszPath: ?[*:0]const u16, wszFilespec: ?[*:0]const u16, bRecursive: u8) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssCreateExpressWriterMetadata.VTable, @ptrCast(self.vtable)).AddExcludeFiles(@as(*const IVssCreateExpressWriterMetadata, @ptrCast(self)), wszPath, wszFilespec, bRecursive);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssCreateExpressWriterMetadata_AddComponent(self: *const T, ct: VSS_COMPONENT_TYPE, wszLogicalPath: ?[*:0]const u16, wszComponentName: ?[*:0]const u16, wszCaption: ?[*:0]const u16, pbIcon: ?*const u8, cbIcon: u32, bRestoreMetadata: u8, bNotifyOnBackupComplete: u8, bSelectable: u8, bSelectableForRestore: u8, dwComponentFlags: u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssCreateExpressWriterMetadata.VTable, @ptrCast(self.vtable)).AddComponent(@as(*const IVssCreateExpressWriterMetadata, @ptrCast(self)), ct, wszLogicalPath, wszComponentName, wszCaption, pbIcon, cbIcon, bRestoreMetadata, bNotifyOnBackupComplete, bSelectable, bSelectableForRestore, dwComponentFlags);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssCreateExpressWriterMetadata_AddFilesToFileGroup(self: *const T, wszLogicalPath: ?[*:0]const u16, wszGroupName: ?[*:0]const u16, wszPath: ?[*:0]const u16, wszFilespec: ?[*:0]const u16, bRecursive: u8, wszAlternateLocation: ?[*:0]const u16, dwBackupTypeMask: u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssCreateExpressWriterMetadata.VTable, @ptrCast(self.vtable)).AddFilesToFileGroup(@as(*const IVssCreateExpressWriterMetadata, @ptrCast(self)), wszLogicalPath, wszGroupName, wszPath, wszFilespec, bRecursive, wszAlternateLocation, dwBackupTypeMask);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssCreateExpressWriterMetadata_SetRestoreMethod(self: *const T, method: VSS_RESTOREMETHOD_ENUM, wszService: ?[*:0]const u16, wszUserProcedure: ?[*:0]const u16, writerRestore: VSS_WRITERRESTORE_ENUM, bRebootRequired: u8) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssCreateExpressWriterMetadata.VTable, @ptrCast(self.vtable)).SetRestoreMethod(@as(*const IVssCreateExpressWriterMetadata, @ptrCast(self)), method, wszService, wszUserProcedure, writerRestore, bRebootRequired);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssCreateExpressWriterMetadata_AddComponentDependency(self: *const T, wszForLogicalPath: ?[*:0]const u16, wszForComponentName: ?[*:0]const u16, onWriterId: Guid, wszOnLogicalPath: ?[*:0]const u16, wszOnComponentName: ?[*:0]const u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssCreateExpressWriterMetadata.VTable, @ptrCast(self.vtable)).AddComponentDependency(@as(*const IVssCreateExpressWriterMetadata, @ptrCast(self)), wszForLogicalPath, wszForComponentName, onWriterId, wszOnLogicalPath, wszOnComponentName);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssCreateExpressWriterMetadata_SetBackupSchema(self: *const T, dwSchemaMask: u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssCreateExpressWriterMetadata.VTable, @ptrCast(self.vtable)).SetBackupSchema(@as(*const IVssCreateExpressWriterMetadata, @ptrCast(self)), dwSchemaMask);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssCreateExpressWriterMetadata_SaveAsXML(self: *const T, pbstrXML: ?*?BSTR) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssCreateExpressWriterMetadata.VTable, @ptrCast(self.vtable)).SaveAsXML(@as(*const IVssCreateExpressWriterMetadata, @ptrCast(self)), pbstrXML);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IVssExpressWriter_Value = Guid.initString("e33affdc-59c7-47b1-97d5-4266598f6235");
|
|
pub const IID_IVssExpressWriter = &IID_IVssExpressWriter_Value;
|
|
pub const IVssExpressWriter = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
CreateMetadata: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssExpressWriter,
|
|
writerId: Guid,
|
|
writerName: ?[*:0]const u16,
|
|
usageType: VSS_USAGE_TYPE,
|
|
versionMajor: u32,
|
|
versionMinor: u32,
|
|
reserved: u32,
|
|
ppMetadata: ?*?*IVssCreateExpressWriterMetadata,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssExpressWriter,
|
|
writerId: Guid,
|
|
writerName: ?[*:0]const u16,
|
|
usageType: VSS_USAGE_TYPE,
|
|
versionMajor: u32,
|
|
versionMinor: u32,
|
|
reserved: u32,
|
|
ppMetadata: ?*?*IVssCreateExpressWriterMetadata,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
LoadMetadata: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssExpressWriter,
|
|
metadata: ?[*:0]const u16,
|
|
reserved: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssExpressWriter,
|
|
metadata: ?[*:0]const u16,
|
|
reserved: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
Register: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssExpressWriter,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssExpressWriter,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
Unregister: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssExpressWriter,
|
|
writerId: Guid,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssExpressWriter,
|
|
writerId: Guid,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssExpressWriter_CreateMetadata(self: *const T, writerId: Guid, writerName: ?[*:0]const u16, usageType: VSS_USAGE_TYPE, versionMajor: u32, versionMinor: u32, reserved: u32, ppMetadata: ?*?*IVssCreateExpressWriterMetadata) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssExpressWriter.VTable, @ptrCast(self.vtable)).CreateMetadata(@as(*const IVssExpressWriter, @ptrCast(self)), writerId, writerName, usageType, versionMajor, versionMinor, reserved, ppMetadata);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssExpressWriter_LoadMetadata(self: *const T, metadata: ?[*:0]const u16, reserved: u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssExpressWriter.VTable, @ptrCast(self.vtable)).LoadMetadata(@as(*const IVssExpressWriter, @ptrCast(self)), metadata, reserved);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssExpressWriter_Register(self: *const T) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssExpressWriter.VTable, @ptrCast(self.vtable)).Register(@as(*const IVssExpressWriter, @ptrCast(self)));
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssExpressWriter_Unregister(self: *const T, writerId: Guid) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssExpressWriter.VTable, @ptrCast(self.vtable)).Unregister(@as(*const IVssExpressWriter, @ptrCast(self)), writerId);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const CLSID_VssSnapshotMgmt_Value = Guid.initString("0b5a2c52-3eb9-470a-96e2-6c6d4570e40f");
|
|
pub const CLSID_VssSnapshotMgmt = &CLSID_VssSnapshotMgmt_Value;
|
|
|
|
pub const VSS_MGMT_OBJECT_TYPE = enum(i32) {
|
|
UNKNOWN = 0,
|
|
VOLUME = 1,
|
|
DIFF_VOLUME = 2,
|
|
DIFF_AREA = 3,
|
|
};
|
|
pub const VSS_MGMT_OBJECT_UNKNOWN = VSS_MGMT_OBJECT_TYPE.UNKNOWN;
|
|
pub const VSS_MGMT_OBJECT_VOLUME = VSS_MGMT_OBJECT_TYPE.VOLUME;
|
|
pub const VSS_MGMT_OBJECT_DIFF_VOLUME = VSS_MGMT_OBJECT_TYPE.DIFF_VOLUME;
|
|
pub const VSS_MGMT_OBJECT_DIFF_AREA = VSS_MGMT_OBJECT_TYPE.DIFF_AREA;
|
|
|
|
pub const VSS_VOLUME_PROP = extern struct {
|
|
m_pwszVolumeName: ?*u16,
|
|
m_pwszVolumeDisplayName: ?*u16,
|
|
};
|
|
|
|
pub const VSS_DIFF_VOLUME_PROP = extern struct {
|
|
m_pwszVolumeName: ?*u16,
|
|
m_pwszVolumeDisplayName: ?*u16,
|
|
m_llVolumeFreeSpace: i64,
|
|
m_llVolumeTotalSpace: i64,
|
|
};
|
|
|
|
pub const VSS_DIFF_AREA_PROP = extern struct {
|
|
m_pwszVolumeName: ?*u16,
|
|
m_pwszDiffAreaVolumeName: ?*u16,
|
|
m_llMaximumDiffSpace: i64,
|
|
m_llAllocatedDiffSpace: i64,
|
|
m_llUsedDiffSpace: i64,
|
|
};
|
|
|
|
pub const VSS_MGMT_OBJECT_UNION = extern union {
|
|
Vol: VSS_VOLUME_PROP,
|
|
DiffVol: VSS_DIFF_VOLUME_PROP,
|
|
DiffArea: VSS_DIFF_AREA_PROP,
|
|
};
|
|
|
|
pub const VSS_MGMT_OBJECT_PROP = extern struct {
|
|
Type: VSS_MGMT_OBJECT_TYPE,
|
|
Obj: VSS_MGMT_OBJECT_UNION,
|
|
};
|
|
|
|
pub const VSS_PROTECTION_LEVEL = enum(i32) {
|
|
ORIGINAL_VOLUME = 0,
|
|
SNAPSHOT = 1,
|
|
};
|
|
pub const VSS_PROTECTION_LEVEL_ORIGINAL_VOLUME = VSS_PROTECTION_LEVEL.ORIGINAL_VOLUME;
|
|
pub const VSS_PROTECTION_LEVEL_SNAPSHOT = VSS_PROTECTION_LEVEL.SNAPSHOT;
|
|
|
|
pub const VSS_PROTECTION_FAULT = enum(i32) {
|
|
NONE = 0,
|
|
DIFF_AREA_MISSING = 1,
|
|
IO_FAILURE_DURING_ONLINE = 2,
|
|
META_DATA_CORRUPTION = 3,
|
|
MEMORY_ALLOCATION_FAILURE = 4,
|
|
MAPPED_MEMORY_FAILURE = 5,
|
|
COW_READ_FAILURE = 6,
|
|
COW_WRITE_FAILURE = 7,
|
|
DIFF_AREA_FULL = 8,
|
|
GROW_TOO_SLOW = 9,
|
|
GROW_FAILED = 10,
|
|
DESTROY_ALL_SNAPSHOTS = 11,
|
|
FILE_SYSTEM_FAILURE = 12,
|
|
IO_FAILURE = 13,
|
|
DIFF_AREA_REMOVED = 14,
|
|
EXTERNAL_WRITER_TO_DIFF_AREA = 15,
|
|
MOUNT_DURING_CLUSTER_OFFLINE = 16,
|
|
};
|
|
pub const VSS_PROTECTION_FAULT_NONE = VSS_PROTECTION_FAULT.NONE;
|
|
pub const VSS_PROTECTION_FAULT_DIFF_AREA_MISSING = VSS_PROTECTION_FAULT.DIFF_AREA_MISSING;
|
|
pub const VSS_PROTECTION_FAULT_IO_FAILURE_DURING_ONLINE = VSS_PROTECTION_FAULT.IO_FAILURE_DURING_ONLINE;
|
|
pub const VSS_PROTECTION_FAULT_META_DATA_CORRUPTION = VSS_PROTECTION_FAULT.META_DATA_CORRUPTION;
|
|
pub const VSS_PROTECTION_FAULT_MEMORY_ALLOCATION_FAILURE = VSS_PROTECTION_FAULT.MEMORY_ALLOCATION_FAILURE;
|
|
pub const VSS_PROTECTION_FAULT_MAPPED_MEMORY_FAILURE = VSS_PROTECTION_FAULT.MAPPED_MEMORY_FAILURE;
|
|
pub const VSS_PROTECTION_FAULT_COW_READ_FAILURE = VSS_PROTECTION_FAULT.COW_READ_FAILURE;
|
|
pub const VSS_PROTECTION_FAULT_COW_WRITE_FAILURE = VSS_PROTECTION_FAULT.COW_WRITE_FAILURE;
|
|
pub const VSS_PROTECTION_FAULT_DIFF_AREA_FULL = VSS_PROTECTION_FAULT.DIFF_AREA_FULL;
|
|
pub const VSS_PROTECTION_FAULT_GROW_TOO_SLOW = VSS_PROTECTION_FAULT.GROW_TOO_SLOW;
|
|
pub const VSS_PROTECTION_FAULT_GROW_FAILED = VSS_PROTECTION_FAULT.GROW_FAILED;
|
|
pub const VSS_PROTECTION_FAULT_DESTROY_ALL_SNAPSHOTS = VSS_PROTECTION_FAULT.DESTROY_ALL_SNAPSHOTS;
|
|
pub const VSS_PROTECTION_FAULT_FILE_SYSTEM_FAILURE = VSS_PROTECTION_FAULT.FILE_SYSTEM_FAILURE;
|
|
pub const VSS_PROTECTION_FAULT_IO_FAILURE = VSS_PROTECTION_FAULT.IO_FAILURE;
|
|
pub const VSS_PROTECTION_FAULT_DIFF_AREA_REMOVED = VSS_PROTECTION_FAULT.DIFF_AREA_REMOVED;
|
|
pub const VSS_PROTECTION_FAULT_EXTERNAL_WRITER_TO_DIFF_AREA = VSS_PROTECTION_FAULT.EXTERNAL_WRITER_TO_DIFF_AREA;
|
|
pub const VSS_PROTECTION_FAULT_MOUNT_DURING_CLUSTER_OFFLINE = VSS_PROTECTION_FAULT.MOUNT_DURING_CLUSTER_OFFLINE;
|
|
|
|
pub const VSS_VOLUME_PROTECTION_INFO = extern struct {
|
|
m_protectionLevel: VSS_PROTECTION_LEVEL,
|
|
m_volumeIsOfflineForProtection: BOOL,
|
|
m_protectionFault: VSS_PROTECTION_FAULT,
|
|
m_failureStatus: i32,
|
|
m_volumeHasUnusedDiffArea: BOOL,
|
|
m_reserved: u32,
|
|
};
|
|
|
|
// TODO: this type is limited to platform 'windows6.0.6000'
|
|
const IID_IVssSnapshotMgmt_Value = Guid.initString("fa7df749-66e7-4986-a27f-e2f04ae53772");
|
|
pub const IID_IVssSnapshotMgmt = &IID_IVssSnapshotMgmt_Value;
|
|
pub const IVssSnapshotMgmt = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
GetProviderMgmtInterface: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssSnapshotMgmt,
|
|
ProviderId: Guid,
|
|
InterfaceId: ?*const Guid,
|
|
ppItf: ?*?*IUnknown,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssSnapshotMgmt,
|
|
ProviderId: Guid,
|
|
InterfaceId: ?*const Guid,
|
|
ppItf: ?*?*IUnknown,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
QueryVolumesSupportedForSnapshots: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssSnapshotMgmt,
|
|
ProviderId: Guid,
|
|
lContext: i32,
|
|
ppEnum: ?*?*IVssEnumMgmtObject,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssSnapshotMgmt,
|
|
ProviderId: Guid,
|
|
lContext: i32,
|
|
ppEnum: ?*?*IVssEnumMgmtObject,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
QuerySnapshotsByVolume: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssSnapshotMgmt,
|
|
pwszVolumeName: ?*u16,
|
|
ProviderId: Guid,
|
|
ppEnum: ?*?*IVssEnumObject,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssSnapshotMgmt,
|
|
pwszVolumeName: ?*u16,
|
|
ProviderId: Guid,
|
|
ppEnum: ?*?*IVssEnumObject,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssSnapshotMgmt_GetProviderMgmtInterface(self: *const T, ProviderId: Guid, InterfaceId: ?*const Guid, ppItf: ?*?*IUnknown) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssSnapshotMgmt.VTable, @ptrCast(self.vtable)).GetProviderMgmtInterface(@as(*const IVssSnapshotMgmt, @ptrCast(self)), ProviderId, InterfaceId, ppItf);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssSnapshotMgmt_QueryVolumesSupportedForSnapshots(self: *const T, ProviderId: Guid, lContext: i32, ppEnum: ?*?*IVssEnumMgmtObject) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssSnapshotMgmt.VTable, @ptrCast(self.vtable)).QueryVolumesSupportedForSnapshots(@as(*const IVssSnapshotMgmt, @ptrCast(self)), ProviderId, lContext, ppEnum);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssSnapshotMgmt_QuerySnapshotsByVolume(self: *const T, pwszVolumeName: ?*u16, ProviderId: Guid, ppEnum: ?*?*IVssEnumObject) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssSnapshotMgmt.VTable, @ptrCast(self.vtable)).QuerySnapshotsByVolume(@as(*const IVssSnapshotMgmt, @ptrCast(self)), pwszVolumeName, ProviderId, ppEnum);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
// TODO: this type is limited to platform 'windows6.0.6000'
|
|
const IID_IVssSnapshotMgmt2_Value = Guid.initString("0f61ec39-fe82-45f2-a3f0-768b5d427102");
|
|
pub const IID_IVssSnapshotMgmt2 = &IID_IVssSnapshotMgmt2_Value;
|
|
pub const IVssSnapshotMgmt2 = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
GetMinDiffAreaSize: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssSnapshotMgmt2,
|
|
pllMinDiffAreaSize: ?*i64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssSnapshotMgmt2,
|
|
pllMinDiffAreaSize: ?*i64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssSnapshotMgmt2_GetMinDiffAreaSize(self: *const T, pllMinDiffAreaSize: ?*i64) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssSnapshotMgmt2.VTable, @ptrCast(self.vtable)).GetMinDiffAreaSize(@as(*const IVssSnapshotMgmt2, @ptrCast(self)), pllMinDiffAreaSize);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
// TODO: this type is limited to platform 'windows6.0.6000'
|
|
const IID_IVssDifferentialSoftwareSnapshotMgmt_Value = Guid.initString("214a0f28-b737-4026-b847-4f9e37d79529");
|
|
pub const IID_IVssDifferentialSoftwareSnapshotMgmt = &IID_IVssDifferentialSoftwareSnapshotMgmt_Value;
|
|
pub const IVssDifferentialSoftwareSnapshotMgmt = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
AddDiffArea: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssDifferentialSoftwareSnapshotMgmt,
|
|
pwszVolumeName: ?*u16,
|
|
pwszDiffAreaVolumeName: ?*u16,
|
|
llMaximumDiffSpace: i64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssDifferentialSoftwareSnapshotMgmt,
|
|
pwszVolumeName: ?*u16,
|
|
pwszDiffAreaVolumeName: ?*u16,
|
|
llMaximumDiffSpace: i64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
ChangeDiffAreaMaximumSize: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssDifferentialSoftwareSnapshotMgmt,
|
|
pwszVolumeName: ?*u16,
|
|
pwszDiffAreaVolumeName: ?*u16,
|
|
llMaximumDiffSpace: i64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssDifferentialSoftwareSnapshotMgmt,
|
|
pwszVolumeName: ?*u16,
|
|
pwszDiffAreaVolumeName: ?*u16,
|
|
llMaximumDiffSpace: i64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
QueryVolumesSupportedForDiffAreas: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssDifferentialSoftwareSnapshotMgmt,
|
|
pwszOriginalVolumeName: ?*u16,
|
|
ppEnum: ?*?*IVssEnumMgmtObject,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssDifferentialSoftwareSnapshotMgmt,
|
|
pwszOriginalVolumeName: ?*u16,
|
|
ppEnum: ?*?*IVssEnumMgmtObject,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
QueryDiffAreasForVolume: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssDifferentialSoftwareSnapshotMgmt,
|
|
pwszVolumeName: ?*u16,
|
|
ppEnum: ?*?*IVssEnumMgmtObject,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssDifferentialSoftwareSnapshotMgmt,
|
|
pwszVolumeName: ?*u16,
|
|
ppEnum: ?*?*IVssEnumMgmtObject,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
QueryDiffAreasOnVolume: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssDifferentialSoftwareSnapshotMgmt,
|
|
pwszVolumeName: ?*u16,
|
|
ppEnum: ?*?*IVssEnumMgmtObject,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssDifferentialSoftwareSnapshotMgmt,
|
|
pwszVolumeName: ?*u16,
|
|
ppEnum: ?*?*IVssEnumMgmtObject,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
QueryDiffAreasForSnapshot: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssDifferentialSoftwareSnapshotMgmt,
|
|
SnapshotId: Guid,
|
|
ppEnum: ?*?*IVssEnumMgmtObject,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssDifferentialSoftwareSnapshotMgmt,
|
|
SnapshotId: Guid,
|
|
ppEnum: ?*?*IVssEnumMgmtObject,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssDifferentialSoftwareSnapshotMgmt_AddDiffArea(self: *const T, pwszVolumeName: ?*u16, pwszDiffAreaVolumeName: ?*u16, llMaximumDiffSpace: i64) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssDifferentialSoftwareSnapshotMgmt.VTable, @ptrCast(self.vtable)).AddDiffArea(@as(*const IVssDifferentialSoftwareSnapshotMgmt, @ptrCast(self)), pwszVolumeName, pwszDiffAreaVolumeName, llMaximumDiffSpace);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssDifferentialSoftwareSnapshotMgmt_ChangeDiffAreaMaximumSize(self: *const T, pwszVolumeName: ?*u16, pwszDiffAreaVolumeName: ?*u16, llMaximumDiffSpace: i64) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssDifferentialSoftwareSnapshotMgmt.VTable, @ptrCast(self.vtable)).ChangeDiffAreaMaximumSize(@as(*const IVssDifferentialSoftwareSnapshotMgmt, @ptrCast(self)), pwszVolumeName, pwszDiffAreaVolumeName, llMaximumDiffSpace);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssDifferentialSoftwareSnapshotMgmt_QueryVolumesSupportedForDiffAreas(self: *const T, pwszOriginalVolumeName: ?*u16, ppEnum: ?*?*IVssEnumMgmtObject) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssDifferentialSoftwareSnapshotMgmt.VTable, @ptrCast(self.vtable)).QueryVolumesSupportedForDiffAreas(@as(*const IVssDifferentialSoftwareSnapshotMgmt, @ptrCast(self)), pwszOriginalVolumeName, ppEnum);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssDifferentialSoftwareSnapshotMgmt_QueryDiffAreasForVolume(self: *const T, pwszVolumeName: ?*u16, ppEnum: ?*?*IVssEnumMgmtObject) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssDifferentialSoftwareSnapshotMgmt.VTable, @ptrCast(self.vtable)).QueryDiffAreasForVolume(@as(*const IVssDifferentialSoftwareSnapshotMgmt, @ptrCast(self)), pwszVolumeName, ppEnum);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssDifferentialSoftwareSnapshotMgmt_QueryDiffAreasOnVolume(self: *const T, pwszVolumeName: ?*u16, ppEnum: ?*?*IVssEnumMgmtObject) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssDifferentialSoftwareSnapshotMgmt.VTable, @ptrCast(self.vtable)).QueryDiffAreasOnVolume(@as(*const IVssDifferentialSoftwareSnapshotMgmt, @ptrCast(self)), pwszVolumeName, ppEnum);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssDifferentialSoftwareSnapshotMgmt_QueryDiffAreasForSnapshot(self: *const T, SnapshotId: Guid, ppEnum: ?*?*IVssEnumMgmtObject) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssDifferentialSoftwareSnapshotMgmt.VTable, @ptrCast(self.vtable)).QueryDiffAreasForSnapshot(@as(*const IVssDifferentialSoftwareSnapshotMgmt, @ptrCast(self)), SnapshotId, ppEnum);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
// TODO: this type is limited to platform 'windows6.0.6000'
|
|
const IID_IVssDifferentialSoftwareSnapshotMgmt2_Value = Guid.initString("949d7353-675f-4275-8969-f044c6277815");
|
|
pub const IID_IVssDifferentialSoftwareSnapshotMgmt2 = &IID_IVssDifferentialSoftwareSnapshotMgmt2_Value;
|
|
pub const IVssDifferentialSoftwareSnapshotMgmt2 = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IVssDifferentialSoftwareSnapshotMgmt.VTable,
|
|
ChangeDiffAreaMaximumSizeEx: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssDifferentialSoftwareSnapshotMgmt2,
|
|
pwszVolumeName: ?*u16,
|
|
pwszDiffAreaVolumeName: ?*u16,
|
|
llMaximumDiffSpace: i64,
|
|
bVolatile: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssDifferentialSoftwareSnapshotMgmt2,
|
|
pwszVolumeName: ?*u16,
|
|
pwszDiffAreaVolumeName: ?*u16,
|
|
llMaximumDiffSpace: i64,
|
|
bVolatile: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
MigrateDiffAreas: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssDifferentialSoftwareSnapshotMgmt2,
|
|
pwszVolumeName: ?*u16,
|
|
pwszDiffAreaVolumeName: ?*u16,
|
|
pwszNewDiffAreaVolumeName: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssDifferentialSoftwareSnapshotMgmt2,
|
|
pwszVolumeName: ?*u16,
|
|
pwszDiffAreaVolumeName: ?*u16,
|
|
pwszNewDiffAreaVolumeName: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
QueryMigrationStatus: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssDifferentialSoftwareSnapshotMgmt2,
|
|
pwszVolumeName: ?*u16,
|
|
pwszDiffAreaVolumeName: ?*u16,
|
|
ppAsync: ?*?*IVssAsync,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssDifferentialSoftwareSnapshotMgmt2,
|
|
pwszVolumeName: ?*u16,
|
|
pwszDiffAreaVolumeName: ?*u16,
|
|
ppAsync: ?*?*IVssAsync,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetSnapshotPriority: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssDifferentialSoftwareSnapshotMgmt2,
|
|
idSnapshot: Guid,
|
|
priority: u8,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssDifferentialSoftwareSnapshotMgmt2,
|
|
idSnapshot: Guid,
|
|
priority: u8,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IVssDifferentialSoftwareSnapshotMgmt.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssDifferentialSoftwareSnapshotMgmt2_ChangeDiffAreaMaximumSizeEx(self: *const T, pwszVolumeName: ?*u16, pwszDiffAreaVolumeName: ?*u16, llMaximumDiffSpace: i64, bVolatile: BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssDifferentialSoftwareSnapshotMgmt2.VTable, @ptrCast(self.vtable)).ChangeDiffAreaMaximumSizeEx(@as(*const IVssDifferentialSoftwareSnapshotMgmt2, @ptrCast(self)), pwszVolumeName, pwszDiffAreaVolumeName, llMaximumDiffSpace, bVolatile);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssDifferentialSoftwareSnapshotMgmt2_MigrateDiffAreas(self: *const T, pwszVolumeName: ?*u16, pwszDiffAreaVolumeName: ?*u16, pwszNewDiffAreaVolumeName: ?*u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssDifferentialSoftwareSnapshotMgmt2.VTable, @ptrCast(self.vtable)).MigrateDiffAreas(@as(*const IVssDifferentialSoftwareSnapshotMgmt2, @ptrCast(self)), pwszVolumeName, pwszDiffAreaVolumeName, pwszNewDiffAreaVolumeName);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssDifferentialSoftwareSnapshotMgmt2_QueryMigrationStatus(self: *const T, pwszVolumeName: ?*u16, pwszDiffAreaVolumeName: ?*u16, ppAsync: ?*?*IVssAsync) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssDifferentialSoftwareSnapshotMgmt2.VTable, @ptrCast(self.vtable)).QueryMigrationStatus(@as(*const IVssDifferentialSoftwareSnapshotMgmt2, @ptrCast(self)), pwszVolumeName, pwszDiffAreaVolumeName, ppAsync);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssDifferentialSoftwareSnapshotMgmt2_SetSnapshotPriority(self: *const T, idSnapshot: Guid, priority: u8) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssDifferentialSoftwareSnapshotMgmt2.VTable, @ptrCast(self.vtable)).SetSnapshotPriority(@as(*const IVssDifferentialSoftwareSnapshotMgmt2, @ptrCast(self)), idSnapshot, priority);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
// TODO: this type is limited to platform 'windows6.0.6000'
|
|
const IID_IVssDifferentialSoftwareSnapshotMgmt3_Value = Guid.initString("383f7e71-a4c5-401f-b27f-f826289f8458");
|
|
pub const IID_IVssDifferentialSoftwareSnapshotMgmt3 = &IID_IVssDifferentialSoftwareSnapshotMgmt3_Value;
|
|
pub const IVssDifferentialSoftwareSnapshotMgmt3 = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IVssDifferentialSoftwareSnapshotMgmt2.VTable,
|
|
SetVolumeProtectLevel: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssDifferentialSoftwareSnapshotMgmt3,
|
|
pwszVolumeName: ?*u16,
|
|
protectionLevel: VSS_PROTECTION_LEVEL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssDifferentialSoftwareSnapshotMgmt3,
|
|
pwszVolumeName: ?*u16,
|
|
protectionLevel: VSS_PROTECTION_LEVEL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetVolumeProtectLevel: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssDifferentialSoftwareSnapshotMgmt3,
|
|
pwszVolumeName: ?*u16,
|
|
protectionLevel: ?*VSS_VOLUME_PROTECTION_INFO,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssDifferentialSoftwareSnapshotMgmt3,
|
|
pwszVolumeName: ?*u16,
|
|
protectionLevel: ?*VSS_VOLUME_PROTECTION_INFO,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
ClearVolumeProtectFault: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssDifferentialSoftwareSnapshotMgmt3,
|
|
pwszVolumeName: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssDifferentialSoftwareSnapshotMgmt3,
|
|
pwszVolumeName: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
DeleteUnusedDiffAreas: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssDifferentialSoftwareSnapshotMgmt3,
|
|
pwszDiffAreaVolumeName: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssDifferentialSoftwareSnapshotMgmt3,
|
|
pwszDiffAreaVolumeName: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
QuerySnapshotDeltaBitmap: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssDifferentialSoftwareSnapshotMgmt3,
|
|
idSnapshotOlder: Guid,
|
|
idSnapshotYounger: Guid,
|
|
pcBlockSizePerBit: ?*u32,
|
|
pcBitmapLength: ?*u32,
|
|
ppbBitmap: [*]?*u8,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssDifferentialSoftwareSnapshotMgmt3,
|
|
idSnapshotOlder: Guid,
|
|
idSnapshotYounger: Guid,
|
|
pcBlockSizePerBit: ?*u32,
|
|
pcBitmapLength: ?*u32,
|
|
ppbBitmap: [*]?*u8,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IVssDifferentialSoftwareSnapshotMgmt2.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssDifferentialSoftwareSnapshotMgmt3_SetVolumeProtectLevel(self: *const T, pwszVolumeName: ?*u16, protectionLevel: VSS_PROTECTION_LEVEL) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssDifferentialSoftwareSnapshotMgmt3.VTable, @ptrCast(self.vtable)).SetVolumeProtectLevel(@as(*const IVssDifferentialSoftwareSnapshotMgmt3, @ptrCast(self)), pwszVolumeName, protectionLevel);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssDifferentialSoftwareSnapshotMgmt3_GetVolumeProtectLevel(self: *const T, pwszVolumeName: ?*u16, protectionLevel: ?*VSS_VOLUME_PROTECTION_INFO) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssDifferentialSoftwareSnapshotMgmt3.VTable, @ptrCast(self.vtable)).GetVolumeProtectLevel(@as(*const IVssDifferentialSoftwareSnapshotMgmt3, @ptrCast(self)), pwszVolumeName, protectionLevel);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssDifferentialSoftwareSnapshotMgmt3_ClearVolumeProtectFault(self: *const T, pwszVolumeName: ?*u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssDifferentialSoftwareSnapshotMgmt3.VTable, @ptrCast(self.vtable)).ClearVolumeProtectFault(@as(*const IVssDifferentialSoftwareSnapshotMgmt3, @ptrCast(self)), pwszVolumeName);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssDifferentialSoftwareSnapshotMgmt3_DeleteUnusedDiffAreas(self: *const T, pwszDiffAreaVolumeName: ?*u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssDifferentialSoftwareSnapshotMgmt3.VTable, @ptrCast(self.vtable)).DeleteUnusedDiffAreas(@as(*const IVssDifferentialSoftwareSnapshotMgmt3, @ptrCast(self)), pwszDiffAreaVolumeName);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssDifferentialSoftwareSnapshotMgmt3_QuerySnapshotDeltaBitmap(self: *const T, idSnapshotOlder: Guid, idSnapshotYounger: Guid, pcBlockSizePerBit: ?*u32, pcBitmapLength: ?*u32, ppbBitmap: [*]?*u8) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssDifferentialSoftwareSnapshotMgmt3.VTable, @ptrCast(self.vtable)).QuerySnapshotDeltaBitmap(@as(*const IVssDifferentialSoftwareSnapshotMgmt3, @ptrCast(self)), idSnapshotOlder, idSnapshotYounger, pcBlockSizePerBit, pcBitmapLength, ppbBitmap);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
// TODO: this type is limited to platform 'windows6.0.6000'
|
|
const IID_IVssEnumMgmtObject_Value = Guid.initString("01954e6b-9254-4e6e-808c-c9e05d007696");
|
|
pub const IID_IVssEnumMgmtObject = &IID_IVssEnumMgmtObject_Value;
|
|
pub const IVssEnumMgmtObject = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
Next: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssEnumMgmtObject,
|
|
celt: u32,
|
|
rgelt: [*]VSS_MGMT_OBJECT_PROP,
|
|
pceltFetched: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssEnumMgmtObject,
|
|
celt: u32,
|
|
rgelt: [*]VSS_MGMT_OBJECT_PROP,
|
|
pceltFetched: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
Skip: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssEnumMgmtObject,
|
|
celt: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssEnumMgmtObject,
|
|
celt: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
Reset: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssEnumMgmtObject,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssEnumMgmtObject,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
Clone: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssEnumMgmtObject,
|
|
ppenum: ?*?*IVssEnumMgmtObject,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssEnumMgmtObject,
|
|
ppenum: ?*?*IVssEnumMgmtObject,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssEnumMgmtObject_Next(self: *const T, celt: u32, rgelt: [*]VSS_MGMT_OBJECT_PROP, pceltFetched: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssEnumMgmtObject.VTable, @ptrCast(self.vtable)).Next(@as(*const IVssEnumMgmtObject, @ptrCast(self)), celt, rgelt, pceltFetched);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssEnumMgmtObject_Skip(self: *const T, celt: u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssEnumMgmtObject.VTable, @ptrCast(self.vtable)).Skip(@as(*const IVssEnumMgmtObject, @ptrCast(self)), celt);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssEnumMgmtObject_Reset(self: *const T) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssEnumMgmtObject.VTable, @ptrCast(self.vtable)).Reset(@as(*const IVssEnumMgmtObject, @ptrCast(self)));
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssEnumMgmtObject_Clone(self: *const T, ppenum: ?*?*IVssEnumMgmtObject) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssEnumMgmtObject.VTable, @ptrCast(self.vtable)).Clone(@as(*const IVssEnumMgmtObject, @ptrCast(self)), ppenum);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const CLSID_VSSCoordinator_Value = Guid.initString("e579ab5f-1cc4-44b4-bed9-de0991ff0623");
|
|
pub const CLSID_VSSCoordinator = &CLSID_VSSCoordinator_Value;
|
|
|
|
// TODO: this type is limited to platform 'windows6.0.6000'
|
|
const IID_IVssAdmin_Value = Guid.initString("77ed5996-2f63-11d3-8a39-00c04f72d8e3");
|
|
pub const IID_IVssAdmin = &IID_IVssAdmin_Value;
|
|
pub const IVssAdmin = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
RegisterProvider: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssAdmin,
|
|
pProviderId: Guid,
|
|
ClassId: Guid,
|
|
pwszProviderName: ?*u16,
|
|
eProviderType: VSS_PROVIDER_TYPE,
|
|
pwszProviderVersion: ?*u16,
|
|
ProviderVersionId: Guid,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssAdmin,
|
|
pProviderId: Guid,
|
|
ClassId: Guid,
|
|
pwszProviderName: ?*u16,
|
|
eProviderType: VSS_PROVIDER_TYPE,
|
|
pwszProviderVersion: ?*u16,
|
|
ProviderVersionId: Guid,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
UnregisterProvider: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssAdmin,
|
|
ProviderId: Guid,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssAdmin,
|
|
ProviderId: Guid,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
QueryProviders: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssAdmin,
|
|
ppEnum: ?*?*IVssEnumObject,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssAdmin,
|
|
ppEnum: ?*?*IVssEnumObject,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
AbortAllSnapshotsInProgress: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssAdmin,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssAdmin,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssAdmin_RegisterProvider(self: *const T, pProviderId: Guid, ClassId: Guid, pwszProviderName: ?*u16, eProviderType: VSS_PROVIDER_TYPE, pwszProviderVersion: ?*u16, ProviderVersionId: Guid) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssAdmin.VTable, @ptrCast(self.vtable)).RegisterProvider(@as(*const IVssAdmin, @ptrCast(self)), pProviderId, ClassId, pwszProviderName, eProviderType, pwszProviderVersion, ProviderVersionId);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssAdmin_UnregisterProvider(self: *const T, ProviderId: Guid) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssAdmin.VTable, @ptrCast(self.vtable)).UnregisterProvider(@as(*const IVssAdmin, @ptrCast(self)), ProviderId);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssAdmin_QueryProviders(self: *const T, ppEnum: ?*?*IVssEnumObject) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssAdmin.VTable, @ptrCast(self.vtable)).QueryProviders(@as(*const IVssAdmin, @ptrCast(self)), ppEnum);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssAdmin_AbortAllSnapshotsInProgress(self: *const T) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssAdmin.VTable, @ptrCast(self.vtable)).AbortAllSnapshotsInProgress(@as(*const IVssAdmin, @ptrCast(self)));
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IVssAdminEx_Value = Guid.initString("7858a9f8-b1fa-41a6-964f-b9b36b8cd8d8");
|
|
pub const IID_IVssAdminEx = &IID_IVssAdminEx_Value;
|
|
pub const IVssAdminEx = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IVssAdmin.VTable,
|
|
GetProviderCapability: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssAdminEx,
|
|
pProviderId: Guid,
|
|
pllOriginalCapabilityMask: ?*u64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssAdminEx,
|
|
pProviderId: Guid,
|
|
pllOriginalCapabilityMask: ?*u64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetProviderContext: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssAdminEx,
|
|
ProviderId: Guid,
|
|
plContext: ?*i32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssAdminEx,
|
|
ProviderId: Guid,
|
|
plContext: ?*i32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetProviderContext: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssAdminEx,
|
|
ProviderId: Guid,
|
|
lContext: i32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssAdminEx,
|
|
ProviderId: Guid,
|
|
lContext: i32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IVssAdmin.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssAdminEx_GetProviderCapability(self: *const T, pProviderId: Guid, pllOriginalCapabilityMask: ?*u64) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssAdminEx.VTable, @ptrCast(self.vtable)).GetProviderCapability(@as(*const IVssAdminEx, @ptrCast(self)), pProviderId, pllOriginalCapabilityMask);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssAdminEx_GetProviderContext(self: *const T, ProviderId: Guid, plContext: ?*i32) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssAdminEx.VTable, @ptrCast(self.vtable)).GetProviderContext(@as(*const IVssAdminEx, @ptrCast(self)), ProviderId, plContext);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssAdminEx_SetProviderContext(self: *const T, ProviderId: Guid, lContext: i32) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssAdminEx.VTable, @ptrCast(self.vtable)).SetProviderContext(@as(*const IVssAdminEx, @ptrCast(self)), ProviderId, lContext);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
// TODO: this type is limited to platform 'windows6.0.6000'
|
|
const IID_IVssSoftwareSnapshotProvider_Value = Guid.initString("609e123e-2c5a-44d3-8f01-0b1d9a47d1ff");
|
|
pub const IID_IVssSoftwareSnapshotProvider = &IID_IVssSoftwareSnapshotProvider_Value;
|
|
pub const IVssSoftwareSnapshotProvider = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
SetContext: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssSoftwareSnapshotProvider,
|
|
lContext: i32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssSoftwareSnapshotProvider,
|
|
lContext: i32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetSnapshotProperties: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssSoftwareSnapshotProvider,
|
|
SnapshotId: Guid,
|
|
pProp: ?*VSS_SNAPSHOT_PROP,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssSoftwareSnapshotProvider,
|
|
SnapshotId: Guid,
|
|
pProp: ?*VSS_SNAPSHOT_PROP,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
Query: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssSoftwareSnapshotProvider,
|
|
QueriedObjectId: Guid,
|
|
eQueriedObjectType: VSS_OBJECT_TYPE,
|
|
eReturnedObjectsType: VSS_OBJECT_TYPE,
|
|
ppEnum: ?*?*IVssEnumObject,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssSoftwareSnapshotProvider,
|
|
QueriedObjectId: Guid,
|
|
eQueriedObjectType: VSS_OBJECT_TYPE,
|
|
eReturnedObjectsType: VSS_OBJECT_TYPE,
|
|
ppEnum: ?*?*IVssEnumObject,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
DeleteSnapshots: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssSoftwareSnapshotProvider,
|
|
SourceObjectId: Guid,
|
|
eSourceObjectType: VSS_OBJECT_TYPE,
|
|
bForceDelete: BOOL,
|
|
plDeletedSnapshots: ?*i32,
|
|
pNondeletedSnapshotID: ?*Guid,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssSoftwareSnapshotProvider,
|
|
SourceObjectId: Guid,
|
|
eSourceObjectType: VSS_OBJECT_TYPE,
|
|
bForceDelete: BOOL,
|
|
plDeletedSnapshots: ?*i32,
|
|
pNondeletedSnapshotID: ?*Guid,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
BeginPrepareSnapshot: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssSoftwareSnapshotProvider,
|
|
SnapshotSetId: Guid,
|
|
SnapshotId: Guid,
|
|
pwszVolumeName: ?*u16,
|
|
lNewContext: i32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssSoftwareSnapshotProvider,
|
|
SnapshotSetId: Guid,
|
|
SnapshotId: Guid,
|
|
pwszVolumeName: ?*u16,
|
|
lNewContext: i32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
IsVolumeSupported: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssSoftwareSnapshotProvider,
|
|
pwszVolumeName: ?*u16,
|
|
pbSupportedByThisProvider: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssSoftwareSnapshotProvider,
|
|
pwszVolumeName: ?*u16,
|
|
pbSupportedByThisProvider: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
IsVolumeSnapshotted: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssSoftwareSnapshotProvider,
|
|
pwszVolumeName: ?*u16,
|
|
pbSnapshotsPresent: ?*BOOL,
|
|
plSnapshotCompatibility: ?*i32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssSoftwareSnapshotProvider,
|
|
pwszVolumeName: ?*u16,
|
|
pbSnapshotsPresent: ?*BOOL,
|
|
plSnapshotCompatibility: ?*i32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetSnapshotProperty: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssSoftwareSnapshotProvider,
|
|
SnapshotId: Guid,
|
|
eSnapshotPropertyId: VSS_SNAPSHOT_PROPERTY_ID,
|
|
vProperty: VARIANT,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssSoftwareSnapshotProvider,
|
|
SnapshotId: Guid,
|
|
eSnapshotPropertyId: VSS_SNAPSHOT_PROPERTY_ID,
|
|
vProperty: VARIANT,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
RevertToSnapshot: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssSoftwareSnapshotProvider,
|
|
SnapshotId: Guid,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssSoftwareSnapshotProvider,
|
|
SnapshotId: Guid,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
QueryRevertStatus: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssSoftwareSnapshotProvider,
|
|
pwszVolume: ?*u16,
|
|
ppAsync: ?*?*IVssAsync,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssSoftwareSnapshotProvider,
|
|
pwszVolume: ?*u16,
|
|
ppAsync: ?*?*IVssAsync,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssSoftwareSnapshotProvider_SetContext(self: *const T, lContext: i32) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssSoftwareSnapshotProvider.VTable, @ptrCast(self.vtable)).SetContext(@as(*const IVssSoftwareSnapshotProvider, @ptrCast(self)), lContext);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssSoftwareSnapshotProvider_GetSnapshotProperties(self: *const T, SnapshotId: Guid, pProp: ?*VSS_SNAPSHOT_PROP) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssSoftwareSnapshotProvider.VTable, @ptrCast(self.vtable)).GetSnapshotProperties(@as(*const IVssSoftwareSnapshotProvider, @ptrCast(self)), SnapshotId, pProp);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssSoftwareSnapshotProvider_Query(self: *const T, QueriedObjectId: Guid, eQueriedObjectType: VSS_OBJECT_TYPE, eReturnedObjectsType: VSS_OBJECT_TYPE, ppEnum: ?*?*IVssEnumObject) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssSoftwareSnapshotProvider.VTable, @ptrCast(self.vtable)).Query(@as(*const IVssSoftwareSnapshotProvider, @ptrCast(self)), QueriedObjectId, eQueriedObjectType, eReturnedObjectsType, ppEnum);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssSoftwareSnapshotProvider_DeleteSnapshots(self: *const T, SourceObjectId: Guid, eSourceObjectType: VSS_OBJECT_TYPE, bForceDelete: BOOL, plDeletedSnapshots: ?*i32, pNondeletedSnapshotID: ?*Guid) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssSoftwareSnapshotProvider.VTable, @ptrCast(self.vtable)).DeleteSnapshots(@as(*const IVssSoftwareSnapshotProvider, @ptrCast(self)), SourceObjectId, eSourceObjectType, bForceDelete, plDeletedSnapshots, pNondeletedSnapshotID);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssSoftwareSnapshotProvider_BeginPrepareSnapshot(self: *const T, SnapshotSetId: Guid, SnapshotId: Guid, pwszVolumeName: ?*u16, lNewContext: i32) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssSoftwareSnapshotProvider.VTable, @ptrCast(self.vtable)).BeginPrepareSnapshot(@as(*const IVssSoftwareSnapshotProvider, @ptrCast(self)), SnapshotSetId, SnapshotId, pwszVolumeName, lNewContext);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssSoftwareSnapshotProvider_IsVolumeSupported(self: *const T, pwszVolumeName: ?*u16, pbSupportedByThisProvider: ?*BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssSoftwareSnapshotProvider.VTable, @ptrCast(self.vtable)).IsVolumeSupported(@as(*const IVssSoftwareSnapshotProvider, @ptrCast(self)), pwszVolumeName, pbSupportedByThisProvider);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssSoftwareSnapshotProvider_IsVolumeSnapshotted(self: *const T, pwszVolumeName: ?*u16, pbSnapshotsPresent: ?*BOOL, plSnapshotCompatibility: ?*i32) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssSoftwareSnapshotProvider.VTable, @ptrCast(self.vtable)).IsVolumeSnapshotted(@as(*const IVssSoftwareSnapshotProvider, @ptrCast(self)), pwszVolumeName, pbSnapshotsPresent, plSnapshotCompatibility);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssSoftwareSnapshotProvider_SetSnapshotProperty(self: *const T, SnapshotId: Guid, eSnapshotPropertyId: VSS_SNAPSHOT_PROPERTY_ID, vProperty: VARIANT) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssSoftwareSnapshotProvider.VTable, @ptrCast(self.vtable)).SetSnapshotProperty(@as(*const IVssSoftwareSnapshotProvider, @ptrCast(self)), SnapshotId, eSnapshotPropertyId, vProperty);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssSoftwareSnapshotProvider_RevertToSnapshot(self: *const T, SnapshotId: Guid) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssSoftwareSnapshotProvider.VTable, @ptrCast(self.vtable)).RevertToSnapshot(@as(*const IVssSoftwareSnapshotProvider, @ptrCast(self)), SnapshotId);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssSoftwareSnapshotProvider_QueryRevertStatus(self: *const T, pwszVolume: ?*u16, ppAsync: ?*?*IVssAsync) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssSoftwareSnapshotProvider.VTable, @ptrCast(self.vtable)).QueryRevertStatus(@as(*const IVssSoftwareSnapshotProvider, @ptrCast(self)), pwszVolume, ppAsync);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
// TODO: this type is limited to platform 'windows6.0.6000'
|
|
const IID_IVssProviderCreateSnapshotSet_Value = Guid.initString("5f894e5b-1e39-4778-8e23-9abad9f0e08c");
|
|
pub const IID_IVssProviderCreateSnapshotSet = &IID_IVssProviderCreateSnapshotSet_Value;
|
|
pub const IVssProviderCreateSnapshotSet = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
EndPrepareSnapshots: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssProviderCreateSnapshotSet,
|
|
SnapshotSetId: Guid,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssProviderCreateSnapshotSet,
|
|
SnapshotSetId: Guid,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
PreCommitSnapshots: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssProviderCreateSnapshotSet,
|
|
SnapshotSetId: Guid,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssProviderCreateSnapshotSet,
|
|
SnapshotSetId: Guid,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
CommitSnapshots: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssProviderCreateSnapshotSet,
|
|
SnapshotSetId: Guid,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssProviderCreateSnapshotSet,
|
|
SnapshotSetId: Guid,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
PostCommitSnapshots: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssProviderCreateSnapshotSet,
|
|
SnapshotSetId: Guid,
|
|
lSnapshotsCount: i32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssProviderCreateSnapshotSet,
|
|
SnapshotSetId: Guid,
|
|
lSnapshotsCount: i32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
PreFinalCommitSnapshots: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssProviderCreateSnapshotSet,
|
|
SnapshotSetId: Guid,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssProviderCreateSnapshotSet,
|
|
SnapshotSetId: Guid,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
PostFinalCommitSnapshots: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssProviderCreateSnapshotSet,
|
|
SnapshotSetId: Guid,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssProviderCreateSnapshotSet,
|
|
SnapshotSetId: Guid,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
AbortSnapshots: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssProviderCreateSnapshotSet,
|
|
SnapshotSetId: Guid,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssProviderCreateSnapshotSet,
|
|
SnapshotSetId: Guid,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssProviderCreateSnapshotSet_EndPrepareSnapshots(self: *const T, SnapshotSetId: Guid) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssProviderCreateSnapshotSet.VTable, @ptrCast(self.vtable)).EndPrepareSnapshots(@as(*const IVssProviderCreateSnapshotSet, @ptrCast(self)), SnapshotSetId);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssProviderCreateSnapshotSet_PreCommitSnapshots(self: *const T, SnapshotSetId: Guid) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssProviderCreateSnapshotSet.VTable, @ptrCast(self.vtable)).PreCommitSnapshots(@as(*const IVssProviderCreateSnapshotSet, @ptrCast(self)), SnapshotSetId);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssProviderCreateSnapshotSet_CommitSnapshots(self: *const T, SnapshotSetId: Guid) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssProviderCreateSnapshotSet.VTable, @ptrCast(self.vtable)).CommitSnapshots(@as(*const IVssProviderCreateSnapshotSet, @ptrCast(self)), SnapshotSetId);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssProviderCreateSnapshotSet_PostCommitSnapshots(self: *const T, SnapshotSetId: Guid, lSnapshotsCount: i32) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssProviderCreateSnapshotSet.VTable, @ptrCast(self.vtable)).PostCommitSnapshots(@as(*const IVssProviderCreateSnapshotSet, @ptrCast(self)), SnapshotSetId, lSnapshotsCount);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssProviderCreateSnapshotSet_PreFinalCommitSnapshots(self: *const T, SnapshotSetId: Guid) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssProviderCreateSnapshotSet.VTable, @ptrCast(self.vtable)).PreFinalCommitSnapshots(@as(*const IVssProviderCreateSnapshotSet, @ptrCast(self)), SnapshotSetId);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssProviderCreateSnapshotSet_PostFinalCommitSnapshots(self: *const T, SnapshotSetId: Guid) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssProviderCreateSnapshotSet.VTable, @ptrCast(self.vtable)).PostFinalCommitSnapshots(@as(*const IVssProviderCreateSnapshotSet, @ptrCast(self)), SnapshotSetId);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssProviderCreateSnapshotSet_AbortSnapshots(self: *const T, SnapshotSetId: Guid) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssProviderCreateSnapshotSet.VTable, @ptrCast(self.vtable)).AbortSnapshots(@as(*const IVssProviderCreateSnapshotSet, @ptrCast(self)), SnapshotSetId);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
// TODO: this type is limited to platform 'windows6.0.6000'
|
|
const IID_IVssProviderNotifications_Value = Guid.initString("e561901f-03a5-4afe-86d0-72baeece7004");
|
|
pub const IID_IVssProviderNotifications = &IID_IVssProviderNotifications_Value;
|
|
pub const IVssProviderNotifications = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
OnLoad: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssProviderNotifications,
|
|
pCallback: ?*IUnknown,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssProviderNotifications,
|
|
pCallback: ?*IUnknown,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
OnUnload: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssProviderNotifications,
|
|
bForceUnload: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssProviderNotifications,
|
|
bForceUnload: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssProviderNotifications_OnLoad(self: *const T, pCallback: ?*IUnknown) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssProviderNotifications.VTable, @ptrCast(self.vtable)).OnLoad(@as(*const IVssProviderNotifications, @ptrCast(self)), pCallback);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssProviderNotifications_OnUnload(self: *const T, bForceUnload: BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssProviderNotifications.VTable, @ptrCast(self.vtable)).OnUnload(@as(*const IVssProviderNotifications, @ptrCast(self)), bForceUnload);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
// TODO: this type is limited to platform 'windowsServer2003'
|
|
const IID_IVssHardwareSnapshotProvider_Value = Guid.initString("9593a157-44e9-4344-bbeb-44fbf9b06b10");
|
|
pub const IID_IVssHardwareSnapshotProvider = &IID_IVssHardwareSnapshotProvider_Value;
|
|
pub const IVssHardwareSnapshotProvider = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
AreLunsSupported: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssHardwareSnapshotProvider,
|
|
lLunCount: i32,
|
|
lContext: i32,
|
|
rgwszDevices: [*]?*u16,
|
|
pLunInformation: [*]VDS_LUN_INFORMATION,
|
|
pbIsSupported: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssHardwareSnapshotProvider,
|
|
lLunCount: i32,
|
|
lContext: i32,
|
|
rgwszDevices: [*]?*u16,
|
|
pLunInformation: [*]VDS_LUN_INFORMATION,
|
|
pbIsSupported: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
FillInLunInfo: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssHardwareSnapshotProvider,
|
|
wszDeviceName: ?*u16,
|
|
pLunInfo: ?*VDS_LUN_INFORMATION,
|
|
pbIsSupported: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssHardwareSnapshotProvider,
|
|
wszDeviceName: ?*u16,
|
|
pLunInfo: ?*VDS_LUN_INFORMATION,
|
|
pbIsSupported: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
BeginPrepareSnapshot: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssHardwareSnapshotProvider,
|
|
SnapshotSetId: Guid,
|
|
SnapshotId: Guid,
|
|
lContext: i32,
|
|
lLunCount: i32,
|
|
rgDeviceNames: [*]?*u16,
|
|
rgLunInformation: [*]VDS_LUN_INFORMATION,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssHardwareSnapshotProvider,
|
|
SnapshotSetId: Guid,
|
|
SnapshotId: Guid,
|
|
lContext: i32,
|
|
lLunCount: i32,
|
|
rgDeviceNames: [*]?*u16,
|
|
rgLunInformation: [*]VDS_LUN_INFORMATION,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetTargetLuns: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssHardwareSnapshotProvider,
|
|
lLunCount: i32,
|
|
rgDeviceNames: [*]?*u16,
|
|
rgSourceLuns: [*]VDS_LUN_INFORMATION,
|
|
rgDestinationLuns: [*]VDS_LUN_INFORMATION,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssHardwareSnapshotProvider,
|
|
lLunCount: i32,
|
|
rgDeviceNames: [*]?*u16,
|
|
rgSourceLuns: [*]VDS_LUN_INFORMATION,
|
|
rgDestinationLuns: [*]VDS_LUN_INFORMATION,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
LocateLuns: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssHardwareSnapshotProvider,
|
|
lLunCount: i32,
|
|
rgSourceLuns: [*]VDS_LUN_INFORMATION,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssHardwareSnapshotProvider,
|
|
lLunCount: i32,
|
|
rgSourceLuns: [*]VDS_LUN_INFORMATION,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
OnLunEmpty: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssHardwareSnapshotProvider,
|
|
wszDeviceName: ?*u16,
|
|
pInformation: ?*VDS_LUN_INFORMATION,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssHardwareSnapshotProvider,
|
|
wszDeviceName: ?*u16,
|
|
pInformation: ?*VDS_LUN_INFORMATION,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssHardwareSnapshotProvider_AreLunsSupported(self: *const T, lLunCount: i32, lContext: i32, rgwszDevices: [*]?*u16, pLunInformation: [*]VDS_LUN_INFORMATION, pbIsSupported: ?*BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssHardwareSnapshotProvider.VTable, @ptrCast(self.vtable)).AreLunsSupported(@as(*const IVssHardwareSnapshotProvider, @ptrCast(self)), lLunCount, lContext, rgwszDevices, pLunInformation, pbIsSupported);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssHardwareSnapshotProvider_FillInLunInfo(self: *const T, wszDeviceName: ?*u16, pLunInfo: ?*VDS_LUN_INFORMATION, pbIsSupported: ?*BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssHardwareSnapshotProvider.VTable, @ptrCast(self.vtable)).FillInLunInfo(@as(*const IVssHardwareSnapshotProvider, @ptrCast(self)), wszDeviceName, pLunInfo, pbIsSupported);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssHardwareSnapshotProvider_BeginPrepareSnapshot(self: *const T, SnapshotSetId: Guid, SnapshotId: Guid, lContext: i32, lLunCount: i32, rgDeviceNames: [*]?*u16, rgLunInformation: [*]VDS_LUN_INFORMATION) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssHardwareSnapshotProvider.VTable, @ptrCast(self.vtable)).BeginPrepareSnapshot(@as(*const IVssHardwareSnapshotProvider, @ptrCast(self)), SnapshotSetId, SnapshotId, lContext, lLunCount, rgDeviceNames, rgLunInformation);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssHardwareSnapshotProvider_GetTargetLuns(self: *const T, lLunCount: i32, rgDeviceNames: [*]?*u16, rgSourceLuns: [*]VDS_LUN_INFORMATION, rgDestinationLuns: [*]VDS_LUN_INFORMATION) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssHardwareSnapshotProvider.VTable, @ptrCast(self.vtable)).GetTargetLuns(@as(*const IVssHardwareSnapshotProvider, @ptrCast(self)), lLunCount, rgDeviceNames, rgSourceLuns, rgDestinationLuns);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssHardwareSnapshotProvider_LocateLuns(self: *const T, lLunCount: i32, rgSourceLuns: [*]VDS_LUN_INFORMATION) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssHardwareSnapshotProvider.VTable, @ptrCast(self.vtable)).LocateLuns(@as(*const IVssHardwareSnapshotProvider, @ptrCast(self)), lLunCount, rgSourceLuns);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssHardwareSnapshotProvider_OnLunEmpty(self: *const T, wszDeviceName: ?*u16, pInformation: ?*VDS_LUN_INFORMATION) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssHardwareSnapshotProvider.VTable, @ptrCast(self.vtable)).OnLunEmpty(@as(*const IVssHardwareSnapshotProvider, @ptrCast(self)), wszDeviceName, pInformation);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
// TODO: this type is limited to platform 'windowsServer2008'
|
|
const IID_IVssHardwareSnapshotProviderEx_Value = Guid.initString("7f5ba925-cdb1-4d11-a71f-339eb7e709fd");
|
|
pub const IID_IVssHardwareSnapshotProviderEx = &IID_IVssHardwareSnapshotProviderEx_Value;
|
|
pub const IVssHardwareSnapshotProviderEx = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IVssHardwareSnapshotProvider.VTable,
|
|
GetProviderCapabilities: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssHardwareSnapshotProviderEx,
|
|
pllOriginalCapabilityMask: ?*u64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssHardwareSnapshotProviderEx,
|
|
pllOriginalCapabilityMask: ?*u64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
OnLunStateChange: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssHardwareSnapshotProviderEx,
|
|
pSnapshotLuns: [*]VDS_LUN_INFORMATION,
|
|
pOriginalLuns: [*]VDS_LUN_INFORMATION,
|
|
dwCount: u32,
|
|
dwFlags: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssHardwareSnapshotProviderEx,
|
|
pSnapshotLuns: [*]VDS_LUN_INFORMATION,
|
|
pOriginalLuns: [*]VDS_LUN_INFORMATION,
|
|
dwCount: u32,
|
|
dwFlags: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
ResyncLuns: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssHardwareSnapshotProviderEx,
|
|
pSourceLuns: [*]VDS_LUN_INFORMATION,
|
|
pTargetLuns: [*]VDS_LUN_INFORMATION,
|
|
dwCount: u32,
|
|
ppAsync: ?*?*IVssAsync,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssHardwareSnapshotProviderEx,
|
|
pSourceLuns: [*]VDS_LUN_INFORMATION,
|
|
pTargetLuns: [*]VDS_LUN_INFORMATION,
|
|
dwCount: u32,
|
|
ppAsync: ?*?*IVssAsync,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
OnReuseLuns: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssHardwareSnapshotProviderEx,
|
|
pSnapshotLuns: [*]VDS_LUN_INFORMATION,
|
|
pOriginalLuns: [*]VDS_LUN_INFORMATION,
|
|
dwCount: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssHardwareSnapshotProviderEx,
|
|
pSnapshotLuns: [*]VDS_LUN_INFORMATION,
|
|
pOriginalLuns: [*]VDS_LUN_INFORMATION,
|
|
dwCount: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IVssHardwareSnapshotProvider.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssHardwareSnapshotProviderEx_GetProviderCapabilities(self: *const T, pllOriginalCapabilityMask: ?*u64) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssHardwareSnapshotProviderEx.VTable, @ptrCast(self.vtable)).GetProviderCapabilities(@as(*const IVssHardwareSnapshotProviderEx, @ptrCast(self)), pllOriginalCapabilityMask);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssHardwareSnapshotProviderEx_OnLunStateChange(self: *const T, pSnapshotLuns: [*]VDS_LUN_INFORMATION, pOriginalLuns: [*]VDS_LUN_INFORMATION, dwCount: u32, dwFlags: u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssHardwareSnapshotProviderEx.VTable, @ptrCast(self.vtable)).OnLunStateChange(@as(*const IVssHardwareSnapshotProviderEx, @ptrCast(self)), pSnapshotLuns, pOriginalLuns, dwCount, dwFlags);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssHardwareSnapshotProviderEx_ResyncLuns(self: *const T, pSourceLuns: [*]VDS_LUN_INFORMATION, pTargetLuns: [*]VDS_LUN_INFORMATION, dwCount: u32, ppAsync: ?*?*IVssAsync) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssHardwareSnapshotProviderEx.VTable, @ptrCast(self.vtable)).ResyncLuns(@as(*const IVssHardwareSnapshotProviderEx, @ptrCast(self)), pSourceLuns, pTargetLuns, dwCount, ppAsync);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssHardwareSnapshotProviderEx_OnReuseLuns(self: *const T, pSnapshotLuns: [*]VDS_LUN_INFORMATION, pOriginalLuns: [*]VDS_LUN_INFORMATION, dwCount: u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssHardwareSnapshotProviderEx.VTable, @ptrCast(self.vtable)).OnReuseLuns(@as(*const IVssHardwareSnapshotProviderEx, @ptrCast(self)), pSnapshotLuns, pOriginalLuns, dwCount);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
// TODO: this type is limited to platform 'windows8.1'
|
|
const IID_IVssFileShareSnapshotProvider_Value = Guid.initString("c8636060-7c2e-11df-8c4a-0800200c9a66");
|
|
pub const IID_IVssFileShareSnapshotProvider = &IID_IVssFileShareSnapshotProvider_Value;
|
|
pub const IVssFileShareSnapshotProvider = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
SetContext: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssFileShareSnapshotProvider,
|
|
lContext: i32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssFileShareSnapshotProvider,
|
|
lContext: i32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetSnapshotProperties: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssFileShareSnapshotProvider,
|
|
SnapshotId: Guid,
|
|
pProp: ?*VSS_SNAPSHOT_PROP,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssFileShareSnapshotProvider,
|
|
SnapshotId: Guid,
|
|
pProp: ?*VSS_SNAPSHOT_PROP,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
Query: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssFileShareSnapshotProvider,
|
|
QueriedObjectId: Guid,
|
|
eQueriedObjectType: VSS_OBJECT_TYPE,
|
|
eReturnedObjectsType: VSS_OBJECT_TYPE,
|
|
ppEnum: ?*?*IVssEnumObject,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssFileShareSnapshotProvider,
|
|
QueriedObjectId: Guid,
|
|
eQueriedObjectType: VSS_OBJECT_TYPE,
|
|
eReturnedObjectsType: VSS_OBJECT_TYPE,
|
|
ppEnum: ?*?*IVssEnumObject,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
DeleteSnapshots: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssFileShareSnapshotProvider,
|
|
SourceObjectId: Guid,
|
|
eSourceObjectType: VSS_OBJECT_TYPE,
|
|
bForceDelete: BOOL,
|
|
plDeletedSnapshots: ?*i32,
|
|
pNondeletedSnapshotID: ?*Guid,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssFileShareSnapshotProvider,
|
|
SourceObjectId: Guid,
|
|
eSourceObjectType: VSS_OBJECT_TYPE,
|
|
bForceDelete: BOOL,
|
|
plDeletedSnapshots: ?*i32,
|
|
pNondeletedSnapshotID: ?*Guid,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
BeginPrepareSnapshot: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssFileShareSnapshotProvider,
|
|
SnapshotSetId: Guid,
|
|
SnapshotId: Guid,
|
|
pwszSharePath: ?*u16,
|
|
lNewContext: i32,
|
|
ProviderId: Guid,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssFileShareSnapshotProvider,
|
|
SnapshotSetId: Guid,
|
|
SnapshotId: Guid,
|
|
pwszSharePath: ?*u16,
|
|
lNewContext: i32,
|
|
ProviderId: Guid,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
IsPathSupported: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssFileShareSnapshotProvider,
|
|
pwszSharePath: ?*u16,
|
|
pbSupportedByThisProvider: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssFileShareSnapshotProvider,
|
|
pwszSharePath: ?*u16,
|
|
pbSupportedByThisProvider: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
IsPathSnapshotted: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssFileShareSnapshotProvider,
|
|
pwszSharePath: ?*u16,
|
|
pbSnapshotsPresent: ?*BOOL,
|
|
plSnapshotCompatibility: ?*i32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssFileShareSnapshotProvider,
|
|
pwszSharePath: ?*u16,
|
|
pbSnapshotsPresent: ?*BOOL,
|
|
plSnapshotCompatibility: ?*i32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetSnapshotProperty: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IVssFileShareSnapshotProvider,
|
|
SnapshotId: Guid,
|
|
eSnapshotPropertyId: VSS_SNAPSHOT_PROPERTY_ID,
|
|
vProperty: VARIANT,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IVssFileShareSnapshotProvider,
|
|
SnapshotId: Guid,
|
|
eSnapshotPropertyId: VSS_SNAPSHOT_PROPERTY_ID,
|
|
vProperty: VARIANT,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssFileShareSnapshotProvider_SetContext(self: *const T, lContext: i32) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssFileShareSnapshotProvider.VTable, @ptrCast(self.vtable)).SetContext(@as(*const IVssFileShareSnapshotProvider, @ptrCast(self)), lContext);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssFileShareSnapshotProvider_GetSnapshotProperties(self: *const T, SnapshotId: Guid, pProp: ?*VSS_SNAPSHOT_PROP) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssFileShareSnapshotProvider.VTable, @ptrCast(self.vtable)).GetSnapshotProperties(@as(*const IVssFileShareSnapshotProvider, @ptrCast(self)), SnapshotId, pProp);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssFileShareSnapshotProvider_Query(self: *const T, QueriedObjectId: Guid, eQueriedObjectType: VSS_OBJECT_TYPE, eReturnedObjectsType: VSS_OBJECT_TYPE, ppEnum: ?*?*IVssEnumObject) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssFileShareSnapshotProvider.VTable, @ptrCast(self.vtable)).Query(@as(*const IVssFileShareSnapshotProvider, @ptrCast(self)), QueriedObjectId, eQueriedObjectType, eReturnedObjectsType, ppEnum);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssFileShareSnapshotProvider_DeleteSnapshots(self: *const T, SourceObjectId: Guid, eSourceObjectType: VSS_OBJECT_TYPE, bForceDelete: BOOL, plDeletedSnapshots: ?*i32, pNondeletedSnapshotID: ?*Guid) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssFileShareSnapshotProvider.VTable, @ptrCast(self.vtable)).DeleteSnapshots(@as(*const IVssFileShareSnapshotProvider, @ptrCast(self)), SourceObjectId, eSourceObjectType, bForceDelete, plDeletedSnapshots, pNondeletedSnapshotID);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssFileShareSnapshotProvider_BeginPrepareSnapshot(self: *const T, SnapshotSetId: Guid, SnapshotId: Guid, pwszSharePath: ?*u16, lNewContext: i32, ProviderId: Guid) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssFileShareSnapshotProvider.VTable, @ptrCast(self.vtable)).BeginPrepareSnapshot(@as(*const IVssFileShareSnapshotProvider, @ptrCast(self)), SnapshotSetId, SnapshotId, pwszSharePath, lNewContext, ProviderId);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssFileShareSnapshotProvider_IsPathSupported(self: *const T, pwszSharePath: ?*u16, pbSupportedByThisProvider: ?*BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssFileShareSnapshotProvider.VTable, @ptrCast(self.vtable)).IsPathSupported(@as(*const IVssFileShareSnapshotProvider, @ptrCast(self)), pwszSharePath, pbSupportedByThisProvider);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssFileShareSnapshotProvider_IsPathSnapshotted(self: *const T, pwszSharePath: ?*u16, pbSnapshotsPresent: ?*BOOL, plSnapshotCompatibility: ?*i32) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssFileShareSnapshotProvider.VTable, @ptrCast(self.vtable)).IsPathSnapshotted(@as(*const IVssFileShareSnapshotProvider, @ptrCast(self)), pwszSharePath, pbSnapshotsPresent, plSnapshotCompatibility);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IVssFileShareSnapshotProvider_SetSnapshotProperty(self: *const T, SnapshotId: Guid, eSnapshotPropertyId: VSS_SNAPSHOT_PROPERTY_ID, vProperty: VARIANT) callconv(.Inline) HRESULT {
|
|
return @as(*const IVssFileShareSnapshotProvider.VTable, @ptrCast(self.vtable)).SetSnapshotProperty(@as(*const IVssFileShareSnapshotProvider, @ptrCast(self)), SnapshotId, eSnapshotPropertyId, vProperty);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
|
|
//--------------------------------------------------------------------------------
|
|
// Section: Functions (1)
|
|
//--------------------------------------------------------------------------------
|
|
// TODO: this type is limited to platform 'windows6.1'
|
|
pub extern "vssapi" fn CreateVssExpressWriterInternal(
|
|
ppWriter: ?*?*IVssExpressWriter,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT;
|
|
|
|
|
|
//--------------------------------------------------------------------------------
|
|
// Section: Unicode Aliases (0)
|
|
//--------------------------------------------------------------------------------
|
|
const thismodule = @This();
|
|
pub usingnamespace switch (@import("../zig.zig").unicode_mode) {
|
|
.ansi => struct {
|
|
},
|
|
.wide => struct {
|
|
},
|
|
.unspecified => if (@import("builtin").is_test) struct {
|
|
} else struct {
|
|
},
|
|
};
|
|
//--------------------------------------------------------------------------------
|
|
// Section: Imports (10)
|
|
//--------------------------------------------------------------------------------
|
|
const Guid = @import("../zig.zig").Guid;
|
|
const BOOL = @import("../foundation.zig").BOOL;
|
|
const BSTR = @import("../foundation.zig").BSTR;
|
|
const FILETIME = @import("../foundation.zig").FILETIME;
|
|
const HRESULT = @import("../foundation.zig").HRESULT;
|
|
const IUnknown = @import("../system/com.zig").IUnknown;
|
|
const IXMLDOMDocument = @import("../data/xml/ms_xml.zig").IXMLDOMDocument;
|
|
const PWSTR = @import("../foundation.zig").PWSTR;
|
|
const VARIANT = @import("../system/com.zig").VARIANT;
|
|
const VDS_LUN_INFORMATION = @import("../storage/virtual_disk_service.zig").VDS_LUN_INFORMATION;
|
|
|
|
test {
|
|
@setEvalBranchQuota(
|
|
comptime @import("std").meta.declarations(@This()).len * 3
|
|
);
|
|
|
|
// reference all the pub declarations
|
|
if (!@import("builtin").is_test) return;
|
|
inline for (comptime @import("std").meta.declarations(@This())) |decl| {
|
|
_ = @field(@This(), decl.name);
|
|
}
|
|
}
|