zigwin32/win32/security/tpm.zig

363 lines
19 KiB
Zig

//! NOTE: this file is autogenerated, DO NOT MODIFY
//--------------------------------------------------------------------------------
// Section: Constants (1)
//--------------------------------------------------------------------------------
pub const TPMVSC_DEFAULT_ADMIN_ALGORITHM_ID = @as(u32, 130);
//--------------------------------------------------------------------------------
// Section: Types (9)
//--------------------------------------------------------------------------------
const CLSID_TpmVirtualSmartCardManager_Value = Guid.initString("16a18e86-7f6e-4c20-ad89-4ffc0db7a96a");
pub const CLSID_TpmVirtualSmartCardManager = &CLSID_TpmVirtualSmartCardManager_Value;
const CLSID_RemoteTpmVirtualSmartCardManager_Value = Guid.initString("152ea2a8-70dc-4c59-8b2a-32aa3ca0dcac");
pub const CLSID_RemoteTpmVirtualSmartCardManager = &CLSID_RemoteTpmVirtualSmartCardManager_Value;
pub const TPMVSC_ATTESTATION_TYPE = enum(i32) {
NONE = 0,
AIK_ONLY = 1,
AIK_AND_CERTIFICATE = 2,
};
pub const TPMVSC_ATTESTATION_NONE = TPMVSC_ATTESTATION_TYPE.NONE;
pub const TPMVSC_ATTESTATION_AIK_ONLY = TPMVSC_ATTESTATION_TYPE.AIK_ONLY;
pub const TPMVSC_ATTESTATION_AIK_AND_CERTIFICATE = TPMVSC_ATTESTATION_TYPE.AIK_AND_CERTIFICATE;
pub const TPMVSCMGR_STATUS = enum(i32) {
VTPMSMARTCARD_INITIALIZING = 0,
VTPMSMARTCARD_CREATING = 1,
VTPMSMARTCARD_DESTROYING = 2,
VGIDSSIMULATOR_INITIALIZING = 3,
VGIDSSIMULATOR_CREATING = 4,
VGIDSSIMULATOR_DESTROYING = 5,
VREADER_INITIALIZING = 6,
VREADER_CREATING = 7,
VREADER_DESTROYING = 8,
GENERATE_WAITING = 9,
GENERATE_AUTHENTICATING = 10,
GENERATE_RUNNING = 11,
CARD_CREATED = 12,
CARD_DESTROYED = 13,
};
pub const TPMVSCMGR_STATUS_VTPMSMARTCARD_INITIALIZING = TPMVSCMGR_STATUS.VTPMSMARTCARD_INITIALIZING;
pub const TPMVSCMGR_STATUS_VTPMSMARTCARD_CREATING = TPMVSCMGR_STATUS.VTPMSMARTCARD_CREATING;
pub const TPMVSCMGR_STATUS_VTPMSMARTCARD_DESTROYING = TPMVSCMGR_STATUS.VTPMSMARTCARD_DESTROYING;
pub const TPMVSCMGR_STATUS_VGIDSSIMULATOR_INITIALIZING = TPMVSCMGR_STATUS.VGIDSSIMULATOR_INITIALIZING;
pub const TPMVSCMGR_STATUS_VGIDSSIMULATOR_CREATING = TPMVSCMGR_STATUS.VGIDSSIMULATOR_CREATING;
pub const TPMVSCMGR_STATUS_VGIDSSIMULATOR_DESTROYING = TPMVSCMGR_STATUS.VGIDSSIMULATOR_DESTROYING;
pub const TPMVSCMGR_STATUS_VREADER_INITIALIZING = TPMVSCMGR_STATUS.VREADER_INITIALIZING;
pub const TPMVSCMGR_STATUS_VREADER_CREATING = TPMVSCMGR_STATUS.VREADER_CREATING;
pub const TPMVSCMGR_STATUS_VREADER_DESTROYING = TPMVSCMGR_STATUS.VREADER_DESTROYING;
pub const TPMVSCMGR_STATUS_GENERATE_WAITING = TPMVSCMGR_STATUS.GENERATE_WAITING;
pub const TPMVSCMGR_STATUS_GENERATE_AUTHENTICATING = TPMVSCMGR_STATUS.GENERATE_AUTHENTICATING;
pub const TPMVSCMGR_STATUS_GENERATE_RUNNING = TPMVSCMGR_STATUS.GENERATE_RUNNING;
pub const TPMVSCMGR_STATUS_CARD_CREATED = TPMVSCMGR_STATUS.CARD_CREATED;
pub const TPMVSCMGR_STATUS_CARD_DESTROYED = TPMVSCMGR_STATUS.CARD_DESTROYED;
pub const TPMVSCMGR_ERROR = enum(i32) {
IMPERSONATION = 0,
PIN_COMPLEXITY = 1,
READER_COUNT_LIMIT = 2,
TERMINAL_SERVICES_SESSION = 3,
VTPMSMARTCARD_INITIALIZE = 4,
VTPMSMARTCARD_CREATE = 5,
VTPMSMARTCARD_DESTROY = 6,
VGIDSSIMULATOR_INITIALIZE = 7,
VGIDSSIMULATOR_CREATE = 8,
VGIDSSIMULATOR_DESTROY = 9,
VGIDSSIMULATOR_WRITE_PROPERTY = 10,
VGIDSSIMULATOR_READ_PROPERTY = 11,
VREADER_INITIALIZE = 12,
VREADER_CREATE = 13,
VREADER_DESTROY = 14,
GENERATE_LOCATE_READER = 15,
GENERATE_FILESYSTEM = 16,
CARD_CREATE = 17,
CARD_DESTROY = 18,
};
pub const TPMVSCMGR_ERROR_IMPERSONATION = TPMVSCMGR_ERROR.IMPERSONATION;
pub const TPMVSCMGR_ERROR_PIN_COMPLEXITY = TPMVSCMGR_ERROR.PIN_COMPLEXITY;
pub const TPMVSCMGR_ERROR_READER_COUNT_LIMIT = TPMVSCMGR_ERROR.READER_COUNT_LIMIT;
pub const TPMVSCMGR_ERROR_TERMINAL_SERVICES_SESSION = TPMVSCMGR_ERROR.TERMINAL_SERVICES_SESSION;
pub const TPMVSCMGR_ERROR_VTPMSMARTCARD_INITIALIZE = TPMVSCMGR_ERROR.VTPMSMARTCARD_INITIALIZE;
pub const TPMVSCMGR_ERROR_VTPMSMARTCARD_CREATE = TPMVSCMGR_ERROR.VTPMSMARTCARD_CREATE;
pub const TPMVSCMGR_ERROR_VTPMSMARTCARD_DESTROY = TPMVSCMGR_ERROR.VTPMSMARTCARD_DESTROY;
pub const TPMVSCMGR_ERROR_VGIDSSIMULATOR_INITIALIZE = TPMVSCMGR_ERROR.VGIDSSIMULATOR_INITIALIZE;
pub const TPMVSCMGR_ERROR_VGIDSSIMULATOR_CREATE = TPMVSCMGR_ERROR.VGIDSSIMULATOR_CREATE;
pub const TPMVSCMGR_ERROR_VGIDSSIMULATOR_DESTROY = TPMVSCMGR_ERROR.VGIDSSIMULATOR_DESTROY;
pub const TPMVSCMGR_ERROR_VGIDSSIMULATOR_WRITE_PROPERTY = TPMVSCMGR_ERROR.VGIDSSIMULATOR_WRITE_PROPERTY;
pub const TPMVSCMGR_ERROR_VGIDSSIMULATOR_READ_PROPERTY = TPMVSCMGR_ERROR.VGIDSSIMULATOR_READ_PROPERTY;
pub const TPMVSCMGR_ERROR_VREADER_INITIALIZE = TPMVSCMGR_ERROR.VREADER_INITIALIZE;
pub const TPMVSCMGR_ERROR_VREADER_CREATE = TPMVSCMGR_ERROR.VREADER_CREATE;
pub const TPMVSCMGR_ERROR_VREADER_DESTROY = TPMVSCMGR_ERROR.VREADER_DESTROY;
pub const TPMVSCMGR_ERROR_GENERATE_LOCATE_READER = TPMVSCMGR_ERROR.GENERATE_LOCATE_READER;
pub const TPMVSCMGR_ERROR_GENERATE_FILESYSTEM = TPMVSCMGR_ERROR.GENERATE_FILESYSTEM;
pub const TPMVSCMGR_ERROR_CARD_CREATE = TPMVSCMGR_ERROR.CARD_CREATE;
pub const TPMVSCMGR_ERROR_CARD_DESTROY = TPMVSCMGR_ERROR.CARD_DESTROY;
// TODO: this type is limited to platform 'windows8.0'
const IID_ITpmVirtualSmartCardManagerStatusCallback_Value = Guid.initString("1a1bb35f-abb8-451c-a1ae-33d98f1bef4a");
pub const IID_ITpmVirtualSmartCardManagerStatusCallback = &IID_ITpmVirtualSmartCardManagerStatusCallback_Value;
pub const ITpmVirtualSmartCardManagerStatusCallback = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
ReportProgress: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ITpmVirtualSmartCardManagerStatusCallback,
Status: TPMVSCMGR_STATUS,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ITpmVirtualSmartCardManagerStatusCallback,
Status: TPMVSCMGR_STATUS,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
ReportError: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ITpmVirtualSmartCardManagerStatusCallback,
Error: TPMVSCMGR_ERROR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ITpmVirtualSmartCardManagerStatusCallback,
Error: TPMVSCMGR_ERROR,
) 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 ITpmVirtualSmartCardManagerStatusCallback_ReportProgress(self: *const T, Status: TPMVSCMGR_STATUS) callconv(.Inline) HRESULT {
return @as(*const ITpmVirtualSmartCardManagerStatusCallback.VTable, @ptrCast(self.vtable)).ReportProgress(@as(*const ITpmVirtualSmartCardManagerStatusCallback, @ptrCast(self)), Status);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ITpmVirtualSmartCardManagerStatusCallback_ReportError(self: *const T, Error: TPMVSCMGR_ERROR) callconv(.Inline) HRESULT {
return @as(*const ITpmVirtualSmartCardManagerStatusCallback.VTable, @ptrCast(self.vtable)).ReportError(@as(*const ITpmVirtualSmartCardManagerStatusCallback, @ptrCast(self)), Error);
}
};}
pub usingnamespace MethodMixin(@This());
};
// TODO: this type is limited to platform 'windows8.0'
const IID_ITpmVirtualSmartCardManager_Value = Guid.initString("112b1dff-d9dc-41f7-869f-d67fee7cb591");
pub const IID_ITpmVirtualSmartCardManager = &IID_ITpmVirtualSmartCardManager_Value;
pub const ITpmVirtualSmartCardManager = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
CreateVirtualSmartCard: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ITpmVirtualSmartCardManager,
pszFriendlyName: ?[*:0]const u16,
bAdminAlgId: u8,
pbAdminKey: [*:0]const u8,
cbAdminKey: u32,
pbAdminKcv: [*:0]const u8,
cbAdminKcv: u32,
pbPuk: [*:0]const u8,
cbPuk: u32,
pbPin: [*:0]const u8,
cbPin: u32,
fGenerate: BOOL,
pStatusCallback: ?*ITpmVirtualSmartCardManagerStatusCallback,
ppszInstanceId: ?*?PWSTR,
pfNeedReboot: ?*BOOL,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ITpmVirtualSmartCardManager,
pszFriendlyName: ?[*:0]const u16,
bAdminAlgId: u8,
pbAdminKey: [*:0]const u8,
cbAdminKey: u32,
pbAdminKcv: [*:0]const u8,
cbAdminKcv: u32,
pbPuk: [*:0]const u8,
cbPuk: u32,
pbPin: [*:0]const u8,
cbPin: u32,
fGenerate: BOOL,
pStatusCallback: ?*ITpmVirtualSmartCardManagerStatusCallback,
ppszInstanceId: ?*?PWSTR,
pfNeedReboot: ?*BOOL,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
DestroyVirtualSmartCard: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ITpmVirtualSmartCardManager,
pszInstanceId: ?[*:0]const u16,
pStatusCallback: ?*ITpmVirtualSmartCardManagerStatusCallback,
pfNeedReboot: ?*BOOL,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ITpmVirtualSmartCardManager,
pszInstanceId: ?[*:0]const u16,
pStatusCallback: ?*ITpmVirtualSmartCardManagerStatusCallback,
pfNeedReboot: ?*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 ITpmVirtualSmartCardManager_CreateVirtualSmartCard(self: *const T, pszFriendlyName: ?[*:0]const u16, bAdminAlgId: u8, pbAdminKey: [*:0]const u8, cbAdminKey: u32, pbAdminKcv: [*:0]const u8, cbAdminKcv: u32, pbPuk: [*:0]const u8, cbPuk: u32, pbPin: [*:0]const u8, cbPin: u32, fGenerate: BOOL, pStatusCallback: ?*ITpmVirtualSmartCardManagerStatusCallback, ppszInstanceId: ?*?PWSTR, pfNeedReboot: ?*BOOL) callconv(.Inline) HRESULT {
return @as(*const ITpmVirtualSmartCardManager.VTable, @ptrCast(self.vtable)).CreateVirtualSmartCard(@as(*const ITpmVirtualSmartCardManager, @ptrCast(self)), pszFriendlyName, bAdminAlgId, pbAdminKey, cbAdminKey, pbAdminKcv, cbAdminKcv, pbPuk, cbPuk, pbPin, cbPin, fGenerate, pStatusCallback, ppszInstanceId, pfNeedReboot);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ITpmVirtualSmartCardManager_DestroyVirtualSmartCard(self: *const T, pszInstanceId: ?[*:0]const u16, pStatusCallback: ?*ITpmVirtualSmartCardManagerStatusCallback, pfNeedReboot: ?*BOOL) callconv(.Inline) HRESULT {
return @as(*const ITpmVirtualSmartCardManager.VTable, @ptrCast(self.vtable)).DestroyVirtualSmartCard(@as(*const ITpmVirtualSmartCardManager, @ptrCast(self)), pszInstanceId, pStatusCallback, pfNeedReboot);
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_ITpmVirtualSmartCardManager2_Value = Guid.initString("fdf8a2b9-02de-47f4-bc26-aa85ab5e5267");
pub const IID_ITpmVirtualSmartCardManager2 = &IID_ITpmVirtualSmartCardManager2_Value;
pub const ITpmVirtualSmartCardManager2 = extern struct {
pub const VTable = extern struct {
base: ITpmVirtualSmartCardManager.VTable,
CreateVirtualSmartCardWithPinPolicy: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ITpmVirtualSmartCardManager2,
pszFriendlyName: ?[*:0]const u16,
bAdminAlgId: u8,
pbAdminKey: [*:0]const u8,
cbAdminKey: u32,
pbAdminKcv: [*:0]const u8,
cbAdminKcv: u32,
pbPuk: [*:0]const u8,
cbPuk: u32,
pbPin: [*:0]const u8,
cbPin: u32,
pbPinPolicy: [*:0]const u8,
cbPinPolicy: u32,
fGenerate: BOOL,
pStatusCallback: ?*ITpmVirtualSmartCardManagerStatusCallback,
ppszInstanceId: ?*?PWSTR,
pfNeedReboot: ?*BOOL,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ITpmVirtualSmartCardManager2,
pszFriendlyName: ?[*:0]const u16,
bAdminAlgId: u8,
pbAdminKey: [*:0]const u8,
cbAdminKey: u32,
pbAdminKcv: [*:0]const u8,
cbAdminKcv: u32,
pbPuk: [*:0]const u8,
cbPuk: u32,
pbPin: [*:0]const u8,
cbPin: u32,
pbPinPolicy: [*:0]const u8,
cbPinPolicy: u32,
fGenerate: BOOL,
pStatusCallback: ?*ITpmVirtualSmartCardManagerStatusCallback,
ppszInstanceId: ?*?PWSTR,
pfNeedReboot: ?*BOOL,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace ITpmVirtualSmartCardManager.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ITpmVirtualSmartCardManager2_CreateVirtualSmartCardWithPinPolicy(self: *const T, pszFriendlyName: ?[*:0]const u16, bAdminAlgId: u8, pbAdminKey: [*:0]const u8, cbAdminKey: u32, pbAdminKcv: [*:0]const u8, cbAdminKcv: u32, pbPuk: [*:0]const u8, cbPuk: u32, pbPin: [*:0]const u8, cbPin: u32, pbPinPolicy: [*:0]const u8, cbPinPolicy: u32, fGenerate: BOOL, pStatusCallback: ?*ITpmVirtualSmartCardManagerStatusCallback, ppszInstanceId: ?*?PWSTR, pfNeedReboot: ?*BOOL) callconv(.Inline) HRESULT {
return @as(*const ITpmVirtualSmartCardManager2.VTable, @ptrCast(self.vtable)).CreateVirtualSmartCardWithPinPolicy(@as(*const ITpmVirtualSmartCardManager2, @ptrCast(self)), pszFriendlyName, bAdminAlgId, pbAdminKey, cbAdminKey, pbAdminKcv, cbAdminKcv, pbPuk, cbPuk, pbPin, cbPin, pbPinPolicy, cbPinPolicy, fGenerate, pStatusCallback, ppszInstanceId, pfNeedReboot);
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_ITpmVirtualSmartCardManager3_Value = Guid.initString("3c745a97-f375-4150-be17-5950f694c699");
pub const IID_ITpmVirtualSmartCardManager3 = &IID_ITpmVirtualSmartCardManager3_Value;
pub const ITpmVirtualSmartCardManager3 = extern struct {
pub const VTable = extern struct {
base: ITpmVirtualSmartCardManager2.VTable,
CreateVirtualSmartCardWithAttestation: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ITpmVirtualSmartCardManager3,
pszFriendlyName: ?[*:0]const u16,
bAdminAlgId: u8,
pbAdminKey: [*:0]const u8,
cbAdminKey: u32,
pbAdminKcv: [*:0]const u8,
cbAdminKcv: u32,
pbPuk: [*:0]const u8,
cbPuk: u32,
pbPin: [*:0]const u8,
cbPin: u32,
pbPinPolicy: [*:0]const u8,
cbPinPolicy: u32,
attestationType: TPMVSC_ATTESTATION_TYPE,
fGenerate: BOOL,
pStatusCallback: ?*ITpmVirtualSmartCardManagerStatusCallback,
ppszInstanceId: ?*?PWSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ITpmVirtualSmartCardManager3,
pszFriendlyName: ?[*:0]const u16,
bAdminAlgId: u8,
pbAdminKey: [*:0]const u8,
cbAdminKey: u32,
pbAdminKcv: [*:0]const u8,
cbAdminKcv: u32,
pbPuk: [*:0]const u8,
cbPuk: u32,
pbPin: [*:0]const u8,
cbPin: u32,
pbPinPolicy: [*:0]const u8,
cbPinPolicy: u32,
attestationType: TPMVSC_ATTESTATION_TYPE,
fGenerate: BOOL,
pStatusCallback: ?*ITpmVirtualSmartCardManagerStatusCallback,
ppszInstanceId: ?*?PWSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace ITpmVirtualSmartCardManager2.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ITpmVirtualSmartCardManager3_CreateVirtualSmartCardWithAttestation(self: *const T, pszFriendlyName: ?[*:0]const u16, bAdminAlgId: u8, pbAdminKey: [*:0]const u8, cbAdminKey: u32, pbAdminKcv: [*:0]const u8, cbAdminKcv: u32, pbPuk: [*:0]const u8, cbPuk: u32, pbPin: [*:0]const u8, cbPin: u32, pbPinPolicy: [*:0]const u8, cbPinPolicy: u32, attestationType: TPMVSC_ATTESTATION_TYPE, fGenerate: BOOL, pStatusCallback: ?*ITpmVirtualSmartCardManagerStatusCallback, ppszInstanceId: ?*?PWSTR) callconv(.Inline) HRESULT {
return @as(*const ITpmVirtualSmartCardManager3.VTable, @ptrCast(self.vtable)).CreateVirtualSmartCardWithAttestation(@as(*const ITpmVirtualSmartCardManager3, @ptrCast(self)), pszFriendlyName, bAdminAlgId, pbAdminKey, cbAdminKey, pbAdminKcv, cbAdminKcv, pbPuk, cbPuk, pbPin, cbPin, pbPinPolicy, cbPinPolicy, attestationType, fGenerate, pStatusCallback, ppszInstanceId);
}
};}
pub usingnamespace MethodMixin(@This());
};
//--------------------------------------------------------------------------------
// Section: Functions (0)
//--------------------------------------------------------------------------------
//--------------------------------------------------------------------------------
// 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 (5)
//--------------------------------------------------------------------------------
const Guid = @import("../zig.zig").Guid;
const BOOL = @import("../foundation.zig").BOOL;
const HRESULT = @import("../foundation.zig").HRESULT;
const IUnknown = @import("../system/com.zig").IUnknown;
const PWSTR = @import("../foundation.zig").PWSTR;
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);
}
}