21.0.3-preview

This commit is contained in:
Jonathan Marler 2023-08-13 07:49:39 -06:00
parent edf052e8f1
commit e61d5e9cc1
543 changed files with 2607053 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
zig-cache/

7
LICENSE Normal file
View File

@ -0,0 +1,7 @@
Copyright 2021 Jonathan Marler
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

5
README.md Normal file
View File

@ -0,0 +1,5 @@
# zigwin32
A complete autogenerated set of Zig bindings for the Win32 API.
These bindings are generated by https://github.com/marlersoft/zigwin32gen

7
build.zig Normal file
View File

@ -0,0 +1,7 @@
const std = @import("std");
pub fn build(b: *std.Build) void {
_ = b.addModule("zigwin32", .{
.source_file = .{ .path = "win32.zig" },
});
}

11
src/win32.zig Normal file
View File

@ -0,0 +1,11 @@
//! NOTE: this file is autogenerated, DO NOT MODIFY
pub const api = @import("win32/api.zig");
pub const zig = @import("win32/zig.zig");
pub const missing = @import("win32/missing.zig");
pub const windowlongptr = @import("win32/windowlongptr.zig");
pub const everything = @import("win32/everything.zig");
const std = @import("std");
test {
std.testing.refAllDecls(@This());
}

207
src/win32/api.zig Normal file
View File

@ -0,0 +1,207 @@
//! NOTE: this file is autogenerated, DO NOT MODIFY
pub const active_directory = @import("api/active_directory.zig");
pub const all_joyn = @import("api/all_joyn.zig");
pub const antimalware = @import("api/antimalware.zig");
pub const application_installation_and_servicing = @import("api/application_installation_and_servicing.zig");
pub const appx_packaging = @import("api/appx_packaging.zig");
pub const audio = @import("api/audio.zig");
pub const automation = @import("api/automation.zig");
pub const background_intelligent_transfer_service = @import("api/background_intelligent_transfer_service.zig");
pub const bluetooth = @import("api/bluetooth.zig");
pub const cloud_filters = @import("api/cloud_filters.zig");
pub const com = @import("api/com.zig");
pub const component_services = @import("api/component_services.zig");
pub const compression = @import("api/compression.zig");
pub const controls = @import("api/controls.zig");
pub const core_audio = @import("api/core_audio.zig");
pub const data_deduplication = @import("api/data_deduplication.zig");
pub const data_exchange = @import("api/data_exchange.zig");
pub const debug = @import("api/debug.zig");
pub const developer_licensing = @import("api/developer_licensing.zig");
pub const device_access = @import("api/device_access.zig");
pub const device_and_driver_installation = @import("api/device_and_driver_installation.zig");
pub const dhcp = @import("api/dhcp.zig");
pub const direct2d = @import("api/direct2d.zig");
pub const direct3d10 = @import("api/direct3d10.zig");
pub const direct3d11 = @import("api/direct3d11.zig");
pub const direct3d12 = @import("api/direct3d12.zig");
pub const direct3d9 = @import("api/direct3d9.zig");
pub const direct3dhlsl = @import("api/direct3dhlsl.zig");
pub const direct_composition = @import("api/direct_composition.zig");
pub const direct_draw = @import("api/direct_draw.zig");
pub const direct_manipulation = @import("api/direct_manipulation.zig");
pub const direct_ml = @import("api/direct_ml.zig");
pub const direct_show = @import("api/direct_show.zig");
pub const direct_write = @import("api/direct_write.zig");
pub const display_devices = @import("api/display_devices.zig");
pub const distributed_file_system = @import("api/distributed_file_system.zig");
pub const dns = @import("api/dns.zig");
pub const dwm = @import("api/dwm.zig");
pub const dxgi = @import("api/dxgi.zig");
pub const enhanced_storage = @import("api/enhanced_storage.zig");
pub const etw = @import("api/etw.zig");
pub const extensible_authentication_protocol = @import("api/extensible_authentication_protocol.zig");
pub const fax = @import("api/fax.zig");
pub const file_sever_resource_manager = @import("api/file_sever_resource_manager.zig");
pub const file_system = @import("api/file_system.zig");
pub const game_mode = @import("api/game_mode.zig");
pub const gaming_device_info = @import("api/gaming_device_info.zig");
pub const gdi = @import("api/gdi.zig");
pub const group_policy_management_console = @import("api/group_policy_management_console.zig");
pub const hardware_counter_profiling = @import("api/hardware_counter_profiling.zig");
pub const hid = @import("api/hid.zig");
pub const hi_dpi = @import("api/hi_dpi.zig");
pub const html_help = @import("api/html_help.zig");
pub const http = @import("api/http.zig");
pub const hypervisor = @import("api/hypervisor.zig");
pub const imapi = @import("api/imapi.zig");
pub const index_server = @import("api/index_server.zig");
pub const ink_input = @import("api/ink_input.zig");
pub const installable_file_systems = @import("api/installable_file_systems.zig");
pub const interaction_context = @import("api/interaction_context.zig");
pub const internet_explorer = @import("api/internet_explorer.zig");
pub const intl = @import("api/intl.zig");
pub const ip_helper = @import("api/ip_helper.zig");
pub const iscsi_disc = @import("api/iscsi_disc.zig");
pub const js = @import("api/js.zig");
pub const kernel = @import("api/kernel.zig");
pub const keyboard_and_mouse_input = @import("api/keyboard_and_mouse_input.zig");
pub const ldap = @import("api/ldap.zig");
pub const legacy_windows_environment_features = @import("api/legacy_windows_environment_features.zig");
pub const location = @import("api/location.zig");
pub const machine_learning = @import("api/machine_learning.zig");
pub const magnification = @import("api/magnification.zig");
pub const mapi = @import("api/mapi.zig");
pub const mbn = @import("api/mbn.zig");
pub const media_foundation = @import("api/media_foundation.zig");
pub const media_transport = @import("api/media_transport.zig");
pub const menus_and_resources = @import("api/menus_and_resources.zig");
pub const mib = @import("api/mib.zig");
pub const mixed_reality = @import("api/mixed_reality.zig");
pub const mmc = @import("api/mmc.zig");
pub const mobile_broadband = @import("api/mobile_broadband.zig");
pub const mobile_device_management_registration = @import("api/mobile_device_management_registration.zig");
pub const monitor = @import("api/monitor.zig");
pub const multicast = @import("api/multicast.zig");
pub const multimedia = @import("api/multimedia.zig");
pub const native_wi_fi = @import("api/native_wi_fi.zig");
pub const net_bios = @import("api/net_bios.zig");
pub const net_management = @import("api/net_management.zig");
pub const net_shell = @import("api/net_shell.zig");
pub const network_diagnostics_framework = @import("api/network_diagnostics_framework.zig");
pub const network_drivers = @import("api/network_drivers.zig");
pub const network_list_manager = @import("api/network_list_manager.zig");
pub const network_policy_server = @import("api/network_policy_server.zig");
pub const offline_files = @import("api/offline_files.zig");
pub const open_gl = @import("api/open_gl.zig");
pub const operation_recorder = @import("api/operation_recorder.zig");
pub const other_device_technologies = @import("api/other_device_technologies.zig");
pub const p2p = @import("api/p2p.zig");
pub const packaging = @import("api/packaging.zig");
pub const parental_controls = @import("api/parental_controls.zig");
pub const password_management = @import("api/password_management.zig");
pub const perf = @import("api/perf.zig");
pub const performance_log_and_alerts = @import("api/performance_log_and_alerts.zig");
pub const photo_acquire = @import("api/photo_acquire.zig");
pub const pointer_input = @import("api/pointer_input.zig");
pub const policy = @import("api/policy.zig");
pub const power = @import("api/power.zig");
pub const print_docs = @import("api/print_docs.zig");
pub const process_snapshotting = @import("api/process_snapshotting.zig");
pub const process_status = @import("api/process_status.zig");
pub const projected_file_system = @import("api/projected_file_system.zig");
pub const quality_of_service = @import("api/quality_of_service.zig");
pub const radial_input = @import("api/radial_input.zig");
pub const recovery = @import("api/recovery.zig");
pub const remote_assistance = @import("api/remote_assistance.zig");
pub const remote_desktop_services = @import("api/remote_desktop_services.zig");
pub const remote_differential_compression = @import("api/remote_differential_compression.zig");
pub const restart_manager = @import("api/restart_manager.zig");
pub const rights_management = @import("api/rights_management.zig");
pub const routing_and_remote_access_service = @import("api/routing_and_remote_access_service.zig");
pub const rpc = @import("api/rpc.zig");
pub const search = @import("api/search.zig");
pub const security = @import("api/security.zig");
pub const sensors = @import("api/sensors.zig");
pub const serial_controller = @import("api/serial_controller.zig");
pub const settings_management_infrastructure = @import("api/settings_management_infrastructure.zig");
pub const shell = @import("api/shell.zig");
pub const snmp = @import("api/snmp.zig");
pub const software_device = @import("api/software_device.zig");
pub const speech = @import("api/speech.zig");
pub const streaming_media = @import("api/streaming_media.zig");
pub const structured_storage = @import("api/structured_storage.zig");
pub const sync = @import("api/sync.zig");
pub const system_event_notification_service = @import("api/system_event_notification_service.zig");
pub const system_restore = @import("api/system_restore.zig");
pub const system_services = @import("api/system_services.zig");
pub const tablet_pc = @import("api/tablet_pc.zig");
pub const tapi = @import("api/tapi.zig");
pub const task_scheduler = @import("api/task_scheduler.zig");
pub const text_services = @import("api/text_services.zig");
pub const tiles_badges_notifications = @import("api/tiles_badges_notifications.zig");
pub const title_callable_ui = @import("api/title_callable_ui.zig");
pub const tool_help = @import("api/tool_help.zig");
pub const touch_input = @import("api/touch_input.zig");
pub const tpm_base_services = @import("api/tpm_base_services.zig");
pub const uianimation = @import("api/uianimation.zig");
pub const upnp = @import("api/upnp.zig");
pub const usb_drivers = @import("api/usb_drivers.zig");
pub const user_access_logging = @import("api/user_access_logging.zig");
pub const vhd = @import("api/vhd.zig");
pub const web_dav = @import("api/web_dav.zig");
pub const web_sock = @import("api/web_sock.zig");
pub const wia = @import("api/wia.zig");
pub const windows_accessibility = @import("api/windows_accessibility.zig");
pub const windows_address_book = @import("api/windows_address_book.zig");
pub const windows_and_messaging = @import("api/windows_and_messaging.zig");
pub const windows_biometric_framework = @import("api/windows_biometric_framework.zig");
pub const windows_clustering = @import("api/windows_clustering.zig");
pub const windows_color_system = @import("api/windows_color_system.zig");
pub const windows_connection_manager = @import("api/windows_connection_manager.zig");
pub const windows_connect_now = @import("api/windows_connect_now.zig");
pub const windows_contacts = @import("api/windows_contacts.zig");
pub const windows_deployment_services = @import("api/windows_deployment_services.zig");
pub const windows_desktop_sharing = @import("api/windows_desktop_sharing.zig");
pub const windows_error_reporting = @import("api/windows_error_reporting.zig");
pub const windows_event_collector = @import("api/windows_event_collector.zig");
pub const windows_event_log = @import("api/windows_event_log.zig");
pub const windows_filtering = @import("api/windows_filtering.zig");
pub const windows_firewall = @import("api/windows_firewall.zig");
pub const windows_imaging_component = @import("api/windows_imaging_component.zig");
pub const windows_information_protection = @import("api/windows_information_protection.zig");
pub const windows_media_device_manager = @import("api/windows_media_device_manager.zig");
pub const windows_media_format = @import("api/windows_media_format.zig");
pub const windows_media_library_sharing_services = @import("api/windows_media_library_sharing_services.zig");
pub const windows_media_player = @import("api/windows_media_player.zig");
pub const windows_networking = @import("api/windows_networking.zig");
pub const windows_network_virtualization = @import("api/windows_network_virtualization.zig");
pub const windows_portable_devices = @import("api/windows_portable_devices.zig");
pub const windows_programming = @import("api/windows_programming.zig");
pub const windows_properties_system = @import("api/windows_properties_system.zig");
pub const windows_remote_management = @import("api/windows_remote_management.zig");
pub const windows_ribbon = @import("api/windows_ribbon.zig");
pub const windows_server_backup = @import("api/windows_server_backup.zig");
pub const windows_setup_and_migration = @import("api/windows_setup_and_migration.zig");
pub const windows_stations_and_desktops = @import("api/windows_stations_and_desktops.zig");
pub const windows_subsystem_for_linux = @import("api/windows_subsystem_for_linux.zig");
pub const windows_sync = @import("api/windows_sync.zig");
pub const windows_system_assessment_tool = @import("api/windows_system_assessment_tool.zig");
pub const windows_update_agent = @import("api/windows_update_agent.zig");
pub const windows_web_services = @import("api/windows_web_services.zig");
pub const win_inet = @import("api/win_inet.zig");
pub const win_rt = @import("api/win_rt.zig");
pub const win_sock = @import("api/win_sock.zig");
pub const wmi = @import("api/wmi.zig");
pub const wpf_bitmap_effects = @import("api/wpf_bitmap_effects.zig");
pub const xaml_diagnostics = @import("api/xaml_diagnostics.zig");
pub const xaudio2 = @import("api/xaudio2.zig");
pub const xblidp = @import("api/xblidp.zig");
pub const xinput = @import("api/xinput.zig");
pub const xml_http_extended_request = @import("api/xml_http_extended_request.zig");
pub const xps = @import("api/xps.zig");
test {
const api_count = 201;
@setEvalBranchQuota(api_count);
@import("std").testing.refAllDecls(@This());
}

File diff suppressed because it is too large Load Diff

4404
src/win32/api/all_joyn.zig Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,361 @@
//! NOTE: this file is autogenerated, DO NOT MODIFY
//--------------------------------------------------------------------------------
// Section: Constants (0)
//--------------------------------------------------------------------------------
//--------------------------------------------------------------------------------
// Section: Types (18)
//--------------------------------------------------------------------------------
pub const AMSI_RESULT = extern enum(i32) {
CLEAN = 0,
NOT_DETECTED = 1,
BLOCKED_BY_ADMIN_START = 16384,
BLOCKED_BY_ADMIN_END = 20479,
DETECTED = 32768,
};
pub const AMSI_RESULT_CLEAN = AMSI_RESULT.CLEAN;
pub const AMSI_RESULT_NOT_DETECTED = AMSI_RESULT.NOT_DETECTED;
pub const AMSI_RESULT_BLOCKED_BY_ADMIN_START = AMSI_RESULT.BLOCKED_BY_ADMIN_START;
pub const AMSI_RESULT_BLOCKED_BY_ADMIN_END = AMSI_RESULT.BLOCKED_BY_ADMIN_END;
pub const AMSI_RESULT_DETECTED = AMSI_RESULT.DETECTED;
pub const AMSI_ATTRIBUTE = extern enum(i32) {
APP_NAME = 0,
CONTENT_NAME = 1,
CONTENT_SIZE = 2,
CONTENT_ADDRESS = 3,
SESSION = 4,
REDIRECT_CHAIN_SIZE = 5,
REDIRECT_CHAIN_ADDRESS = 6,
ALL_SIZE = 7,
ALL_ADDRESS = 8,
QUIET = 9,
};
pub const AMSI_ATTRIBUTE_APP_NAME = AMSI_ATTRIBUTE.APP_NAME;
pub const AMSI_ATTRIBUTE_CONTENT_NAME = AMSI_ATTRIBUTE.CONTENT_NAME;
pub const AMSI_ATTRIBUTE_CONTENT_SIZE = AMSI_ATTRIBUTE.CONTENT_SIZE;
pub const AMSI_ATTRIBUTE_CONTENT_ADDRESS = AMSI_ATTRIBUTE.CONTENT_ADDRESS;
pub const AMSI_ATTRIBUTE_SESSION = AMSI_ATTRIBUTE.SESSION;
pub const AMSI_ATTRIBUTE_REDIRECT_CHAIN_SIZE = AMSI_ATTRIBUTE.REDIRECT_CHAIN_SIZE;
pub const AMSI_ATTRIBUTE_REDIRECT_CHAIN_ADDRESS = AMSI_ATTRIBUTE.REDIRECT_CHAIN_ADDRESS;
pub const AMSI_ATTRIBUTE_ALL_SIZE = AMSI_ATTRIBUTE.ALL_SIZE;
pub const AMSI_ATTRIBUTE_ALL_ADDRESS = AMSI_ATTRIBUTE.ALL_ADDRESS;
pub const AMSI_ATTRIBUTE_QUIET = AMSI_ATTRIBUTE.QUIET;
pub const AMSI_UAC_REQUEST_TYPE = extern enum(i32) {
EXE = 0,
COM = 1,
MSI = 2,
AX = 3,
PACKAGED_APP = 4,
MAX = 5,
};
pub const AMSI_UAC_REQUEST_TYPE_EXE = AMSI_UAC_REQUEST_TYPE.EXE;
pub const AMSI_UAC_REQUEST_TYPE_COM = AMSI_UAC_REQUEST_TYPE.COM;
pub const AMSI_UAC_REQUEST_TYPE_MSI = AMSI_UAC_REQUEST_TYPE.MSI;
pub const AMSI_UAC_REQUEST_TYPE_AX = AMSI_UAC_REQUEST_TYPE.AX;
pub const AMSI_UAC_REQUEST_TYPE_PACKAGED_APP = AMSI_UAC_REQUEST_TYPE.PACKAGED_APP;
pub const AMSI_UAC_REQUEST_TYPE_MAX = AMSI_UAC_REQUEST_TYPE.MAX;
pub const AMSI_UAC_TRUST_STATE = extern enum(i32) {
TRUSTED = 0,
UNTRUSTED = 1,
BLOCKED = 2,
MAX = 3,
};
pub const AMSI_UAC_TRUST_STATE_TRUSTED = AMSI_UAC_TRUST_STATE.TRUSTED;
pub const AMSI_UAC_TRUST_STATE_UNTRUSTED = AMSI_UAC_TRUST_STATE.UNTRUSTED;
pub const AMSI_UAC_TRUST_STATE_BLOCKED = AMSI_UAC_TRUST_STATE.BLOCKED;
pub const AMSI_UAC_TRUST_STATE_MAX = AMSI_UAC_TRUST_STATE.MAX;
pub const AMSI_UAC_MSI_ACTION = extern enum(i32) {
INSTALL = 0,
UNINSTALL = 1,
UPDATE = 2,
MAINTENANCE = 3,
MAX = 4,
};
pub const AMSI_UAC_MSI_ACTION_INSTALL = AMSI_UAC_MSI_ACTION.INSTALL;
pub const AMSI_UAC_MSI_ACTION_UNINSTALL = AMSI_UAC_MSI_ACTION.UNINSTALL;
pub const AMSI_UAC_MSI_ACTION_UPDATE = AMSI_UAC_MSI_ACTION.UPDATE;
pub const AMSI_UAC_MSI_ACTION_MAINTENANCE = AMSI_UAC_MSI_ACTION.MAINTENANCE;
pub const AMSI_UAC_MSI_ACTION_MAX = AMSI_UAC_MSI_ACTION.MAX;
pub const AMSI_UAC_REQUEST_EXE_INFO = extern struct {
ulLength: u32,
lpwszApplicationName: PWSTR,
lpwszCommandLine: PWSTR,
lpwszDLLParameter: PWSTR,
};
pub const AMSI_UAC_REQUEST_COM_INFO = extern struct {
ulLength: u32,
lpwszServerBinary: PWSTR,
lpwszRequestor: PWSTR,
Clsid: Guid,
};
pub const AMSI_UAC_REQUEST_MSI_INFO = extern struct {
ulLength: u32,
MsiAction: AMSI_UAC_MSI_ACTION,
lpwszProductName: PWSTR,
lpwszVersion: PWSTR,
lpwszLanguage: PWSTR,
lpwszManufacturer: PWSTR,
lpwszPackagePath: PWSTR,
lpwszPackageSource: PWSTR,
ulUpdates: u32,
ppwszUpdates: *PWSTR,
ppwszUpdateSources: *PWSTR,
};
pub const AMSI_UAC_REQUEST_AX_INFO = extern struct {
ulLength: u32,
lpwszLocalInstallPath: PWSTR,
lpwszSourceURL: PWSTR,
};
pub const AMSI_UAC_REQUEST_PACKAGED_APP_INFO = extern struct {
ulLength: u32,
lpwszApplicationName: PWSTR,
lpwszCommandLine: PWSTR,
lpPackageFamilyName: PWSTR,
lpApplicationId: PWSTR,
};
pub const AMSI_UAC_REQUEST_CONTEXT = extern struct {
ulLength: u32,
ulRequestorProcessId: u32,
UACTrustState: AMSI_UAC_TRUST_STATE,
Type: AMSI_UAC_REQUEST_TYPE,
RequestType: _RequestType_e__Union,
bAutoElevateRequest: BOOL,
const _RequestType_e__Union = u32; // TODO: generate this nested type!
};
// TODO: this type is limited to platform 'windows10.0.10240'
const IID_IAmsiStream_Value = @import("../zig.zig").Guid.initString("3e47f2e5-81d4-4d3b-897f-545096770373");
pub const IID_IAmsiStream = &IID_IAmsiStream_Value;
pub const IAmsiStream = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
GetAttribute: fn(
self: *const IAmsiStream,
attribute: AMSI_ATTRIBUTE,
dataSize: u32,
data: [*:0]u8,
retData: *u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
Read: fn(
self: *const IAmsiStream,
position: u64,
size: u32,
buffer: [*:0]u8,
readSize: *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 IAmsiStream_GetAttribute(self: *const T, attribute: AMSI_ATTRIBUTE, dataSize: u32, data: [*:0]u8, retData: *u32) callconv(.Inline) HRESULT {
return @ptrCast(*const IAmsiStream.VTable, self.vtable).GetAttribute(@ptrCast(*const IAmsiStream, self), attribute, dataSize, data, retData);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IAmsiStream_Read(self: *const T, position: u64, size: u32, buffer: [*:0]u8, readSize: *u32) callconv(.Inline) HRESULT {
return @ptrCast(*const IAmsiStream.VTable, self.vtable).Read(@ptrCast(*const IAmsiStream, self), position, size, buffer, readSize);
}
};}
pub usingnamespace MethodMixin(@This());
};
// TODO: this type is limited to platform 'windows10.0.10240'
const IID_IAntimalwareProvider_Value = @import("../zig.zig").Guid.initString("b2cabfe3-fe04-42b1-a5df-08d483d4d125");
pub const IID_IAntimalwareProvider = &IID_IAntimalwareProvider_Value;
pub const IAntimalwareProvider = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
Scan: fn(
self: *const IAntimalwareProvider,
stream: *IAmsiStream,
result: *AMSI_RESULT,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
CloseSession: fn(
self: *const IAntimalwareProvider,
session: u64,
) callconv(@import("std").os.windows.WINAPI) void,
DisplayName: fn(
self: *const IAntimalwareProvider,
displayName: *PWSTR,
) 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 IAntimalwareProvider_Scan(self: *const T, stream: *IAmsiStream, result: *AMSI_RESULT) callconv(.Inline) HRESULT {
return @ptrCast(*const IAntimalwareProvider.VTable, self.vtable).Scan(@ptrCast(*const IAntimalwareProvider, self), stream, result);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IAntimalwareProvider_CloseSession(self: *const T, session: u64) callconv(.Inline) void {
return @ptrCast(*const IAntimalwareProvider.VTable, self.vtable).CloseSession(@ptrCast(*const IAntimalwareProvider, self), session);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IAntimalwareProvider_DisplayName(self: *const T, displayName: *PWSTR) callconv(.Inline) HRESULT {
return @ptrCast(*const IAntimalwareProvider.VTable, self.vtable).DisplayName(@ptrCast(*const IAntimalwareProvider, self), displayName);
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IAntimalwareUacProvider_Value = @import("../zig.zig").Guid.initString("b2cabfe4-fe04-42b1-a5df-08d483d4d125");
pub const IID_IAntimalwareUacProvider = &IID_IAntimalwareUacProvider_Value;
pub const IAntimalwareUacProvider = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
UacScan: fn(
self: *const IAntimalwareUacProvider,
context: *AMSI_UAC_REQUEST_CONTEXT,
result: *AMSI_RESULT,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
DisplayName: fn(
self: *const IAntimalwareUacProvider,
displayName: *PWSTR,
) 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 IAntimalwareUacProvider_UacScan(self: *const T, context: *AMSI_UAC_REQUEST_CONTEXT, result: *AMSI_RESULT) callconv(.Inline) HRESULT {
return @ptrCast(*const IAntimalwareUacProvider.VTable, self.vtable).UacScan(@ptrCast(*const IAntimalwareUacProvider, self), context, result);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IAntimalwareUacProvider_DisplayName(self: *const T, displayName: *PWSTR) callconv(.Inline) HRESULT {
return @ptrCast(*const IAntimalwareUacProvider.VTable, self.vtable).DisplayName(@ptrCast(*const IAntimalwareUacProvider, self), displayName);
}
};}
pub usingnamespace MethodMixin(@This());
};
// TODO: this type is limited to platform 'windows10.0.10240'
const IID_IAntimalware_Value = @import("../zig.zig").Guid.initString("82d29c2e-f062-44e6-b5c9-3d9a2f24a2df");
pub const IID_IAntimalware = &IID_IAntimalware_Value;
pub const IAntimalware = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
Scan: fn(
self: *const IAntimalware,
stream: *IAmsiStream,
result: *AMSI_RESULT,
provider: **IAntimalwareProvider,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
CloseSession: fn(
self: *const IAntimalware,
session: u64,
) callconv(@import("std").os.windows.WINAPI) void,
};
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 IAntimalware_Scan(self: *const T, stream: *IAmsiStream, result: *AMSI_RESULT, provider: **IAntimalwareProvider) callconv(.Inline) HRESULT {
return @ptrCast(*const IAntimalware.VTable, self.vtable).Scan(@ptrCast(*const IAntimalware, self), stream, result, provider);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IAntimalware_CloseSession(self: *const T, session: u64) callconv(.Inline) void {
return @ptrCast(*const IAntimalware.VTable, self.vtable).CloseSession(@ptrCast(*const IAntimalware, self), session);
}
};}
pub usingnamespace MethodMixin(@This());
};
const CLSID_CAntimalware_Value = @import("../zig.zig").Guid.initString("fdb00e52-a214-4aa1-8fba-4357bb0072ec");
pub const CLSID_CAntimalware = &CLSID_CAntimalware_Value;
pub const HAMSICONTEXT = ?*opaque{};
pub const HAMSISESSION = ?*opaque{};
//--------------------------------------------------------------------------------
// Section: Functions (6)
//--------------------------------------------------------------------------------
// TODO: this type is limited to platform 'windows10.0.10240'
pub extern "Amsi" fn AmsiInitialize(
appName: [*:0]const u16,
amsiContext: *HAMSICONTEXT,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows10.0.10240'
pub extern "Amsi" fn AmsiUninitialize(
amsiContext: HAMSICONTEXT,
) callconv(@import("std").os.windows.WINAPI) void;
// TODO: this type is limited to platform 'windows10.0.10240'
pub extern "Amsi" fn AmsiOpenSession(
amsiContext: HAMSICONTEXT,
amsiSession: *HAMSISESSION,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows10.0.10240'
pub extern "Amsi" fn AmsiCloseSession(
amsiContext: HAMSICONTEXT,
amsiSession: HAMSISESSION,
) callconv(@import("std").os.windows.WINAPI) void;
// TODO: this type is limited to platform 'windows10.0.10240'
pub extern "Amsi" fn AmsiScanBuffer(
amsiContext: HAMSICONTEXT,
// TODO: what to do with BytesParamIndex 2?
buffer: *c_void,
length: u32,
contentName: ?[*:0]const u16,
amsiSession: HAMSISESSION,
result: *AMSI_RESULT,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows10.0.10240'
pub extern "Amsi" fn AmsiScanString(
amsiContext: HAMSICONTEXT,
string: [*:0]const u16,
contentName: ?[*:0]const u16,
amsiSession: HAMSISESSION,
result: *AMSI_RESULT,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
//--------------------------------------------------------------------------------
// Section: Unicode Aliases (0)
//--------------------------------------------------------------------------------
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 PWSTR = @import("system_services.zig").PWSTR;
const BOOL = @import("system_services.zig").BOOL;
const IUnknown = @import("com.zig").IUnknown;
const HRESULT = @import("com.zig").HRESULT;
test {
@setEvalBranchQuota(
@import("std").meta.declarations(@This()).len * 3
);
// reference all the pub declarations
if (!@import("std").builtin.is_test) return;
inline for (@import("std").meta.declarations(@This())) |decl| {
if (decl.is_pub) {
_ = decl;
}
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

3823
src/win32/api/audio.zig Normal file

File diff suppressed because it is too large Load Diff

5934
src/win32/api/automation.zig Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

1372
src/win32/api/bluetooth.zig Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

18215
src/win32/api/com.zig Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,184 @@
//! NOTE: this file is autogenerated, DO NOT MODIFY
//--------------------------------------------------------------------------------
// Section: Constants (4)
//--------------------------------------------------------------------------------
pub const COMPRESS_ALGORITHM_INVALID = @as(u32, 0);
pub const COMPRESS_ALGORITHM_NULL = @as(u32, 1);
pub const COMPRESS_ALGORITHM_MAX = @as(u32, 6);
pub const COMPRESS_RAW = @as(u32, 536870912);
//--------------------------------------------------------------------------------
// Section: Types (6)
//--------------------------------------------------------------------------------
// TODO: this type has a FreeFunc 'CloseDecompressor', what can Zig do with this information?
pub const COMPRESSOR_HANDLE = isize;
pub const COMPRESS_ALGORITHM = extern enum(u32) {
MSZIP = 2,
XPRESS = 3,
XPRESS_HUFF = 4,
LZMS = 5,
};
pub const COMPRESS_ALGORITHM_MSZIP = COMPRESS_ALGORITHM.MSZIP;
pub const COMPRESS_ALGORITHM_XPRESS = COMPRESS_ALGORITHM.XPRESS;
pub const COMPRESS_ALGORITHM_XPRESS_HUFF = COMPRESS_ALGORITHM.XPRESS_HUFF;
pub const COMPRESS_ALGORITHM_LZMS = COMPRESS_ALGORITHM.LZMS;
pub const PFN_COMPRESS_ALLOCATE = fn(
UserContext: *c_void,
Size: usize,
) callconv(@import("std").os.windows.WINAPI) *c_void;
pub const PFN_COMPRESS_FREE = fn(
UserContext: *c_void,
Memory: *c_void,
) callconv(@import("std").os.windows.WINAPI) void;
pub const COMPRESS_ALLOCATION_ROUTINES = extern struct {
Allocate: PFN_COMPRESS_ALLOCATE,
Free: PFN_COMPRESS_FREE,
UserContext: *c_void,
};
pub const COMPRESS_INFORMATION_CLASS = extern enum(i32) {
INVALID = 0,
BLOCK_SIZE = 1,
LEVEL = 2,
};
pub const COMPRESS_INFORMATION_CLASS_INVALID = COMPRESS_INFORMATION_CLASS.INVALID;
pub const COMPRESS_INFORMATION_CLASS_BLOCK_SIZE = COMPRESS_INFORMATION_CLASS.BLOCK_SIZE;
pub const COMPRESS_INFORMATION_CLASS_LEVEL = COMPRESS_INFORMATION_CLASS.LEVEL;
//--------------------------------------------------------------------------------
// Section: Functions (12)
//--------------------------------------------------------------------------------
// TODO: this type is limited to platform 'windows8.0'
pub extern "Cabinet" fn CreateCompressor(
Algorithm: COMPRESS_ALGORITHM,
AllocationRoutines: ?*COMPRESS_ALLOCATION_ROUTINES,
CompressorHandle: *isize,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows8.0'
pub extern "Cabinet" fn SetCompressorInformation(
CompressorHandle: COMPRESSOR_HANDLE,
CompressInformationClass: COMPRESS_INFORMATION_CLASS,
// TODO: what to do with BytesParamIndex 3?
CompressInformation: *const c_void,
CompressInformationSize: usize,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows8.0'
pub extern "Cabinet" fn QueryCompressorInformation(
CompressorHandle: COMPRESSOR_HANDLE,
CompressInformationClass: COMPRESS_INFORMATION_CLASS,
// TODO: what to do with BytesParamIndex 3?
CompressInformation: *c_void,
CompressInformationSize: usize,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows8.0'
pub extern "Cabinet" fn Compress(
CompressorHandle: COMPRESSOR_HANDLE,
// TODO: what to do with BytesParamIndex 2?
UncompressedData: ?*const c_void,
UncompressedDataSize: usize,
// TODO: what to do with BytesParamIndex 4?
CompressedBuffer: ?*c_void,
CompressedBufferSize: usize,
CompressedDataSize: *usize,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows8.0'
pub extern "Cabinet" fn ResetCompressor(
CompressorHandle: COMPRESSOR_HANDLE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows8.0'
pub extern "Cabinet" fn CloseCompressor(
CompressorHandle: COMPRESSOR_HANDLE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows8.0'
pub extern "Cabinet" fn CreateDecompressor(
Algorithm: COMPRESS_ALGORITHM,
AllocationRoutines: ?*COMPRESS_ALLOCATION_ROUTINES,
DecompressorHandle: *isize,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows8.0'
pub extern "Cabinet" fn SetDecompressorInformation(
DecompressorHandle: isize,
CompressInformationClass: COMPRESS_INFORMATION_CLASS,
// TODO: what to do with BytesParamIndex 3?
CompressInformation: *const c_void,
CompressInformationSize: usize,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows8.0'
pub extern "Cabinet" fn QueryDecompressorInformation(
DecompressorHandle: isize,
CompressInformationClass: COMPRESS_INFORMATION_CLASS,
// TODO: what to do with BytesParamIndex 3?
CompressInformation: *c_void,
CompressInformationSize: usize,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows8.0'
pub extern "Cabinet" fn Decompress(
DecompressorHandle: isize,
// TODO: what to do with BytesParamIndex 2?
CompressedData: ?*const c_void,
CompressedDataSize: usize,
// TODO: what to do with BytesParamIndex 4?
UncompressedBuffer: ?*c_void,
UncompressedBufferSize: usize,
UncompressedDataSize: ?*usize,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows8.0'
pub extern "Cabinet" fn ResetDecompressor(
DecompressorHandle: isize,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows8.0'
pub extern "Cabinet" fn CloseDecompressor(
DecompressorHandle: isize,
) callconv(@import("std").os.windows.WINAPI) BOOL;
//--------------------------------------------------------------------------------
// Section: Unicode Aliases (0)
//--------------------------------------------------------------------------------
pub usingnamespace switch (@import("../zig.zig").unicode_mode) {
.ansi => struct {
},
.wide => struct {
},
.unspecified => if (@import("builtin").is_test) struct {
} else struct {
},
};
//--------------------------------------------------------------------------------
// Section: Imports (1)
//--------------------------------------------------------------------------------
const BOOL = @import("system_services.zig").BOOL;
test {
// The following '_ = <FuncPtrType>' lines are a workaround for https://github.com/ziglang/zig/issues/4476
if (@hasDecl(@This(), "PFN_COMPRESS_ALLOCATE")) { _ = PFN_COMPRESS_ALLOCATE; }
if (@hasDecl(@This(), "PFN_COMPRESS_FREE")) { _ = PFN_COMPRESS_FREE; }
@setEvalBranchQuota(
@import("std").meta.declarations(@This()).len * 3
);
// reference all the pub declarations
if (!@import("std").builtin.is_test) return;
inline for (@import("std").meta.declarations(@This())) |decl| {
if (decl.is_pub) {
_ = decl;
}
}
}

16314
src/win32/api/controls.zig Normal file

File diff suppressed because it is too large Load Diff

11457
src/win32/api/core_audio.zig Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,140 @@
//! NOTE: this file is autogenerated, DO NOT MODIFY
//--------------------------------------------------------------------------------
// Section: Constants (0)
//--------------------------------------------------------------------------------
//--------------------------------------------------------------------------------
// Section: Types (6)
//--------------------------------------------------------------------------------
const CLSID_DedupBackupSupport_Value = @import("../zig.zig").Guid.initString("73d6b2ad-2984-4715-b2e3-924c149744dd");
pub const CLSID_DedupBackupSupport = &CLSID_DedupBackupSupport_Value;
pub const DEDUP_CONTAINER_EXTENT = extern struct {
ContainerIndex: u32,
StartOffset: i64,
Length: i64,
};
pub const DDP_FILE_EXTENT = extern struct {
Length: i64,
Offset: i64,
};
pub const DEDUP_BACKUP_SUPPORT_PARAM_TYPE = extern enum(i32) {
UNOPTIMIZED = 1,
OPTIMIZED = 2,
};
pub const DEDUP_RECONSTRUCT_UNOPTIMIZED = DEDUP_BACKUP_SUPPORT_PARAM_TYPE.UNOPTIMIZED;
pub const DEDUP_RECONSTRUCT_OPTIMIZED = DEDUP_BACKUP_SUPPORT_PARAM_TYPE.OPTIMIZED;
// TODO: this type is limited to platform 'windowsServer2012'
const IID_IDedupReadFileCallback_Value = @import("../zig.zig").Guid.initString("7bacc67a-2f1d-42d0-897e-6ff62dd533bb");
pub const IID_IDedupReadFileCallback = &IID_IDedupReadFileCallback_Value;
pub const IDedupReadFileCallback = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
ReadBackupFile: fn(
self: *const IDedupReadFileCallback,
FileFullPath: BSTR,
FileOffset: i64,
SizeToRead: u32,
FileBuffer: [*:0]u8,
ReturnedSize: *u32,
Flags: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
OrderContainersRestore: fn(
self: *const IDedupReadFileCallback,
NumberOfContainers: u32,
ContainerPaths: [*]BSTR,
ReadPlanEntries: *u32,
ReadPlan: [*]*DEDUP_CONTAINER_EXTENT,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
PreviewContainerRead: fn(
self: *const IDedupReadFileCallback,
FileFullPath: BSTR,
NumberOfReads: u32,
ReadOffsets: [*]DDP_FILE_EXTENT,
) 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 IDedupReadFileCallback_ReadBackupFile(self: *const T, FileFullPath: BSTR, FileOffset: i64, SizeToRead: u32, FileBuffer: [*:0]u8, ReturnedSize: *u32, Flags: u32) callconv(.Inline) HRESULT {
return @ptrCast(*const IDedupReadFileCallback.VTable, self.vtable).ReadBackupFile(@ptrCast(*const IDedupReadFileCallback, self), FileFullPath, FileOffset, SizeToRead, FileBuffer, ReturnedSize, Flags);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IDedupReadFileCallback_OrderContainersRestore(self: *const T, NumberOfContainers: u32, ContainerPaths: [*]BSTR, ReadPlanEntries: *u32, ReadPlan: [*]*DEDUP_CONTAINER_EXTENT) callconv(.Inline) HRESULT {
return @ptrCast(*const IDedupReadFileCallback.VTable, self.vtable).OrderContainersRestore(@ptrCast(*const IDedupReadFileCallback, self), NumberOfContainers, ContainerPaths, ReadPlanEntries, ReadPlan);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IDedupReadFileCallback_PreviewContainerRead(self: *const T, FileFullPath: BSTR, NumberOfReads: u32, ReadOffsets: [*]DDP_FILE_EXTENT) callconv(.Inline) HRESULT {
return @ptrCast(*const IDedupReadFileCallback.VTable, self.vtable).PreviewContainerRead(@ptrCast(*const IDedupReadFileCallback, self), FileFullPath, NumberOfReads, ReadOffsets);
}
};}
pub usingnamespace MethodMixin(@This());
};
// TODO: this type is limited to platform 'windowsServer2012'
const IID_IDedupBackupSupport_Value = @import("../zig.zig").Guid.initString("c719d963-2b2d-415e-acf7-7eb7ca596ff4");
pub const IID_IDedupBackupSupport = &IID_IDedupBackupSupport_Value;
pub const IDedupBackupSupport = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
RestoreFiles: fn(
self: *const IDedupBackupSupport,
NumberOfFiles: u32,
FileFullPaths: [*]BSTR,
Store: *IDedupReadFileCallback,
Flags: u32,
FileResults: [*]HRESULT,
) 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 IDedupBackupSupport_RestoreFiles(self: *const T, NumberOfFiles: u32, FileFullPaths: [*]BSTR, Store: *IDedupReadFileCallback, Flags: u32, FileResults: [*]HRESULT) callconv(.Inline) HRESULT {
return @ptrCast(*const IDedupBackupSupport.VTable, self.vtable).RestoreFiles(@ptrCast(*const IDedupBackupSupport, self), NumberOfFiles, FileFullPaths, Store, Flags, FileResults);
}
};}
pub usingnamespace MethodMixin(@This());
};
//--------------------------------------------------------------------------------
// Section: Functions (0)
//--------------------------------------------------------------------------------
//--------------------------------------------------------------------------------
// Section: Unicode Aliases (0)
//--------------------------------------------------------------------------------
pub usingnamespace switch (@import("../zig.zig").unicode_mode) {
.ansi => struct {
},
.wide => struct {
},
.unspecified => if (@import("builtin").is_test) struct {
} else struct {
},
};
//--------------------------------------------------------------------------------
// Section: Imports (3)
//--------------------------------------------------------------------------------
const BSTR = @import("automation.zig").BSTR;
const IUnknown = @import("com.zig").IUnknown;
const HRESULT = @import("com.zig").HRESULT;
test {
@setEvalBranchQuota(
@import("std").meta.declarations(@This()).len * 3
);
// reference all the pub declarations
if (!@import("std").builtin.is_test) return;
inline for (@import("std").meta.declarations(@This())) |decl| {
if (decl.is_pub) {
_ = decl;
}
}
}

View File

@ -0,0 +1,990 @@
//! NOTE: this file is autogenerated, DO NOT MODIFY
//--------------------------------------------------------------------------------
// Section: Constants (64)
//--------------------------------------------------------------------------------
pub const WM_DDE_FIRST = @as(u32, 992);
pub const WM_DDE_TERMINATE = @as(u32, 993);
pub const WM_DDE_ADVISE = @as(u32, 994);
pub const WM_DDE_UNADVISE = @as(u32, 995);
pub const WM_DDE_ACK = @as(u32, 996);
pub const WM_DDE_DATA = @as(u32, 997);
pub const WM_DDE_REQUEST = @as(u32, 998);
pub const WM_DDE_POKE = @as(u32, 999);
pub const WM_DDE_EXECUTE = @as(u32, 1000);
pub const WM_DDE_LAST = @as(u32, 1000);
pub const CADV_LATEACK = @as(u32, 65535);
pub const DDE_FACK = @as(u32, 32768);
pub const DDE_FBUSY = @as(u32, 16384);
pub const DDE_FDEFERUPD = @as(u32, 16384);
pub const DDE_FACKREQ = @as(u32, 32768);
pub const DDE_FRELEASE = @as(u32, 8192);
pub const DDE_FREQUESTED = @as(u32, 4096);
pub const DDE_FAPPSTATUS = @as(u32, 255);
pub const DDE_FNOTPROCESSED = @as(u32, 0);
pub const MSGF_DDEMGR = @as(u32, 32769);
pub const CP_WINANSI = @as(u32, 1004);
pub const CP_WINUNICODE = @as(u32, 1200);
pub const XTYPF_NOBLOCK = @as(u32, 2);
pub const XTYPF_NODATA = @as(u32, 4);
pub const XTYPF_ACKREQ = @as(u32, 8);
pub const XCLASS_MASK = @as(u32, 64512);
pub const XCLASS_BOOL = @as(u32, 4096);
pub const XCLASS_DATA = @as(u32, 8192);
pub const XCLASS_FLAGS = @as(u32, 16384);
pub const XCLASS_NOTIFICATION = @as(u32, 32768);
pub const XTYP_MASK = @as(u32, 240);
pub const XTYP_SHIFT = @as(u32, 4);
pub const TIMEOUT_ASYNC = @as(u32, 4294967295);
pub const QID_SYNC = @as(u32, 4294967295);
pub const APPCMD_MASK = @as(i32, 4080);
pub const APPCLASS_MASK = @as(i32, 15);
pub const HDATA_APPOWNED = @as(u32, 1);
pub const DMLERR_NO_ERROR = @as(u32, 0);
pub const DMLERR_FIRST = @as(u32, 16384);
pub const DMLERR_ADVACKTIMEOUT = @as(u32, 16384);
pub const DMLERR_BUSY = @as(u32, 16385);
pub const DMLERR_DATAACKTIMEOUT = @as(u32, 16386);
pub const DMLERR_DLL_NOT_INITIALIZED = @as(u32, 16387);
pub const DMLERR_DLL_USAGE = @as(u32, 16388);
pub const DMLERR_EXECACKTIMEOUT = @as(u32, 16389);
pub const DMLERR_INVALIDPARAMETER = @as(u32, 16390);
pub const DMLERR_LOW_MEMORY = @as(u32, 16391);
pub const DMLERR_MEMORY_ERROR = @as(u32, 16392);
pub const DMLERR_NOTPROCESSED = @as(u32, 16393);
pub const DMLERR_NO_CONV_ESTABLISHED = @as(u32, 16394);
pub const DMLERR_POKEACKTIMEOUT = @as(u32, 16395);
pub const DMLERR_POSTMSG_FAILED = @as(u32, 16396);
pub const DMLERR_REENTRANCY = @as(u32, 16397);
pub const DMLERR_SERVER_DIED = @as(u32, 16398);
pub const DMLERR_SYS_ERROR = @as(u32, 16399);
pub const DMLERR_UNADVACKTIMEOUT = @as(u32, 16400);
pub const DMLERR_UNFOUND_QUEUE_ID = @as(u32, 16401);
pub const DMLERR_LAST = @as(u32, 16401);
pub const MH_CREATE = @as(u32, 1);
pub const MH_KEEP = @as(u32, 2);
pub const MH_DELETE = @as(u32, 3);
pub const MH_CLEANUP = @as(u32, 4);
pub const MAX_MONITORS = @as(u32, 4);
pub const MF_MASK = @as(u32, 4278190080);
//--------------------------------------------------------------------------------
// Section: Types (30)
//--------------------------------------------------------------------------------
pub const HSZ = ?*opaque{};
pub const HCONV = ?*opaque{};
pub const HCONVLIST = ?*opaque{};
pub const HDDEDATA = ?*opaque{};
pub const METAFILEPICT = extern struct {
mm: i32,
xExt: i32,
yExt: i32,
hMF: HMETAFILE,
};
pub const DDE_ENABLE_CALLBACK_CMD = extern enum(u32) {
ENABLEALL = 0,
ENABLEONE = 128,
DISABLE = 8,
QUERYWAITING = 2,
};
pub const EC_ENABLEALL = DDE_ENABLE_CALLBACK_CMD.ENABLEALL;
pub const EC_ENABLEONE = DDE_ENABLE_CALLBACK_CMD.ENABLEONE;
pub const EC_DISABLE = DDE_ENABLE_CALLBACK_CMD.DISABLE;
pub const EC_QUERYWAITING = DDE_ENABLE_CALLBACK_CMD.QUERYWAITING;
// TODO: This Enum is marked as [Flags], what do I do with this?
pub const DDE_INITIALIZE_COMMAND = extern enum(u32) {
APPCLASS_MONITOR = 1,
APPCLASS_STANDARD = 0,
APPCMD_CLIENTONLY = 16,
APPCMD_FILTERINITS = 32,
CBF_FAIL_ALLSVRXACTIONS = 258048,
CBF_FAIL_ADVISES = 16384,
CBF_FAIL_CONNECTIONS = 8192,
CBF_FAIL_EXECUTES = 32768,
CBF_FAIL_POKES = 65536,
CBF_FAIL_REQUESTS = 131072,
CBF_FAIL_SELFCONNECTIONS = 4096,
CBF_SKIP_ALLNOTIFICATIONS = 3932160,
CBF_SKIP_CONNECT_CONFIRMS = 262144,
CBF_SKIP_DISCONNECTS = 2097152,
CBF_SKIP_REGISTRATIONS = 524288,
CBF_SKIP_UNREGISTRATIONS = 1048576,
MF_CALLBACKS = 134217728,
MF_CONV = 1073741824,
MF_ERRORS = 268435456,
MF_HSZ_INFO = 16777216,
MF_LINKS = 536870912,
MF_POSTMSGS = 67108864,
MF_SENDMSGS = 33554432,
_,
};
pub const APPCLASS_MONITOR = DDE_INITIALIZE_COMMAND.APPCLASS_MONITOR;
pub const APPCLASS_STANDARD = DDE_INITIALIZE_COMMAND.APPCLASS_STANDARD;
pub const APPCMD_CLIENTONLY = DDE_INITIALIZE_COMMAND.APPCMD_CLIENTONLY;
pub const APPCMD_FILTERINITS = DDE_INITIALIZE_COMMAND.APPCMD_FILTERINITS;
pub const CBF_FAIL_ALLSVRXACTIONS = DDE_INITIALIZE_COMMAND.CBF_FAIL_ALLSVRXACTIONS;
pub const CBF_FAIL_ADVISES = DDE_INITIALIZE_COMMAND.CBF_FAIL_ADVISES;
pub const CBF_FAIL_CONNECTIONS = DDE_INITIALIZE_COMMAND.CBF_FAIL_CONNECTIONS;
pub const CBF_FAIL_EXECUTES = DDE_INITIALIZE_COMMAND.CBF_FAIL_EXECUTES;
pub const CBF_FAIL_POKES = DDE_INITIALIZE_COMMAND.CBF_FAIL_POKES;
pub const CBF_FAIL_REQUESTS = DDE_INITIALIZE_COMMAND.CBF_FAIL_REQUESTS;
pub const CBF_FAIL_SELFCONNECTIONS = DDE_INITIALIZE_COMMAND.CBF_FAIL_SELFCONNECTIONS;
pub const CBF_SKIP_ALLNOTIFICATIONS = DDE_INITIALIZE_COMMAND.CBF_SKIP_ALLNOTIFICATIONS;
pub const CBF_SKIP_CONNECT_CONFIRMS = DDE_INITIALIZE_COMMAND.CBF_SKIP_CONNECT_CONFIRMS;
pub const CBF_SKIP_DISCONNECTS = DDE_INITIALIZE_COMMAND.CBF_SKIP_DISCONNECTS;
pub const CBF_SKIP_REGISTRATIONS = DDE_INITIALIZE_COMMAND.CBF_SKIP_REGISTRATIONS;
pub const CBF_SKIP_UNREGISTRATIONS = DDE_INITIALIZE_COMMAND.CBF_SKIP_UNREGISTRATIONS;
pub const MF_CALLBACKS = DDE_INITIALIZE_COMMAND.MF_CALLBACKS;
pub const MF_CONV = DDE_INITIALIZE_COMMAND.MF_CONV;
pub const MF_ERRORS = DDE_INITIALIZE_COMMAND.MF_ERRORS;
pub const MF_HSZ_INFO = DDE_INITIALIZE_COMMAND.MF_HSZ_INFO;
pub const MF_LINKS = DDE_INITIALIZE_COMMAND.MF_LINKS;
pub const MF_POSTMSGS = DDE_INITIALIZE_COMMAND.MF_POSTMSGS;
pub const MF_SENDMSGS = DDE_INITIALIZE_COMMAND.MF_SENDMSGS;
pub const DDE_NAME_SERVICE_CMD = extern enum(u32) {
REGISTER = 1,
UNREGISTER = 2,
FILTERON = 4,
FILTEROFF = 8,
};
pub const DNS_REGISTER = DDE_NAME_SERVICE_CMD.REGISTER;
pub const DNS_UNREGISTER = DDE_NAME_SERVICE_CMD.UNREGISTER;
pub const DNS_FILTERON = DDE_NAME_SERVICE_CMD.FILTERON;
pub const DNS_FILTEROFF = DDE_NAME_SERVICE_CMD.FILTEROFF;
pub const DDE_CLIENT_TRANSACTION_TYPE = extern enum(u32) {
ADVSTART = 4144,
ADVSTOP = 32832,
EXECUTE = 16464,
POKE = 16528,
REQUEST = 8368,
ADVDATA = 16400,
ADVREQ = 8226,
CONNECT = 4194,
CONNECT_CONFIRM = 32882,
DISCONNECT = 32962,
MONITOR = 33010,
REGISTER = 32930,
UNREGISTER = 32978,
WILDCONNECT = 8418,
XACT_COMPLETE = 32896,
};
pub const XTYP_ADVSTART = DDE_CLIENT_TRANSACTION_TYPE.ADVSTART;
pub const XTYP_ADVSTOP = DDE_CLIENT_TRANSACTION_TYPE.ADVSTOP;
pub const XTYP_EXECUTE = DDE_CLIENT_TRANSACTION_TYPE.EXECUTE;
pub const XTYP_POKE = DDE_CLIENT_TRANSACTION_TYPE.POKE;
pub const XTYP_REQUEST = DDE_CLIENT_TRANSACTION_TYPE.REQUEST;
pub const XTYP_ADVDATA = DDE_CLIENT_TRANSACTION_TYPE.ADVDATA;
pub const XTYP_ADVREQ = DDE_CLIENT_TRANSACTION_TYPE.ADVREQ;
pub const XTYP_CONNECT = DDE_CLIENT_TRANSACTION_TYPE.CONNECT;
pub const XTYP_CONNECT_CONFIRM = DDE_CLIENT_TRANSACTION_TYPE.CONNECT_CONFIRM;
pub const XTYP_DISCONNECT = DDE_CLIENT_TRANSACTION_TYPE.DISCONNECT;
pub const XTYP_MONITOR = DDE_CLIENT_TRANSACTION_TYPE.MONITOR;
pub const XTYP_REGISTER = DDE_CLIENT_TRANSACTION_TYPE.REGISTER;
pub const XTYP_UNREGISTER = DDE_CLIENT_TRANSACTION_TYPE.UNREGISTER;
pub const XTYP_WILDCONNECT = DDE_CLIENT_TRANSACTION_TYPE.WILDCONNECT;
pub const XTYP_XACT_COMPLETE = DDE_CLIENT_TRANSACTION_TYPE.XACT_COMPLETE;
pub const CONVINFO_CONVERSATION_STATE = extern enum(u32) {
ADVACKRCVD = 13,
ADVDATAACKRCVD = 16,
ADVDATASENT = 15,
ADVSENT = 11,
CONNECTED = 2,
DATARCVD = 6,
EXECACKRCVD = 10,
EXECSENT = 9,
INCOMPLETE = 1,
INIT1 = 3,
INIT2 = 4,
NULL = 0,
POKEACKRCVD = 8,
POKESENT = 7,
REQSENT = 5,
UNADVACKRCVD = 14,
UNADVSENT = 12,
};
pub const XST_ADVACKRCVD = CONVINFO_CONVERSATION_STATE.ADVACKRCVD;
pub const XST_ADVDATAACKRCVD = CONVINFO_CONVERSATION_STATE.ADVDATAACKRCVD;
pub const XST_ADVDATASENT = CONVINFO_CONVERSATION_STATE.ADVDATASENT;
pub const XST_ADVSENT = CONVINFO_CONVERSATION_STATE.ADVSENT;
pub const XST_CONNECTED = CONVINFO_CONVERSATION_STATE.CONNECTED;
pub const XST_DATARCVD = CONVINFO_CONVERSATION_STATE.DATARCVD;
pub const XST_EXECACKRCVD = CONVINFO_CONVERSATION_STATE.EXECACKRCVD;
pub const XST_EXECSENT = CONVINFO_CONVERSATION_STATE.EXECSENT;
pub const XST_INCOMPLETE = CONVINFO_CONVERSATION_STATE.INCOMPLETE;
pub const XST_INIT1 = CONVINFO_CONVERSATION_STATE.INIT1;
pub const XST_INIT2 = CONVINFO_CONVERSATION_STATE.INIT2;
pub const XST_NULL = CONVINFO_CONVERSATION_STATE.NULL;
pub const XST_POKEACKRCVD = CONVINFO_CONVERSATION_STATE.POKEACKRCVD;
pub const XST_POKESENT = CONVINFO_CONVERSATION_STATE.POKESENT;
pub const XST_REQSENT = CONVINFO_CONVERSATION_STATE.REQSENT;
pub const XST_UNADVACKRCVD = CONVINFO_CONVERSATION_STATE.UNADVACKRCVD;
pub const XST_UNADVSENT = CONVINFO_CONVERSATION_STATE.UNADVSENT;
// TODO: This Enum is marked as [Flags], what do I do with this?
pub const CONVINFO_STATUS = extern enum(u32) {
ADVISE = 2,
BLOCKED = 8,
BLOCKNEXT = 128,
CLIENT = 16,
CONNECTED = 1,
INLIST = 64,
ISLOCAL = 4,
ISSELF = 256,
TERMINATED = 32,
_,
};
pub const ST_ADVISE = CONVINFO_STATUS.ADVISE;
pub const ST_BLOCKED = CONVINFO_STATUS.BLOCKED;
pub const ST_BLOCKNEXT = CONVINFO_STATUS.BLOCKNEXT;
pub const ST_CLIENT = CONVINFO_STATUS.CLIENT;
pub const ST_CONNECTED = CONVINFO_STATUS.CONNECTED;
pub const ST_INLIST = CONVINFO_STATUS.INLIST;
pub const ST_ISLOCAL = CONVINFO_STATUS.ISLOCAL;
pub const ST_ISSELF = CONVINFO_STATUS.ISSELF;
pub const ST_TERMINATED = CONVINFO_STATUS.TERMINATED;
pub const DDEACK = extern struct {
_bitfield: u16,
};
pub const DDEADVISE = extern struct {
_bitfield: u16,
cfFormat: i16,
};
pub const DDEDATA = extern struct {
_bitfield: u16,
cfFormat: i16,
Value: [1]u8,
};
pub const DDEPOKE = extern struct {
_bitfield: u16,
cfFormat: i16,
Value: [1]u8,
};
pub const DDELN = extern struct {
_bitfield: u16,
cfFormat: i16,
};
pub const DDEUP = extern struct {
_bitfield: u16,
cfFormat: i16,
rgb: [1]u8,
};
pub const HSZPAIR = extern struct {
hszSvc: HSZ,
hszTopic: HSZ,
};
pub const CONVCONTEXT = extern struct {
cb: u32,
wFlags: u32,
wCountryID: u32,
iCodePage: i32,
dwLangID: u32,
dwSecurity: u32,
qos: SECURITY_QUALITY_OF_SERVICE,
};
pub const CONVINFO = extern struct {
cb: u32,
hUser: usize,
hConvPartner: HCONV,
hszSvcPartner: HSZ,
hszServiceReq: HSZ,
hszTopic: HSZ,
hszItem: HSZ,
wFmt: u32,
wType: DDE_CLIENT_TRANSACTION_TYPE,
wStatus: CONVINFO_STATUS,
wConvst: CONVINFO_CONVERSATION_STATE,
wLastError: u32,
hConvList: HCONVLIST,
ConvCtxt: CONVCONTEXT,
hwnd: HWND,
hwndPartner: HWND,
};
pub const PFNCALLBACK = fn(
wType: u32,
wFmt: u32,
hConv: HCONV,
hsz1: HSZ,
hsz2: HSZ,
hData: HDDEDATA,
dwData1: usize,
dwData2: usize,
) callconv(@import("std").os.windows.WINAPI) HDDEDATA;
pub const DDEML_MSG_HOOK_DATA = extern struct {
uiLo: usize,
uiHi: usize,
cbData: u32,
Data: [8]u32,
};
pub const MONMSGSTRUCT = extern struct {
cb: u32,
hwndTo: HWND,
dwTime: u32,
hTask: HANDLE,
wMsg: u32,
wParam: WPARAM,
lParam: LPARAM,
dmhd: DDEML_MSG_HOOK_DATA,
};
pub const MONCBSTRUCT = extern struct {
cb: u32,
dwTime: u32,
hTask: HANDLE,
dwRet: u32,
wType: u32,
wFmt: u32,
hConv: HCONV,
hsz1: HSZ,
hsz2: HSZ,
hData: HDDEDATA,
dwData1: usize,
dwData2: usize,
cc: CONVCONTEXT,
cbData: u32,
Data: [8]u32,
};
pub const MONHSZSTRUCTA = extern struct {
cb: u32,
fsAction: BOOL,
dwTime: u32,
hsz: HSZ,
hTask: HANDLE,
str: [1]CHAR,
};
pub const MONHSZSTRUCTW = extern struct {
cb: u32,
fsAction: BOOL,
dwTime: u32,
hsz: HSZ,
hTask: HANDLE,
str: [1]u16,
};
pub const MONERRSTRUCT = extern struct {
cb: u32,
wLastError: u32,
dwTime: u32,
hTask: HANDLE,
};
pub const MONLINKSTRUCT = extern struct {
cb: u32,
dwTime: u32,
hTask: HANDLE,
fEstablished: BOOL,
fNoData: BOOL,
hszSvc: HSZ,
hszTopic: HSZ,
hszItem: HSZ,
wFmt: u32,
fServer: BOOL,
hConvServer: HCONV,
hConvClient: HCONV,
};
pub const MONCONVSTRUCT = extern struct {
cb: u32,
fConnect: BOOL,
dwTime: u32,
hTask: HANDLE,
hszSvc: HSZ,
hszTopic: HSZ,
hConvClient: HCONV,
hConvServer: HCONV,
};
pub const COPYDATASTRUCT = extern struct {
dwData: usize,
cbData: u32,
lpData: *c_void,
};
//--------------------------------------------------------------------------------
// Section: Functions (76)
//--------------------------------------------------------------------------------
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn DdeSetQualityOfService(
hwndClient: HWND,
pqosNew: *const SECURITY_QUALITY_OF_SERVICE,
pqosPrev: *SECURITY_QUALITY_OF_SERVICE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn ImpersonateDdeClientWindow(
hWndClient: HWND,
hWndServer: HWND,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn PackDDElParam(
msg: u32,
uiLo: usize,
uiHi: usize,
) callconv(@import("std").os.windows.WINAPI) LPARAM;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn UnpackDDElParam(
msg: u32,
lParam: LPARAM,
puiLo: *usize,
puiHi: *usize,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn FreeDDElParam(
msg: u32,
lParam: LPARAM,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn ReuseDDElParam(
lParam: LPARAM,
msgIn: u32,
msgOut: u32,
uiLo: usize,
uiHi: usize,
) callconv(@import("std").os.windows.WINAPI) LPARAM;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn DdeInitializeA(
pidInst: *u32,
pfnCallback: PFNCALLBACK,
afCmd: DDE_INITIALIZE_COMMAND,
ulRes: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn DdeInitializeW(
pidInst: *u32,
pfnCallback: PFNCALLBACK,
afCmd: DDE_INITIALIZE_COMMAND,
ulRes: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn DdeUninitialize(
idInst: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn DdeConnectList(
idInst: u32,
hszService: HSZ,
hszTopic: HSZ,
hConvList: HCONVLIST,
pCC: ?*CONVCONTEXT,
) callconv(@import("std").os.windows.WINAPI) HCONVLIST;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn DdeQueryNextServer(
hConvList: HCONVLIST,
hConvPrev: HCONV,
) callconv(@import("std").os.windows.WINAPI) HCONV;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn DdeDisconnectList(
hConvList: HCONVLIST,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn DdeConnect(
idInst: u32,
hszService: HSZ,
hszTopic: HSZ,
pCC: ?*CONVCONTEXT,
) callconv(@import("std").os.windows.WINAPI) HCONV;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn DdeDisconnect(
hConv: HCONV,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn DdeReconnect(
hConv: HCONV,
) callconv(@import("std").os.windows.WINAPI) HCONV;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn DdeQueryConvInfo(
hConv: HCONV,
idTransaction: u32,
pConvInfo: *CONVINFO,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn DdeSetUserHandle(
hConv: HCONV,
id: u32,
hUser: usize,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn DdeAbandonTransaction(
idInst: u32,
hConv: HCONV,
idTransaction: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn DdePostAdvise(
idInst: u32,
hszTopic: HSZ,
hszItem: HSZ,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn DdeEnableCallback(
idInst: u32,
hConv: HCONV,
wCmd: DDE_ENABLE_CALLBACK_CMD,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn DdeImpersonateClient(
hConv: HCONV,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn DdeNameService(
idInst: u32,
hsz1: HSZ,
hsz2: HSZ,
afCmd: DDE_NAME_SERVICE_CMD,
) callconv(@import("std").os.windows.WINAPI) HDDEDATA;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn DdeClientTransaction(
pData: ?*u8,
cbData: u32,
hConv: HCONV,
hszItem: HSZ,
wFmt: u32,
wType: DDE_CLIENT_TRANSACTION_TYPE,
dwTimeout: u32,
pdwResult: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HDDEDATA;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn DdeCreateDataHandle(
idInst: u32,
// TODO: what to do with BytesParamIndex 2?
pSrc: ?*u8,
cb: u32,
cbOff: u32,
hszItem: HSZ,
wFmt: u32,
afCmd: u32,
) callconv(@import("std").os.windows.WINAPI) HDDEDATA;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn DdeAddData(
hData: HDDEDATA,
// TODO: what to do with BytesParamIndex 2?
pSrc: *u8,
cb: u32,
cbOff: u32,
) callconv(@import("std").os.windows.WINAPI) HDDEDATA;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn DdeGetData(
hData: HDDEDATA,
// TODO: what to do with BytesParamIndex 2?
pDst: ?*u8,
cbMax: u32,
cbOff: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn DdeAccessData(
hData: HDDEDATA,
pcbDataSize: ?*u32,
) callconv(@import("std").os.windows.WINAPI) *u8;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn DdeUnaccessData(
hData: HDDEDATA,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn DdeFreeDataHandle(
hData: HDDEDATA,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn DdeGetLastError(
idInst: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn DdeCreateStringHandleA(
idInst: u32,
psz: [*:0]const u8,
iCodePage: i32,
) callconv(@import("std").os.windows.WINAPI) HSZ;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn DdeCreateStringHandleW(
idInst: u32,
psz: [*:0]const u16,
iCodePage: i32,
) callconv(@import("std").os.windows.WINAPI) HSZ;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn DdeQueryStringA(
idInst: u32,
hsz: HSZ,
psz: ?[*:0]u8,
cchMax: u32,
iCodePage: i32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn DdeQueryStringW(
idInst: u32,
hsz: HSZ,
psz: ?[*:0]u16,
cchMax: u32,
iCodePage: i32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn DdeFreeStringHandle(
idInst: u32,
hsz: HSZ,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn DdeKeepStringHandle(
idInst: u32,
hsz: HSZ,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn DdeCmpStringHandles(
hsz1: HSZ,
hsz2: HSZ,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn OpenClipboard(
hWndNewOwner: HWND,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn CloseClipboard(
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn GetClipboardSequenceNumber(
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn GetClipboardOwner(
) callconv(@import("std").os.windows.WINAPI) HWND;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn SetClipboardViewer(
hWndNewViewer: HWND,
) callconv(@import("std").os.windows.WINAPI) HWND;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn GetClipboardViewer(
) callconv(@import("std").os.windows.WINAPI) HWND;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn ChangeClipboardChain(
hWndRemove: HWND,
hWndNewNext: HWND,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn SetClipboardData(
uFormat: u32,
hMem: HANDLE,
) callconv(@import("std").os.windows.WINAPI) HANDLE;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn GetClipboardData(
uFormat: u32,
) callconv(@import("std").os.windows.WINAPI) HANDLE;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn RegisterClipboardFormatA(
lpszFormat: [*:0]const u8,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn RegisterClipboardFormatW(
lpszFormat: [*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn CountClipboardFormats(
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn EnumClipboardFormats(
format: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn GetClipboardFormatNameA(
format: u32,
lpszFormatName: [*:0]u8,
cchMaxCount: i32,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn GetClipboardFormatNameW(
format: u32,
lpszFormatName: [*:0]u16,
cchMaxCount: i32,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn EmptyClipboard(
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn IsClipboardFormatAvailable(
format: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn GetPriorityClipboardFormat(
paFormatPriorityList: [*]u32,
cFormats: i32,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn GetOpenClipboardWindow(
) callconv(@import("std").os.windows.WINAPI) HWND;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "USER32" fn AddClipboardFormatListener(
hwnd: HWND,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "USER32" fn RemoveClipboardFormatListener(
hwnd: HWND,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "USER32" fn GetUpdatedClipboardFormats(
lpuiFormats: [*]u32,
cFormats: u32,
pcFormatsOut: *u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "KERNEL32" fn GlobalDeleteAtom(
nAtom: u16,
) callconv(@import("std").os.windows.WINAPI) u16;
// TODO: this type is limited to platform 'windows5.0'
pub extern "KERNEL32" fn InitAtomTable(
nSize: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "KERNEL32" fn DeleteAtom(
nAtom: u16,
) callconv(@import("std").os.windows.WINAPI) u16;
// TODO: this type is limited to platform 'windows5.0'
pub extern "KERNEL32" fn GlobalAddAtomA(
lpString: ?[*:0]const u8,
) callconv(@import("std").os.windows.WINAPI) u16;
// TODO: this type is limited to platform 'windows5.0'
pub extern "KERNEL32" fn GlobalAddAtomW(
lpString: ?[*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) u16;
pub extern "KERNEL32" fn GlobalAddAtomExA(
lpString: ?[*:0]const u8,
Flags: u32,
) callconv(@import("std").os.windows.WINAPI) u16;
pub extern "KERNEL32" fn GlobalAddAtomExW(
lpString: ?[*:0]const u16,
Flags: u32,
) callconv(@import("std").os.windows.WINAPI) u16;
// TODO: this type is limited to platform 'windows5.0'
pub extern "KERNEL32" fn GlobalFindAtomA(
lpString: ?[*:0]const u8,
) callconv(@import("std").os.windows.WINAPI) u16;
// TODO: this type is limited to platform 'windows5.0'
pub extern "KERNEL32" fn GlobalFindAtomW(
lpString: ?[*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) u16;
// TODO: this type is limited to platform 'windows5.0'
pub extern "KERNEL32" fn GlobalGetAtomNameA(
nAtom: u16,
lpBuffer: [*:0]u8,
nSize: i32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "KERNEL32" fn GlobalGetAtomNameW(
nAtom: u16,
lpBuffer: [*:0]u16,
nSize: i32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "KERNEL32" fn AddAtomA(
lpString: ?[*:0]const u8,
) callconv(@import("std").os.windows.WINAPI) u16;
// TODO: this type is limited to platform 'windows5.0'
pub extern "KERNEL32" fn AddAtomW(
lpString: ?[*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) u16;
// TODO: this type is limited to platform 'windows5.0'
pub extern "KERNEL32" fn FindAtomA(
lpString: ?[*:0]const u8,
) callconv(@import("std").os.windows.WINAPI) u16;
// TODO: this type is limited to platform 'windows5.0'
pub extern "KERNEL32" fn FindAtomW(
lpString: ?[*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) u16;
// TODO: this type is limited to platform 'windows5.0'
pub extern "KERNEL32" fn GetAtomNameA(
nAtom: u16,
lpBuffer: [*:0]u8,
nSize: i32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "KERNEL32" fn GetAtomNameW(
nAtom: u16,
lpBuffer: [*:0]u16,
nSize: i32,
) callconv(@import("std").os.windows.WINAPI) u32;
//--------------------------------------------------------------------------------
// Section: Unicode Aliases (13)
//--------------------------------------------------------------------------------
pub usingnamespace switch (@import("../zig.zig").unicode_mode) {
.ansi => struct {
pub const MONHSZSTRUCT = MONHSZSTRUCTA;
pub const DdeInitialize = DdeInitializeA;
pub const DdeCreateStringHandle = DdeCreateStringHandleA;
pub const DdeQueryString = DdeQueryStringA;
pub const RegisterClipboardFormat = RegisterClipboardFormatA;
pub const GetClipboardFormatName = GetClipboardFormatNameA;
pub const GlobalAddAtom = GlobalAddAtomA;
pub const GlobalAddAtomEx = GlobalAddAtomExA;
pub const GlobalFindAtom = GlobalFindAtomA;
pub const GlobalGetAtomName = GlobalGetAtomNameA;
pub const AddAtom = AddAtomA;
pub const FindAtom = FindAtomA;
pub const GetAtomName = GetAtomNameA;
},
.wide => struct {
pub const MONHSZSTRUCT = MONHSZSTRUCTW;
pub const DdeInitialize = DdeInitializeW;
pub const DdeCreateStringHandle = DdeCreateStringHandleW;
pub const DdeQueryString = DdeQueryStringW;
pub const RegisterClipboardFormat = RegisterClipboardFormatW;
pub const GetClipboardFormatName = GetClipboardFormatNameW;
pub const GlobalAddAtom = GlobalAddAtomW;
pub const GlobalAddAtomEx = GlobalAddAtomExW;
pub const GlobalFindAtom = GlobalFindAtomW;
pub const GlobalGetAtomName = GlobalGetAtomNameW;
pub const AddAtom = AddAtomW;
pub const FindAtom = FindAtomW;
pub const GetAtomName = GetAtomNameW;
},
.unspecified => if (@import("builtin").is_test) struct {
pub const MONHSZSTRUCT = *opaque{};
pub const DdeInitialize = *opaque{};
pub const DdeCreateStringHandle = *opaque{};
pub const DdeQueryString = *opaque{};
pub const RegisterClipboardFormat = *opaque{};
pub const GetClipboardFormatName = *opaque{};
pub const GlobalAddAtom = *opaque{};
pub const GlobalAddAtomEx = *opaque{};
pub const GlobalFindAtom = *opaque{};
pub const GlobalGetAtomName = *opaque{};
pub const AddAtom = *opaque{};
pub const FindAtom = *opaque{};
pub const GetAtomName = *opaque{};
} else struct {
pub const MONHSZSTRUCT = @compileError("'MONHSZSTRUCT' requires that UNICODE be set to true or false in the root module");
pub const DdeInitialize = @compileError("'DdeInitialize' requires that UNICODE be set to true or false in the root module");
pub const DdeCreateStringHandle = @compileError("'DdeCreateStringHandle' requires that UNICODE be set to true or false in the root module");
pub const DdeQueryString = @compileError("'DdeQueryString' requires that UNICODE be set to true or false in the root module");
pub const RegisterClipboardFormat = @compileError("'RegisterClipboardFormat' requires that UNICODE be set to true or false in the root module");
pub const GetClipboardFormatName = @compileError("'GetClipboardFormatName' requires that UNICODE be set to true or false in the root module");
pub const GlobalAddAtom = @compileError("'GlobalAddAtom' requires that UNICODE be set to true or false in the root module");
pub const GlobalAddAtomEx = @compileError("'GlobalAddAtomEx' requires that UNICODE be set to true or false in the root module");
pub const GlobalFindAtom = @compileError("'GlobalFindAtom' requires that UNICODE be set to true or false in the root module");
pub const GlobalGetAtomName = @compileError("'GlobalGetAtomName' requires that UNICODE be set to true or false in the root module");
pub const AddAtom = @compileError("'AddAtom' requires that UNICODE be set to true or false in the root module");
pub const FindAtom = @compileError("'FindAtom' requires that UNICODE be set to true or false in the root module");
pub const GetAtomName = @compileError("'GetAtomName' requires that UNICODE be set to true or false in the root module");
},
};
//--------------------------------------------------------------------------------
// Section: Imports (10)
//--------------------------------------------------------------------------------
const LPARAM = @import("windows_and_messaging.zig").LPARAM;
const WPARAM = @import("windows_and_messaging.zig").WPARAM;
const PWSTR = @import("system_services.zig").PWSTR;
const CHAR = @import("system_services.zig").CHAR;
const HMETAFILE = @import("gdi.zig").HMETAFILE;
const SECURITY_QUALITY_OF_SERVICE = @import("security.zig").SECURITY_QUALITY_OF_SERVICE;
const HANDLE = @import("system_services.zig").HANDLE;
const PSTR = @import("system_services.zig").PSTR;
const BOOL = @import("system_services.zig").BOOL;
const HWND = @import("windows_and_messaging.zig").HWND;
test {
// The following '_ = <FuncPtrType>' lines are a workaround for https://github.com/ziglang/zig/issues/4476
if (@hasDecl(@This(), "PFNCALLBACK")) { _ = PFNCALLBACK; }
@setEvalBranchQuota(
@import("std").meta.declarations(@This()).len * 3
);
// reference all the pub declarations
if (!@import("std").builtin.is_test) return;
inline for (@import("std").meta.declarations(@This())) |decl| {
if (decl.is_pub) {
_ = decl;
}
}
}

18098
src/win32/api/debug.zig Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,58 @@
//! NOTE: this file is autogenerated, DO NOT MODIFY
//--------------------------------------------------------------------------------
// Section: Constants (0)
//--------------------------------------------------------------------------------
//--------------------------------------------------------------------------------
// Section: Types (0)
//--------------------------------------------------------------------------------
//--------------------------------------------------------------------------------
// Section: Functions (3)
//--------------------------------------------------------------------------------
pub extern "WSClient" fn CheckDeveloperLicense(
pExpiration: *FILETIME,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "WSClient" fn AcquireDeveloperLicense(
hwndParent: HWND,
pExpiration: *FILETIME,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "WSClient" fn RemoveDeveloperLicense(
hwndParent: HWND,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
//--------------------------------------------------------------------------------
// Section: Unicode Aliases (0)
//--------------------------------------------------------------------------------
pub usingnamespace switch (@import("../zig.zig").unicode_mode) {
.ansi => struct {
},
.wide => struct {
},
.unspecified => if (@import("builtin").is_test) struct {
} else struct {
},
};
//--------------------------------------------------------------------------------
// Section: Imports (3)
//--------------------------------------------------------------------------------
const FILETIME = @import("windows_programming.zig").FILETIME;
const HWND = @import("windows_and_messaging.zig").HWND;
const HRESULT = @import("com.zig").HRESULT;
test {
@setEvalBranchQuota(
@import("std").meta.declarations(@This()).len * 3
);
// reference all the pub declarations
if (!@import("std").builtin.is_test) return;
inline for (@import("std").meta.declarations(@This())) |decl| {
if (decl.is_pub) {
_ = decl;
}
}
}

View File

@ -0,0 +1,167 @@
//! NOTE: this file is autogenerated, DO NOT MODIFY
//--------------------------------------------------------------------------------
// Section: Constants (1)
//--------------------------------------------------------------------------------
pub const CLSID_DeviceIoControl = Guid.initString("12d3e372-874b-457d-9fdf-73977778686c");
//--------------------------------------------------------------------------------
// Section: Types (3)
//--------------------------------------------------------------------------------
const IID_IDeviceRequestCompletionCallback_Value = @import("../zig.zig").Guid.initString("999bad24-9acd-45bb-8669-2a2fc0288b04");
pub const IID_IDeviceRequestCompletionCallback = &IID_IDeviceRequestCompletionCallback_Value;
pub const IDeviceRequestCompletionCallback = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
Invoke: fn(
self: *const IDeviceRequestCompletionCallback,
requestResult: HRESULT,
bytesReturned: 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 IDeviceRequestCompletionCallback_Invoke(self: *const T, requestResult: HRESULT, bytesReturned: u32) callconv(.Inline) HRESULT {
return @ptrCast(*const IDeviceRequestCompletionCallback.VTable, self.vtable).Invoke(@ptrCast(*const IDeviceRequestCompletionCallback, self), requestResult, bytesReturned);
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IDeviceIoControl_Value = @import("../zig.zig").Guid.initString("9eefe161-23ab-4f18-9b49-991b586ae970");
pub const IID_IDeviceIoControl = &IID_IDeviceIoControl_Value;
pub const IDeviceIoControl = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
DeviceIoControlSync: fn(
self: *const IDeviceIoControl,
ioControlCode: u32,
inputBuffer: ?[*:0]u8,
inputBufferSize: u32,
outputBuffer: ?[*:0]u8,
outputBufferSize: u32,
bytesReturned: *u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
DeviceIoControlAsync: fn(
self: *const IDeviceIoControl,
ioControlCode: u32,
inputBuffer: ?[*:0]u8,
inputBufferSize: u32,
outputBuffer: ?[*:0]u8,
outputBufferSize: u32,
requestCompletionCallback: *IDeviceRequestCompletionCallback,
cancelContext: ?*usize,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
CancelOperation: fn(
self: *const IDeviceIoControl,
cancelContext: usize,
) 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 IDeviceIoControl_DeviceIoControlSync(self: *const T, ioControlCode: u32, inputBuffer: ?[*:0]u8, inputBufferSize: u32, outputBuffer: ?[*:0]u8, outputBufferSize: u32, bytesReturned: *u32) callconv(.Inline) HRESULT {
return @ptrCast(*const IDeviceIoControl.VTable, self.vtable).DeviceIoControlSync(@ptrCast(*const IDeviceIoControl, self), ioControlCode, inputBuffer, inputBufferSize, outputBuffer, outputBufferSize, bytesReturned);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IDeviceIoControl_DeviceIoControlAsync(self: *const T, ioControlCode: u32, inputBuffer: ?[*:0]u8, inputBufferSize: u32, outputBuffer: ?[*:0]u8, outputBufferSize: u32, requestCompletionCallback: *IDeviceRequestCompletionCallback, cancelContext: ?*usize) callconv(.Inline) HRESULT {
return @ptrCast(*const IDeviceIoControl.VTable, self.vtable).DeviceIoControlAsync(@ptrCast(*const IDeviceIoControl, self), ioControlCode, inputBuffer, inputBufferSize, outputBuffer, outputBufferSize, requestCompletionCallback, cancelContext);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IDeviceIoControl_CancelOperation(self: *const T, cancelContext: usize) callconv(.Inline) HRESULT {
return @ptrCast(*const IDeviceIoControl.VTable, self.vtable).CancelOperation(@ptrCast(*const IDeviceIoControl, self), cancelContext);
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_ICreateDeviceAccessAsync_Value = @import("../zig.zig").Guid.initString("3474628f-683d-42d2-abcb-db018c6503bc");
pub const IID_ICreateDeviceAccessAsync = &IID_ICreateDeviceAccessAsync_Value;
pub const ICreateDeviceAccessAsync = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
Cancel: fn(
self: *const ICreateDeviceAccessAsync,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
Wait: fn(
self: *const ICreateDeviceAccessAsync,
timeout: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
Close: fn(
self: *const ICreateDeviceAccessAsync,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
GetResult: fn(
self: *const ICreateDeviceAccessAsync,
riid: *const Guid,
deviceAccess: **c_void,
) 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 ICreateDeviceAccessAsync_Cancel(self: *const T) callconv(.Inline) HRESULT {
return @ptrCast(*const ICreateDeviceAccessAsync.VTable, self.vtable).Cancel(@ptrCast(*const ICreateDeviceAccessAsync, self));
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ICreateDeviceAccessAsync_Wait(self: *const T, timeout: u32) callconv(.Inline) HRESULT {
return @ptrCast(*const ICreateDeviceAccessAsync.VTable, self.vtable).Wait(@ptrCast(*const ICreateDeviceAccessAsync, self), timeout);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ICreateDeviceAccessAsync_Close(self: *const T) callconv(.Inline) HRESULT {
return @ptrCast(*const ICreateDeviceAccessAsync.VTable, self.vtable).Close(@ptrCast(*const ICreateDeviceAccessAsync, self));
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ICreateDeviceAccessAsync_GetResult(self: *const T, riid: *const Guid, deviceAccess: **c_void) callconv(.Inline) HRESULT {
return @ptrCast(*const ICreateDeviceAccessAsync.VTable, self.vtable).GetResult(@ptrCast(*const ICreateDeviceAccessAsync, self), riid, deviceAccess);
}
};}
pub usingnamespace MethodMixin(@This());
};
//--------------------------------------------------------------------------------
// Section: Functions (1)
//--------------------------------------------------------------------------------
pub extern "deviceaccess" fn CreateDeviceAccessInstance(
deviceInterfacePath: [*:0]const u16,
desiredAccess: u32,
createAsync: **ICreateDeviceAccessAsync,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
//--------------------------------------------------------------------------------
// Section: Unicode Aliases (0)
//--------------------------------------------------------------------------------
pub usingnamespace switch (@import("../zig.zig").unicode_mode) {
.ansi => struct {
},
.wide => struct {
},
.unspecified => if (@import("builtin").is_test) struct {
} else struct {
},
};
//--------------------------------------------------------------------------------
// Section: Imports (4)
//--------------------------------------------------------------------------------
const Guid = @import("../zig.zig").Guid;
const PWSTR = @import("system_services.zig").PWSTR;
const IUnknown = @import("com.zig").IUnknown;
const HRESULT = @import("com.zig").HRESULT;
test {
@setEvalBranchQuota(
@import("std").meta.declarations(@This()).len * 3
);
// reference all the pub declarations
if (!@import("std").builtin.is_test) return;
inline for (@import("std").meta.declarations(@This())) |decl| {
if (decl.is_pub) {
_ = decl;
}
}
}

File diff suppressed because it is too large Load Diff

3446
src/win32/api/dhcp.zig Normal file

File diff suppressed because it is too large Load Diff

9408
src/win32/api/direct2d.zig Normal file

File diff suppressed because it is too large Load Diff

6587
src/win32/api/direct3d10.zig Normal file

File diff suppressed because it is too large Load Diff

11627
src/win32/api/direct3d11.zig Normal file

File diff suppressed because it is too large Load Diff

10162
src/win32/api/direct3d12.zig Normal file

File diff suppressed because it is too large Load Diff

4885
src/win32/api/direct3d9.zig Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,414 @@
//! NOTE: this file is autogenerated, DO NOT MODIFY
//--------------------------------------------------------------------------------
// Section: Constants (47)
//--------------------------------------------------------------------------------
pub const D3DCOMPILER_DLL = "d3dcompiler_47.dll";
pub const D3DCOMPILE_OPTIMIZATION_LEVEL2 = @as(u32, 49152);
pub const D3D_COMPILE_STANDARD_FILE_INCLUDE = @as(u32, 1);
pub const D3D_COMPILER_VERSION = @as(u32, 47);
pub const D3DCOMPILE_DEBUG = @as(u32, 1);
pub const D3DCOMPILE_SKIP_VALIDATION = @as(u32, 2);
pub const D3DCOMPILE_SKIP_OPTIMIZATION = @as(u32, 4);
pub const D3DCOMPILE_PACK_MATRIX_ROW_MAJOR = @as(u32, 8);
pub const D3DCOMPILE_PACK_MATRIX_COLUMN_MAJOR = @as(u32, 16);
pub const D3DCOMPILE_PARTIAL_PRECISION = @as(u32, 32);
pub const D3DCOMPILE_FORCE_VS_SOFTWARE_NO_OPT = @as(u32, 64);
pub const D3DCOMPILE_FORCE_PS_SOFTWARE_NO_OPT = @as(u32, 128);
pub const D3DCOMPILE_NO_PRESHADER = @as(u32, 256);
pub const D3DCOMPILE_AVOID_FLOW_CONTROL = @as(u32, 512);
pub const D3DCOMPILE_PREFER_FLOW_CONTROL = @as(u32, 1024);
pub const D3DCOMPILE_ENABLE_STRICTNESS = @as(u32, 2048);
pub const D3DCOMPILE_ENABLE_BACKWARDS_COMPATIBILITY = @as(u32, 4096);
pub const D3DCOMPILE_IEEE_STRICTNESS = @as(u32, 8192);
pub const D3DCOMPILE_OPTIMIZATION_LEVEL0 = @as(u32, 16384);
pub const D3DCOMPILE_OPTIMIZATION_LEVEL1 = @as(u32, 0);
pub const D3DCOMPILE_OPTIMIZATION_LEVEL3 = @as(u32, 32768);
pub const D3DCOMPILE_RESERVED16 = @as(u32, 65536);
pub const D3DCOMPILE_RESERVED17 = @as(u32, 131072);
pub const D3DCOMPILE_WARNINGS_ARE_ERRORS = @as(u32, 262144);
pub const D3DCOMPILE_RESOURCES_MAY_ALIAS = @as(u32, 524288);
pub const D3DCOMPILE_ENABLE_UNBOUNDED_DESCRIPTOR_TABLES = @as(u32, 1048576);
pub const D3DCOMPILE_ALL_RESOURCES_BOUND = @as(u32, 2097152);
pub const D3DCOMPILE_DEBUG_NAME_FOR_SOURCE = @as(u32, 4194304);
pub const D3DCOMPILE_DEBUG_NAME_FOR_BINARY = @as(u32, 8388608);
pub const D3DCOMPILE_EFFECT_CHILD_EFFECT = @as(u32, 1);
pub const D3DCOMPILE_EFFECT_ALLOW_SLOW_OPS = @as(u32, 2);
pub const D3DCOMPILE_FLAGS2_FORCE_ROOT_SIGNATURE_LATEST = @as(u32, 0);
pub const D3DCOMPILE_FLAGS2_FORCE_ROOT_SIGNATURE_1_0 = @as(u32, 16);
pub const D3DCOMPILE_FLAGS2_FORCE_ROOT_SIGNATURE_1_1 = @as(u32, 32);
pub const D3DCOMPILE_SECDATA_MERGE_UAV_SLOTS = @as(u32, 1);
pub const D3DCOMPILE_SECDATA_PRESERVE_TEMPLATE_SLOTS = @as(u32, 2);
pub const D3DCOMPILE_SECDATA_REQUIRE_TEMPLATE_MATCH = @as(u32, 4);
pub const D3D_DISASM_ENABLE_COLOR_CODE = @as(u32, 1);
pub const D3D_DISASM_ENABLE_DEFAULT_VALUE_PRINTS = @as(u32, 2);
pub const D3D_DISASM_ENABLE_INSTRUCTION_NUMBERING = @as(u32, 4);
pub const D3D_DISASM_ENABLE_INSTRUCTION_CYCLE = @as(u32, 8);
pub const D3D_DISASM_DISABLE_DEBUG_INFO = @as(u32, 16);
pub const D3D_DISASM_ENABLE_INSTRUCTION_OFFSET = @as(u32, 32);
pub const D3D_DISASM_INSTRUCTION_ONLY = @as(u32, 64);
pub const D3D_DISASM_PRINT_HEX_LITERALS = @as(u32, 128);
pub const D3D_GET_INST_OFFSETS_INCLUDE_NON_EXECUTABLE = @as(u32, 1);
pub const D3D_COMPRESS_SHADER_KEEP_ALL_PARTS = @as(u32, 1);
//--------------------------------------------------------------------------------
// Section: Types (6)
//--------------------------------------------------------------------------------
pub const pD3DCompile = fn(
pSrcData: *const c_void,
SrcDataSize: usize,
pFileName: [*:0]const u8,
pDefines: *const D3D_SHADER_MACRO,
pInclude: *ID3DInclude,
pEntrypoint: [*:0]const u8,
pTarget: [*:0]const u8,
Flags1: u32,
Flags2: u32,
ppCode: **ID3DBlob,
ppErrorMsgs: **ID3DBlob,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub const pD3DPreprocess = fn(
pSrcData: *const c_void,
SrcDataSize: usize,
pFileName: [*:0]const u8,
pDefines: *const D3D_SHADER_MACRO,
pInclude: *ID3DInclude,
ppCodeText: **ID3DBlob,
ppErrorMsgs: **ID3DBlob,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub const pD3DDisassemble = fn(
// TODO: what to do with BytesParamIndex 1?
pSrcData: *const c_void,
SrcDataSize: usize,
Flags: u32,
szComments: ?[*:0]const u8,
ppDisassembly: **ID3DBlob,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub const D3DCOMPILER_STRIP_FLAGS = extern enum(i32) {
REFLECTION_DATA = 1,
DEBUG_INFO = 2,
TEST_BLOBS = 4,
PRIVATE_DATA = 8,
ROOT_SIGNATURE = 16,
FORCE_DWORD = 2147483647,
};
pub const D3DCOMPILER_STRIP_REFLECTION_DATA = D3DCOMPILER_STRIP_FLAGS.REFLECTION_DATA;
pub const D3DCOMPILER_STRIP_DEBUG_INFO = D3DCOMPILER_STRIP_FLAGS.DEBUG_INFO;
pub const D3DCOMPILER_STRIP_TEST_BLOBS = D3DCOMPILER_STRIP_FLAGS.TEST_BLOBS;
pub const D3DCOMPILER_STRIP_PRIVATE_DATA = D3DCOMPILER_STRIP_FLAGS.PRIVATE_DATA;
pub const D3DCOMPILER_STRIP_ROOT_SIGNATURE = D3DCOMPILER_STRIP_FLAGS.ROOT_SIGNATURE;
pub const D3DCOMPILER_STRIP_FORCE_DWORD = D3DCOMPILER_STRIP_FLAGS.FORCE_DWORD;
pub const D3D_BLOB_PART = extern enum(i32) {
INPUT_SIGNATURE_BLOB = 0,
OUTPUT_SIGNATURE_BLOB = 1,
INPUT_AND_OUTPUT_SIGNATURE_BLOB = 2,
PATCH_CONSTANT_SIGNATURE_BLOB = 3,
ALL_SIGNATURE_BLOB = 4,
DEBUG_INFO = 5,
LEGACY_SHADER = 6,
XNA_PREPASS_SHADER = 7,
XNA_SHADER = 8,
PDB = 9,
PRIVATE_DATA = 10,
ROOT_SIGNATURE = 11,
DEBUG_NAME = 12,
TEST_ALTERNATE_SHADER = 32768,
TEST_COMPILE_DETAILS = 32769,
TEST_COMPILE_PERF = 32770,
TEST_COMPILE_REPORT = 32771,
};
pub const D3D_BLOB_INPUT_SIGNATURE_BLOB = D3D_BLOB_PART.INPUT_SIGNATURE_BLOB;
pub const D3D_BLOB_OUTPUT_SIGNATURE_BLOB = D3D_BLOB_PART.OUTPUT_SIGNATURE_BLOB;
pub const D3D_BLOB_INPUT_AND_OUTPUT_SIGNATURE_BLOB = D3D_BLOB_PART.INPUT_AND_OUTPUT_SIGNATURE_BLOB;
pub const D3D_BLOB_PATCH_CONSTANT_SIGNATURE_BLOB = D3D_BLOB_PART.PATCH_CONSTANT_SIGNATURE_BLOB;
pub const D3D_BLOB_ALL_SIGNATURE_BLOB = D3D_BLOB_PART.ALL_SIGNATURE_BLOB;
pub const D3D_BLOB_DEBUG_INFO = D3D_BLOB_PART.DEBUG_INFO;
pub const D3D_BLOB_LEGACY_SHADER = D3D_BLOB_PART.LEGACY_SHADER;
pub const D3D_BLOB_XNA_PREPASS_SHADER = D3D_BLOB_PART.XNA_PREPASS_SHADER;
pub const D3D_BLOB_XNA_SHADER = D3D_BLOB_PART.XNA_SHADER;
pub const D3D_BLOB_PDB = D3D_BLOB_PART.PDB;
pub const D3D_BLOB_PRIVATE_DATA = D3D_BLOB_PART.PRIVATE_DATA;
pub const D3D_BLOB_ROOT_SIGNATURE = D3D_BLOB_PART.ROOT_SIGNATURE;
pub const D3D_BLOB_DEBUG_NAME = D3D_BLOB_PART.DEBUG_NAME;
pub const D3D_BLOB_TEST_ALTERNATE_SHADER = D3D_BLOB_PART.TEST_ALTERNATE_SHADER;
pub const D3D_BLOB_TEST_COMPILE_DETAILS = D3D_BLOB_PART.TEST_COMPILE_DETAILS;
pub const D3D_BLOB_TEST_COMPILE_PERF = D3D_BLOB_PART.TEST_COMPILE_PERF;
pub const D3D_BLOB_TEST_COMPILE_REPORT = D3D_BLOB_PART.TEST_COMPILE_REPORT;
pub const D3D_SHADER_DATA = extern struct {
pBytecode: *const c_void,
BytecodeLength: usize,
};
//--------------------------------------------------------------------------------
// Section: Functions (25)
//--------------------------------------------------------------------------------
pub extern "D3DCOMPILER_47" fn D3DReadFileToBlob(
pFileName: [*:0]const u16,
ppContents: **ID3DBlob,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "D3DCOMPILER_47" fn D3DWriteBlobToFile(
pBlob: *ID3DBlob,
pFileName: [*:0]const u16,
bOverwrite: BOOL,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "D3DCOMPILER_47" fn D3DCompile(
// TODO: what to do with BytesParamIndex 1?
pSrcData: *const c_void,
SrcDataSize: usize,
pSourceName: ?[*:0]const u8,
pDefines: ?*const D3D_SHADER_MACRO,
pInclude: ?*ID3DInclude,
pEntrypoint: ?[*:0]const u8,
pTarget: [*:0]const u8,
Flags1: u32,
Flags2: u32,
ppCode: **ID3DBlob,
ppErrorMsgs: ?*?*ID3DBlob,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "D3DCOMPILER_47" fn D3DCompile2(
// TODO: what to do with BytesParamIndex 1?
pSrcData: *const c_void,
SrcDataSize: usize,
pSourceName: ?[*:0]const u8,
pDefines: ?*const D3D_SHADER_MACRO,
pInclude: ?*ID3DInclude,
pEntrypoint: [*:0]const u8,
pTarget: [*:0]const u8,
Flags1: u32,
Flags2: u32,
SecondaryDataFlags: u32,
// TODO: what to do with BytesParamIndex 11?
pSecondaryData: ?*const c_void,
SecondaryDataSize: usize,
ppCode: **ID3DBlob,
ppErrorMsgs: ?*?*ID3DBlob,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "D3DCOMPILER_47" fn D3DCompileFromFile(
pFileName: [*:0]const u16,
pDefines: ?*const D3D_SHADER_MACRO,
pInclude: ?*ID3DInclude,
pEntrypoint: [*:0]const u8,
pTarget: [*:0]const u8,
Flags1: u32,
Flags2: u32,
ppCode: **ID3DBlob,
ppErrorMsgs: ?*?*ID3DBlob,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "D3DCOMPILER_47" fn D3DPreprocess(
// TODO: what to do with BytesParamIndex 1?
pSrcData: *const c_void,
SrcDataSize: usize,
pSourceName: ?[*:0]const u8,
pDefines: ?*const D3D_SHADER_MACRO,
pInclude: ?*ID3DInclude,
ppCodeText: **ID3DBlob,
ppErrorMsgs: ?*?*ID3DBlob,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "D3DCOMPILER_47" fn D3DGetDebugInfo(
// TODO: what to do with BytesParamIndex 1?
pSrcData: *const c_void,
SrcDataSize: usize,
ppDebugInfo: **ID3DBlob,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "D3DCOMPILER_47" fn D3DReflect(
// TODO: what to do with BytesParamIndex 1?
pSrcData: *const c_void,
SrcDataSize: usize,
pInterface: *const Guid,
ppReflector: **c_void,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "D3DCOMPILER_47" fn D3DReflectLibrary(
// TODO: what to do with BytesParamIndex 1?
pSrcData: *const c_void,
SrcDataSize: usize,
riid: *const Guid,
ppReflector: **c_void,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "D3DCOMPILER_47" fn D3DDisassemble(
// TODO: what to do with BytesParamIndex 1?
pSrcData: *const c_void,
SrcDataSize: usize,
Flags: u32,
szComments: ?[*:0]const u8,
ppDisassembly: **ID3DBlob,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "D3DCOMPILER_47" fn D3DDisassembleRegion(
// TODO: what to do with BytesParamIndex 1?
pSrcData: *const c_void,
SrcDataSize: usize,
Flags: u32,
szComments: ?[*:0]const u8,
StartByteOffset: usize,
NumInsts: usize,
pFinishByteOffset: ?*usize,
ppDisassembly: **ID3DBlob,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "D3DCOMPILER_47" fn D3DCreateLinker(
ppLinker: **ID3D11Linker,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "D3DCOMPILER_47" fn D3DLoadModule(
pSrcData: *const c_void,
cbSrcDataSize: usize,
ppModule: **ID3D11Module,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "D3DCOMPILER_47" fn D3DCreateFunctionLinkingGraph(
uFlags: u32,
ppFunctionLinkingGraph: **ID3D11FunctionLinkingGraph,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "D3DCOMPILER_47" fn D3DGetTraceInstructionOffsets(
// TODO: what to do with BytesParamIndex 1?
pSrcData: *const c_void,
SrcDataSize: usize,
Flags: u32,
StartInstIndex: usize,
NumInsts: usize,
pOffsets: ?[*]usize,
pTotalInsts: ?*usize,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "D3DCOMPILER_47" fn D3DGetInputSignatureBlob(
// TODO: what to do with BytesParamIndex 1?
pSrcData: *const c_void,
SrcDataSize: usize,
ppSignatureBlob: **ID3DBlob,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "D3DCOMPILER_47" fn D3DGetOutputSignatureBlob(
// TODO: what to do with BytesParamIndex 1?
pSrcData: *const c_void,
SrcDataSize: usize,
ppSignatureBlob: **ID3DBlob,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "D3DCOMPILER_47" fn D3DGetInputAndOutputSignatureBlob(
// TODO: what to do with BytesParamIndex 1?
pSrcData: *const c_void,
SrcDataSize: usize,
ppSignatureBlob: **ID3DBlob,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "D3DCOMPILER_47" fn D3DStripShader(
// TODO: what to do with BytesParamIndex 1?
pShaderBytecode: *const c_void,
BytecodeLength: usize,
uStripFlags: u32,
ppStrippedBlob: **ID3DBlob,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "D3DCOMPILER_47" fn D3DGetBlobPart(
// TODO: what to do with BytesParamIndex 1?
pSrcData: *const c_void,
SrcDataSize: usize,
Part: D3D_BLOB_PART,
Flags: u32,
ppPart: **ID3DBlob,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "D3DCOMPILER_47" fn D3DSetBlobPart(
// TODO: what to do with BytesParamIndex 1?
pSrcData: *const c_void,
SrcDataSize: usize,
Part: D3D_BLOB_PART,
Flags: u32,
// TODO: what to do with BytesParamIndex 5?
pPart: *const c_void,
PartSize: usize,
ppNewShader: **ID3DBlob,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "D3DCOMPILER_47" fn D3DCreateBlob(
Size: usize,
ppBlob: **ID3DBlob,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "D3DCOMPILER_47" fn D3DCompressShaders(
uNumShaders: u32,
pShaderData: [*]D3D_SHADER_DATA,
uFlags: u32,
ppCompressedData: **ID3DBlob,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "D3DCOMPILER_47" fn D3DDecompressShaders(
// TODO: what to do with BytesParamIndex 1?
pSrcData: *const c_void,
SrcDataSize: usize,
uNumShaders: u32,
uStartIndex: u32,
pIndices: ?[*]u32,
uFlags: u32,
ppShaders: [*]*ID3DBlob,
pTotalShaders: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "D3DCOMPILER_47" fn D3DDisassemble10Effect(
pEffect: *ID3D10Effect,
Flags: u32,
ppDisassembly: **ID3DBlob,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
//--------------------------------------------------------------------------------
// Section: Unicode Aliases (0)
//--------------------------------------------------------------------------------
pub usingnamespace switch (@import("../zig.zig").unicode_mode) {
.ansi => struct {
},
.wide => struct {
},
.unspecified => if (@import("builtin").is_test) struct {
} else struct {
},
};
//--------------------------------------------------------------------------------
// Section: Imports (12)
//--------------------------------------------------------------------------------
const Guid = @import("../zig.zig").Guid;
const ID3D11Module = @import("direct3d11.zig").ID3D11Module;
const PWSTR = @import("system_services.zig").PWSTR;
const ID3D10Effect = @import("direct3d10.zig").ID3D10Effect;
const ID3D11Linker = @import("direct3d11.zig").ID3D11Linker;
const ID3D11FunctionLinkingGraph = @import("direct3d11.zig").ID3D11FunctionLinkingGraph;
const HRESULT = @import("com.zig").HRESULT;
const PSTR = @import("system_services.zig").PSTR;
const D3D_SHADER_MACRO = @import("direct3d11.zig").D3D_SHADER_MACRO;
const ID3DInclude = @import("direct3d11.zig").ID3DInclude;
const ID3DBlob = @import("direct3d11.zig").ID3DBlob;
const BOOL = @import("system_services.zig").BOOL;
test {
// The following '_ = <FuncPtrType>' lines are a workaround for https://github.com/ziglang/zig/issues/4476
if (@hasDecl(@This(), "pD3DCompile")) { _ = pD3DCompile; }
if (@hasDecl(@This(), "pD3DPreprocess")) { _ = pD3DPreprocess; }
if (@hasDecl(@This(), "pD3DDisassemble")) { _ = pD3DDisassemble; }
@setEvalBranchQuota(
@import("std").meta.declarations(@This()).len * 3
);
// reference all the pub declarations
if (!@import("std").builtin.is_test) return;
inline for (@import("std").meta.declarations(@This())) |decl| {
if (decl.is_pub) {
_ = decl;
}
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

1555
src/win32/api/direct_ml.zig Normal file

File diff suppressed because it is too large Load Diff

46765
src/win32/api/direct_show.zig Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,531 @@
//! NOTE: this file is autogenerated, DO NOT MODIFY
//--------------------------------------------------------------------------------
// Section: Constants (31)
//--------------------------------------------------------------------------------
pub const DFS_VOLUME_STATES = @as(u32, 15);
pub const DFS_VOLUME_STATE_OK = @as(u32, 1);
pub const DFS_VOLUME_STATE_INCONSISTENT = @as(u32, 2);
pub const DFS_VOLUME_STATE_OFFLINE = @as(u32, 3);
pub const DFS_VOLUME_STATE_ONLINE = @as(u32, 4);
pub const DFS_VOLUME_STATE_RESYNCHRONIZE = @as(u32, 16);
pub const DFS_VOLUME_STATE_STANDBY = @as(u32, 32);
pub const DFS_VOLUME_STATE_FORCE_SYNC = @as(u32, 64);
pub const DFS_VOLUME_FLAVORS = @as(u32, 768);
pub const DFS_VOLUME_FLAVOR_UNUSED1 = @as(u32, 0);
pub const DFS_VOLUME_FLAVOR_STANDALONE = @as(u32, 256);
pub const DFS_VOLUME_FLAVOR_AD_BLOB = @as(u32, 512);
pub const DFS_STORAGE_FLAVOR_UNUSED2 = @as(u32, 768);
pub const DFS_STORAGE_STATES = @as(u32, 15);
pub const DFS_STORAGE_STATE_OFFLINE = @as(u32, 1);
pub const DFS_STORAGE_STATE_ONLINE = @as(u32, 2);
pub const DFS_STORAGE_STATE_ACTIVE = @as(u32, 4);
pub const DFS_PROPERTY_FLAG_INSITE_REFERRALS = @as(u32, 1);
pub const DFS_PROPERTY_FLAG_ROOT_SCALABILITY = @as(u32, 2);
pub const DFS_PROPERTY_FLAG_SITE_COSTING = @as(u32, 4);
pub const DFS_PROPERTY_FLAG_TARGET_FAILBACK = @as(u32, 8);
pub const DFS_PROPERTY_FLAG_CLUSTER_ENABLED = @as(u32, 16);
pub const DFS_PROPERTY_FLAG_ABDE = @as(u32, 32);
pub const DFS_ADD_VOLUME = @as(u32, 1);
pub const DFS_RESTORE_VOLUME = @as(u32, 2);
pub const NET_DFS_SETDC_FLAGS = @as(u32, 0);
pub const NET_DFS_SETDC_TIMEOUT = @as(u32, 1);
pub const NET_DFS_SETDC_INITPKT = @as(u32, 2);
pub const DFS_SITE_PRIMARY = @as(u32, 1);
pub const DFS_MOVE_FLAG_REPLACE_IF_EXISTS = @as(u32, 1);
pub const DFS_FORCE_REMOVE = @as(u32, 2147483648);
//--------------------------------------------------------------------------------
// Section: Types (35)
//--------------------------------------------------------------------------------
pub usingnamespace switch (@import("../zig.zig").arch) {
.X64, .Arm64 => struct {
pub const DFS_INFO_1_32 = extern struct {
EntryPath: u32,
};
}, else => struct { } };
pub usingnamespace switch (@import("../zig.zig").arch) {
.X64, .Arm64 => struct {
pub const DFS_INFO_2_32 = extern struct {
EntryPath: u32,
Comment: u32,
State: u32,
NumberOfStorages: u32,
};
}, else => struct { } };
pub usingnamespace switch (@import("../zig.zig").arch) {
.X64, .Arm64 => struct {
pub const DFS_STORAGE_INFO_0_32 = extern struct {
State: u32,
ServerName: u32,
ShareName: u32,
};
}, else => struct { } };
pub usingnamespace switch (@import("../zig.zig").arch) {
.X64, .Arm64 => struct {
pub const DFS_INFO_3_32 = extern struct {
EntryPath: u32,
Comment: u32,
State: u32,
NumberOfStorages: u32,
Storage: u32,
};
}, else => struct { } };
pub usingnamespace switch (@import("../zig.zig").arch) {
.X64, .Arm64 => struct {
pub const DFS_INFO_4_32 = extern struct {
EntryPath: u32,
Comment: u32,
State: u32,
Timeout: u32,
Guid: Guid,
NumberOfStorages: u32,
Storage: u32,
};
}, else => struct { } };
pub const DFS_TARGET_PRIORITY_CLASS = extern enum(i32) {
InvalidPriorityClass = -1,
SiteCostNormalPriorityClass = 0,
GlobalHighPriorityClass = 1,
SiteCostHighPriorityClass = 2,
SiteCostLowPriorityClass = 3,
GlobalLowPriorityClass = 4,
};
pub const DfsInvalidPriorityClass = DFS_TARGET_PRIORITY_CLASS.InvalidPriorityClass;
pub const DfsSiteCostNormalPriorityClass = DFS_TARGET_PRIORITY_CLASS.SiteCostNormalPriorityClass;
pub const DfsGlobalHighPriorityClass = DFS_TARGET_PRIORITY_CLASS.GlobalHighPriorityClass;
pub const DfsSiteCostHighPriorityClass = DFS_TARGET_PRIORITY_CLASS.SiteCostHighPriorityClass;
pub const DfsSiteCostLowPriorityClass = DFS_TARGET_PRIORITY_CLASS.SiteCostLowPriorityClass;
pub const DfsGlobalLowPriorityClass = DFS_TARGET_PRIORITY_CLASS.GlobalLowPriorityClass;
pub const DFS_TARGET_PRIORITY = extern struct {
TargetPriorityClass: DFS_TARGET_PRIORITY_CLASS,
TargetPriorityRank: u16,
Reserved: u16,
};
pub const DFS_INFO_1 = extern struct {
EntryPath: PWSTR,
};
pub const DFS_INFO_2 = extern struct {
EntryPath: PWSTR,
Comment: PWSTR,
State: u32,
NumberOfStorages: u32,
};
pub const DFS_STORAGE_INFO = extern struct {
State: u32,
ServerName: PWSTR,
ShareName: PWSTR,
};
pub const DFS_STORAGE_INFO_1 = extern struct {
State: u32,
ServerName: PWSTR,
ShareName: PWSTR,
TargetPriority: DFS_TARGET_PRIORITY,
};
pub const DFS_INFO_3 = extern struct {
EntryPath: PWSTR,
Comment: PWSTR,
State: u32,
NumberOfStorages: u32,
Storage: *DFS_STORAGE_INFO,
};
pub const DFS_INFO_4 = extern struct {
EntryPath: PWSTR,
Comment: PWSTR,
State: u32,
Timeout: u32,
Guid: Guid,
NumberOfStorages: u32,
Storage: *DFS_STORAGE_INFO,
};
pub const DFS_INFO_5 = extern struct {
EntryPath: PWSTR,
Comment: PWSTR,
State: u32,
Timeout: u32,
Guid: Guid,
PropertyFlags: u32,
MetadataSize: u32,
NumberOfStorages: u32,
};
pub const DFS_INFO_6 = extern struct {
EntryPath: PWSTR,
Comment: PWSTR,
State: u32,
Timeout: u32,
Guid: Guid,
PropertyFlags: u32,
MetadataSize: u32,
NumberOfStorages: u32,
Storage: *DFS_STORAGE_INFO_1,
};
pub const DFS_INFO_7 = extern struct {
GenerationGuid: Guid,
};
pub const DFS_INFO_8 = extern struct {
EntryPath: PWSTR,
Comment: PWSTR,
State: u32,
Timeout: u32,
Guid: Guid,
PropertyFlags: u32,
MetadataSize: u32,
SdLengthReserved: u32,
pSecurityDescriptor: *SECURITY_DESCRIPTOR,
NumberOfStorages: u32,
};
pub const DFS_INFO_9 = extern struct {
EntryPath: PWSTR,
Comment: PWSTR,
State: u32,
Timeout: u32,
Guid: Guid,
PropertyFlags: u32,
MetadataSize: u32,
SdLengthReserved: u32,
pSecurityDescriptor: *SECURITY_DESCRIPTOR,
NumberOfStorages: u32,
Storage: *DFS_STORAGE_INFO_1,
};
pub const DFS_INFO_50 = extern struct {
NamespaceMajorVersion: u32,
NamespaceMinorVersion: u32,
NamespaceCapabilities: u64,
};
pub const DFS_INFO_100 = extern struct {
Comment: PWSTR,
};
pub const DFS_INFO_101 = extern struct {
State: u32,
};
pub const DFS_INFO_102 = extern struct {
Timeout: u32,
};
pub const DFS_INFO_103 = extern struct {
PropertyFlagMask: u32,
PropertyFlags: u32,
};
pub const DFS_INFO_104 = extern struct {
TargetPriority: DFS_TARGET_PRIORITY,
};
pub const DFS_INFO_105 = extern struct {
Comment: PWSTR,
State: u32,
Timeout: u32,
PropertyFlagMask: u32,
PropertyFlags: u32,
};
pub const DFS_INFO_106 = extern struct {
State: u32,
TargetPriority: DFS_TARGET_PRIORITY,
};
pub const DFS_INFO_107 = extern struct {
Comment: PWSTR,
State: u32,
Timeout: u32,
PropertyFlagMask: u32,
PropertyFlags: u32,
SdLengthReserved: u32,
pSecurityDescriptor: *SECURITY_DESCRIPTOR,
};
pub const DFS_INFO_150 = extern struct {
SdLengthReserved: u32,
pSecurityDescriptor: *SECURITY_DESCRIPTOR,
};
pub const DFS_INFO_200 = extern struct {
FtDfsName: PWSTR,
};
pub const DFS_INFO_300 = extern struct {
Flags: u32,
DfsName: PWSTR,
};
pub const DFS_SITENAME_INFO = extern struct {
SiteFlags: u32,
SiteName: PWSTR,
};
pub const DFS_SITELIST_INFO = extern struct {
cSites: u32,
Site: [1]DFS_SITENAME_INFO,
};
pub const DFS_NAMESPACE_VERSION_ORIGIN = extern enum(i32) {
COMBINED = 0,
SERVER = 1,
DOMAIN = 2,
};
pub const DFS_NAMESPACE_VERSION_ORIGIN_COMBINED = DFS_NAMESPACE_VERSION_ORIGIN.COMBINED;
pub const DFS_NAMESPACE_VERSION_ORIGIN_SERVER = DFS_NAMESPACE_VERSION_ORIGIN.SERVER;
pub const DFS_NAMESPACE_VERSION_ORIGIN_DOMAIN = DFS_NAMESPACE_VERSION_ORIGIN.DOMAIN;
pub const DFS_SUPPORTED_NAMESPACE_VERSION_INFO = extern struct {
DomainDfsMajorVersion: u32,
DomainDfsMinorVersion: u32,
DomainDfsCapabilities: u64,
StandaloneDfsMajorVersion: u32,
StandaloneDfsMinorVersion: u32,
StandaloneDfsCapabilities: u64,
};
pub const DFS_GET_PKT_ENTRY_STATE_ARG = extern struct {
DfsEntryPathLen: u16,
ServerNameLen: u16,
ShareNameLen: u16,
Level: u32,
Buffer: [1]u16,
};
//--------------------------------------------------------------------------------
// Section: Functions (22)
//--------------------------------------------------------------------------------
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dfscli" fn NetDfsAdd(
DfsEntryPath: PWSTR,
ServerName: PWSTR,
ShareName: PWSTR,
Comment: ?PWSTR,
Flags: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dfscli" fn NetDfsAddStdRoot(
ServerName: PWSTR,
RootShare: PWSTR,
Comment: ?PWSTR,
Flags: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dfscli" fn NetDfsRemoveStdRoot(
ServerName: PWSTR,
RootShare: PWSTR,
Flags: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dfscli" fn NetDfsAddFtRoot(
ServerName: PWSTR,
RootShare: PWSTR,
FtDfsName: PWSTR,
Comment: ?PWSTR,
Flags: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dfscli" fn NetDfsRemoveFtRoot(
ServerName: PWSTR,
RootShare: PWSTR,
FtDfsName: PWSTR,
Flags: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dfscli" fn NetDfsRemoveFtRootForced(
DomainName: PWSTR,
ServerName: PWSTR,
RootShare: PWSTR,
FtDfsName: PWSTR,
Flags: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dfscli" fn NetDfsRemove(
DfsEntryPath: PWSTR,
ServerName: ?PWSTR,
ShareName: ?PWSTR,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dfscli" fn NetDfsEnum(
DfsName: PWSTR,
Level: u32,
PrefMaxLen: u32,
Buffer: **u8,
EntriesRead: *u32,
ResumeHandle: *u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dfscli" fn NetDfsGetInfo(
DfsEntryPath: PWSTR,
ServerName: ?PWSTR,
ShareName: ?PWSTR,
Level: u32,
Buffer: **u8,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dfscli" fn NetDfsSetInfo(
DfsEntryPath: PWSTR,
ServerName: ?PWSTR,
ShareName: ?PWSTR,
Level: u32,
Buffer: *u8,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dfscli" fn NetDfsGetClientInfo(
DfsEntryPath: PWSTR,
ServerName: ?PWSTR,
ShareName: ?PWSTR,
Level: u32,
Buffer: **u8,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dfscli" fn NetDfsSetClientInfo(
DfsEntryPath: PWSTR,
ServerName: ?PWSTR,
ShareName: ?PWSTR,
Level: u32,
Buffer: *u8,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dfscli" fn NetDfsMove(
OldDfsEntryPath: PWSTR,
NewDfsEntryPath: PWSTR,
Flags: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dfscli" fn NetDfsAddRootTarget(
pDfsPath: PWSTR,
pTargetPath: ?PWSTR,
MajorVersion: u32,
pComment: ?PWSTR,
Flags: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dfscli" fn NetDfsRemoveRootTarget(
pDfsPath: PWSTR,
pTargetPath: ?PWSTR,
Flags: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dfscli" fn NetDfsGetSecurity(
DfsEntryPath: PWSTR,
SecurityInformation: u32,
ppSecurityDescriptor: **SECURITY_DESCRIPTOR,
lpcbSecurityDescriptor: *u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dfscli" fn NetDfsSetSecurity(
DfsEntryPath: PWSTR,
SecurityInformation: u32,
pSecurityDescriptor: *SECURITY_DESCRIPTOR,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dfscli" fn NetDfsGetStdContainerSecurity(
MachineName: PWSTR,
SecurityInformation: u32,
ppSecurityDescriptor: **SECURITY_DESCRIPTOR,
lpcbSecurityDescriptor: *u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dfscli" fn NetDfsSetStdContainerSecurity(
MachineName: PWSTR,
SecurityInformation: u32,
pSecurityDescriptor: *SECURITY_DESCRIPTOR,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dfscli" fn NetDfsGetFtContainerSecurity(
DomainName: PWSTR,
SecurityInformation: u32,
ppSecurityDescriptor: **SECURITY_DESCRIPTOR,
lpcbSecurityDescriptor: *u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dfscli" fn NetDfsSetFtContainerSecurity(
DomainName: PWSTR,
SecurityInformation: u32,
pSecurityDescriptor: *SECURITY_DESCRIPTOR,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dfscli" fn NetDfsGetSupportedNamespaceVersion(
Origin: DFS_NAMESPACE_VERSION_ORIGIN,
pName: ?PWSTR,
ppVersionInfo: **DFS_SUPPORTED_NAMESPACE_VERSION_INFO,
) callconv(@import("std").os.windows.WINAPI) u32;
//--------------------------------------------------------------------------------
// Section: Unicode Aliases (0)
//--------------------------------------------------------------------------------
pub usingnamespace switch (@import("../zig.zig").unicode_mode) {
.ansi => struct {
},
.wide => struct {
},
.unspecified => if (@import("builtin").is_test) struct {
} else struct {
},
};
//--------------------------------------------------------------------------------
// Section: Imports (3)
//--------------------------------------------------------------------------------
const Guid = @import("../zig.zig").Guid;
const SECURITY_DESCRIPTOR = @import("security.zig").SECURITY_DESCRIPTOR;
const PWSTR = @import("system_services.zig").PWSTR;
test {
@setEvalBranchQuota(
@import("std").meta.declarations(@This()).len * 3
);
// reference all the pub declarations
if (!@import("std").builtin.is_test) return;
inline for (@import("std").meta.declarations(@This())) |decl| {
if (decl.is_pub) {
_ = decl;
}
}
}

1619
src/win32/api/dns.zig Normal file

File diff suppressed because it is too large Load Diff

490
src/win32/api/dwm.zig Normal file
View File

@ -0,0 +1,490 @@
//! NOTE: this file is autogenerated, DO NOT MODIFY
//--------------------------------------------------------------------------------
// Section: Constants (18)
//--------------------------------------------------------------------------------
pub const DWM_BB_ENABLE = @as(u32, 1);
pub const DWM_BB_BLURREGION = @as(u32, 2);
pub const DWM_BB_TRANSITIONONMAXIMIZED = @as(u32, 4);
pub const DWM_CLOAKED_APP = @as(u32, 1);
pub const DWM_CLOAKED_SHELL = @as(u32, 2);
pub const DWM_CLOAKED_INHERITED = @as(u32, 4);
pub const DWM_TNP_RECTDESTINATION = @as(u32, 1);
pub const DWM_TNP_RECTSOURCE = @as(u32, 2);
pub const DWM_TNP_OPACITY = @as(u32, 4);
pub const DWM_TNP_VISIBLE = @as(u32, 8);
pub const DWM_TNP_SOURCECLIENTAREAONLY = @as(u32, 16);
pub const DWM_FRAME_DURATION_DEFAULT = @as(i32, -1);
pub const DWM_EC_DISABLECOMPOSITION = @as(u32, 0);
pub const DWM_EC_ENABLECOMPOSITION = @as(u32, 1);
pub const DWM_SIT_DISPLAYFRAME = @as(u32, 1);
pub const c_DwmMaxQueuedBuffers = @as(u32, 8);
pub const c_DwmMaxMonitors = @as(u32, 16);
pub const c_DwmMaxAdapters = @as(u32, 16);
//--------------------------------------------------------------------------------
// Section: Types (13)
//--------------------------------------------------------------------------------
pub const DWM_BLURBEHIND = extern struct {
dwFlags: u32,
fEnable: BOOL,
hRgnBlur: HRGN,
fTransitionOnMaximized: BOOL,
};
pub const DWMWINDOWATTRIBUTE = extern enum(i32) {
NCRENDERING_ENABLED = 1,
NCRENDERING_POLICY = 2,
TRANSITIONS_FORCEDISABLED = 3,
ALLOW_NCPAINT = 4,
CAPTION_BUTTON_BOUNDS = 5,
NONCLIENT_RTL_LAYOUT = 6,
FORCE_ICONIC_REPRESENTATION = 7,
FLIP3D_POLICY = 8,
EXTENDED_FRAME_BOUNDS = 9,
HAS_ICONIC_BITMAP = 10,
DISALLOW_PEEK = 11,
EXCLUDED_FROM_PEEK = 12,
CLOAK = 13,
CLOAKED = 14,
FREEZE_REPRESENTATION = 15,
PASSIVE_UPDATE_MODE = 16,
LAST = 17,
};
pub const DWMWA_NCRENDERING_ENABLED = DWMWINDOWATTRIBUTE.NCRENDERING_ENABLED;
pub const DWMWA_NCRENDERING_POLICY = DWMWINDOWATTRIBUTE.NCRENDERING_POLICY;
pub const DWMWA_TRANSITIONS_FORCEDISABLED = DWMWINDOWATTRIBUTE.TRANSITIONS_FORCEDISABLED;
pub const DWMWA_ALLOW_NCPAINT = DWMWINDOWATTRIBUTE.ALLOW_NCPAINT;
pub const DWMWA_CAPTION_BUTTON_BOUNDS = DWMWINDOWATTRIBUTE.CAPTION_BUTTON_BOUNDS;
pub const DWMWA_NONCLIENT_RTL_LAYOUT = DWMWINDOWATTRIBUTE.NONCLIENT_RTL_LAYOUT;
pub const DWMWA_FORCE_ICONIC_REPRESENTATION = DWMWINDOWATTRIBUTE.FORCE_ICONIC_REPRESENTATION;
pub const DWMWA_FLIP3D_POLICY = DWMWINDOWATTRIBUTE.FLIP3D_POLICY;
pub const DWMWA_EXTENDED_FRAME_BOUNDS = DWMWINDOWATTRIBUTE.EXTENDED_FRAME_BOUNDS;
pub const DWMWA_HAS_ICONIC_BITMAP = DWMWINDOWATTRIBUTE.HAS_ICONIC_BITMAP;
pub const DWMWA_DISALLOW_PEEK = DWMWINDOWATTRIBUTE.DISALLOW_PEEK;
pub const DWMWA_EXCLUDED_FROM_PEEK = DWMWINDOWATTRIBUTE.EXCLUDED_FROM_PEEK;
pub const DWMWA_CLOAK = DWMWINDOWATTRIBUTE.CLOAK;
pub const DWMWA_CLOAKED = DWMWINDOWATTRIBUTE.CLOAKED;
pub const DWMWA_FREEZE_REPRESENTATION = DWMWINDOWATTRIBUTE.FREEZE_REPRESENTATION;
pub const DWMWA_PASSIVE_UPDATE_MODE = DWMWINDOWATTRIBUTE.PASSIVE_UPDATE_MODE;
pub const DWMWA_LAST = DWMWINDOWATTRIBUTE.LAST;
pub const DWMNCRENDERINGPOLICY = extern enum(i32) {
USEWINDOWSTYLE = 0,
DISABLED = 1,
ENABLED = 2,
LAST = 3,
};
pub const DWMNCRP_USEWINDOWSTYLE = DWMNCRENDERINGPOLICY.USEWINDOWSTYLE;
pub const DWMNCRP_DISABLED = DWMNCRENDERINGPOLICY.DISABLED;
pub const DWMNCRP_ENABLED = DWMNCRENDERINGPOLICY.ENABLED;
pub const DWMNCRP_LAST = DWMNCRENDERINGPOLICY.LAST;
pub const DWMFLIP3DWINDOWPOLICY = extern enum(i32) {
DEFAULT = 0,
EXCLUDEBELOW = 1,
EXCLUDEABOVE = 2,
LAST = 3,
};
pub const DWMFLIP3D_DEFAULT = DWMFLIP3DWINDOWPOLICY.DEFAULT;
pub const DWMFLIP3D_EXCLUDEBELOW = DWMFLIP3DWINDOWPOLICY.EXCLUDEBELOW;
pub const DWMFLIP3D_EXCLUDEABOVE = DWMFLIP3DWINDOWPOLICY.EXCLUDEABOVE;
pub const DWMFLIP3D_LAST = DWMFLIP3DWINDOWPOLICY.LAST;
pub const DWM_THUMBNAIL_PROPERTIES = extern struct {
dwFlags: u32,
rcDestination: RECT,
rcSource: RECT,
opacity: u8,
fVisible: BOOL,
fSourceClientAreaOnly: BOOL,
};
pub const UNSIGNED_RATIO = extern struct {
uiNumerator: u32,
uiDenominator: u32,
};
pub const DWM_TIMING_INFO = extern struct {
cbSize: u32,
rateRefresh: UNSIGNED_RATIO,
qpcRefreshPeriod: u64,
rateCompose: UNSIGNED_RATIO,
qpcVBlank: u64,
cRefresh: u64,
cDXRefresh: u32,
qpcCompose: u64,
cFrame: u64,
cDXPresent: u32,
cRefreshFrame: u64,
cFrameSubmitted: u64,
cDXPresentSubmitted: u32,
cFrameConfirmed: u64,
cDXPresentConfirmed: u32,
cRefreshConfirmed: u64,
cDXRefreshConfirmed: u32,
cFramesLate: u64,
cFramesOutstanding: u32,
cFrameDisplayed: u64,
qpcFrameDisplayed: u64,
cRefreshFrameDisplayed: u64,
cFrameComplete: u64,
qpcFrameComplete: u64,
cFramePending: u64,
qpcFramePending: u64,
cFramesDisplayed: u64,
cFramesComplete: u64,
cFramesPending: u64,
cFramesAvailable: u64,
cFramesDropped: u64,
cFramesMissed: u64,
cRefreshNextDisplayed: u64,
cRefreshNextPresented: u64,
cRefreshesDisplayed: u64,
cRefreshesPresented: u64,
cRefreshStarted: u64,
cPixelsReceived: u64,
cPixelsDrawn: u64,
cBuffersEmpty: u64,
};
pub const DWM_SOURCE_FRAME_SAMPLING = extern enum(i32) {
POINT = 0,
COVERAGE = 1,
LAST = 2,
};
pub const DWM_SOURCE_FRAME_SAMPLING_POINT = DWM_SOURCE_FRAME_SAMPLING.POINT;
pub const DWM_SOURCE_FRAME_SAMPLING_COVERAGE = DWM_SOURCE_FRAME_SAMPLING.COVERAGE;
pub const DWM_SOURCE_FRAME_SAMPLING_LAST = DWM_SOURCE_FRAME_SAMPLING.LAST;
pub const DWM_PRESENT_PARAMETERS = extern struct {
cbSize: u32,
fQueue: BOOL,
cRefreshStart: u64,
cBuffer: u32,
fUseSourceRate: BOOL,
rateSource: UNSIGNED_RATIO,
cRefreshesPerFrame: u32,
eSampling: DWM_SOURCE_FRAME_SAMPLING,
};
pub const DWMTRANSITION_OWNEDWINDOW_TARGET = extern enum(i32) {
NULL = -1,
REPOSITION = 0,
};
pub const DWMTRANSITION_OWNEDWINDOW_NULL = DWMTRANSITION_OWNEDWINDOW_TARGET.NULL;
pub const DWMTRANSITION_OWNEDWINDOW_REPOSITION = DWMTRANSITION_OWNEDWINDOW_TARGET.REPOSITION;
pub const GESTURE_TYPE = extern enum(i32) {
PEN_TAP = 0,
PEN_DOUBLETAP = 1,
PEN_RIGHTTAP = 2,
PEN_PRESSANDHOLD = 3,
PEN_PRESSANDHOLDABORT = 4,
TOUCH_TAP = 5,
TOUCH_DOUBLETAP = 6,
TOUCH_RIGHTTAP = 7,
TOUCH_PRESSANDHOLD = 8,
TOUCH_PRESSANDHOLDABORT = 9,
TOUCH_PRESSANDTAP = 10,
};
pub const GT_PEN_TAP = GESTURE_TYPE.PEN_TAP;
pub const GT_PEN_DOUBLETAP = GESTURE_TYPE.PEN_DOUBLETAP;
pub const GT_PEN_RIGHTTAP = GESTURE_TYPE.PEN_RIGHTTAP;
pub const GT_PEN_PRESSANDHOLD = GESTURE_TYPE.PEN_PRESSANDHOLD;
pub const GT_PEN_PRESSANDHOLDABORT = GESTURE_TYPE.PEN_PRESSANDHOLDABORT;
pub const GT_TOUCH_TAP = GESTURE_TYPE.TOUCH_TAP;
pub const GT_TOUCH_DOUBLETAP = GESTURE_TYPE.TOUCH_DOUBLETAP;
pub const GT_TOUCH_RIGHTTAP = GESTURE_TYPE.TOUCH_RIGHTTAP;
pub const GT_TOUCH_PRESSANDHOLD = GESTURE_TYPE.TOUCH_PRESSANDHOLD;
pub const GT_TOUCH_PRESSANDHOLDABORT = GESTURE_TYPE.TOUCH_PRESSANDHOLDABORT;
pub const GT_TOUCH_PRESSANDTAP = GESTURE_TYPE.TOUCH_PRESSANDTAP;
// TODO: This Enum is marked as [Flags], what do I do with this?
pub const DWM_SHOWCONTACT = extern enum(u32) {
DOWN = 1,
UP = 2,
DRAG = 4,
HOLD = 8,
PENBARREL = 16,
NONE = 0,
ALL = 4294967295,
_,
};
pub const DWMSC_DOWN = DWM_SHOWCONTACT.DOWN;
pub const DWMSC_UP = DWM_SHOWCONTACT.UP;
pub const DWMSC_DRAG = DWM_SHOWCONTACT.DRAG;
pub const DWMSC_HOLD = DWM_SHOWCONTACT.HOLD;
pub const DWMSC_PENBARREL = DWM_SHOWCONTACT.PENBARREL;
pub const DWMSC_NONE = DWM_SHOWCONTACT.NONE;
pub const DWMSC_ALL = DWM_SHOWCONTACT.ALL;
// TODO: This Enum is marked as [Flags], what do I do with this?
pub const DWM_TAB_WINDOW_REQUIREMENTS = extern enum(u32) {
NONE = 0,
IMPLEMENTED_BY_SYSTEM = 1,
WINDOW_RELATIONSHIP = 2,
WINDOW_STYLES = 4,
WINDOW_REGION = 8,
WINDOW_DWM_ATTRIBUTES = 16,
WINDOW_MARGINS = 32,
TABBING_ENABLED = 64,
USER_POLICY = 128,
GROUP_POLICY = 256,
APP_COMPAT = 512,
_,
};
pub const DWMTWR_NONE = DWM_TAB_WINDOW_REQUIREMENTS.NONE;
pub const DWMTWR_IMPLEMENTED_BY_SYSTEM = DWM_TAB_WINDOW_REQUIREMENTS.IMPLEMENTED_BY_SYSTEM;
pub const DWMTWR_WINDOW_RELATIONSHIP = DWM_TAB_WINDOW_REQUIREMENTS.WINDOW_RELATIONSHIP;
pub const DWMTWR_WINDOW_STYLES = DWM_TAB_WINDOW_REQUIREMENTS.WINDOW_STYLES;
pub const DWMTWR_WINDOW_REGION = DWM_TAB_WINDOW_REQUIREMENTS.WINDOW_REGION;
pub const DWMTWR_WINDOW_DWM_ATTRIBUTES = DWM_TAB_WINDOW_REQUIREMENTS.WINDOW_DWM_ATTRIBUTES;
pub const DWMTWR_WINDOW_MARGINS = DWM_TAB_WINDOW_REQUIREMENTS.WINDOW_MARGINS;
pub const DWMTWR_TABBING_ENABLED = DWM_TAB_WINDOW_REQUIREMENTS.TABBING_ENABLED;
pub const DWMTWR_USER_POLICY = DWM_TAB_WINDOW_REQUIREMENTS.USER_POLICY;
pub const DWMTWR_GROUP_POLICY = DWM_TAB_WINDOW_REQUIREMENTS.GROUP_POLICY;
pub const DWMTWR_APP_COMPAT = DWM_TAB_WINDOW_REQUIREMENTS.APP_COMPAT;
//--------------------------------------------------------------------------------
// Section: Functions (31)
//--------------------------------------------------------------------------------
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dwmapi" fn DwmDefWindowProc(
hWnd: HWND,
msg: u32,
wParam: WPARAM,
lParam: LPARAM,
plResult: *LRESULT,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dwmapi" fn DwmEnableBlurBehindWindow(
hWnd: HWND,
pBlurBehind: *const DWM_BLURBEHIND,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dwmapi" fn DwmEnableComposition(
uCompositionAction: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dwmapi" fn DwmEnableMMCSS(
fEnableMMCSS: BOOL,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dwmapi" fn DwmExtendFrameIntoClientArea(
hWnd: HWND,
pMarInset: *const MARGINS,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dwmapi" fn DwmGetColorizationColor(
pcrColorization: *u32,
pfOpaqueBlend: *BOOL,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dwmapi" fn DwmGetCompositionTimingInfo(
hwnd: HWND,
pTimingInfo: *DWM_TIMING_INFO,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dwmapi" fn DwmGetWindowAttribute(
hwnd: HWND,
dwAttribute: u32,
// TODO: what to do with BytesParamIndex 3?
pvAttribute: *c_void,
cbAttribute: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dwmapi" fn DwmIsCompositionEnabled(
pfEnabled: *BOOL,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dwmapi" fn DwmModifyPreviousDxFrameDuration(
hwnd: HWND,
cRefreshes: i32,
fRelative: BOOL,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dwmapi" fn DwmQueryThumbnailSourceSize(
hThumbnail: isize,
pSize: *SIZE,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dwmapi" fn DwmRegisterThumbnail(
hwndDestination: HWND,
hwndSource: HWND,
phThumbnailId: *isize,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dwmapi" fn DwmSetDxFrameDuration(
hwnd: HWND,
cRefreshes: i32,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dwmapi" fn DwmSetPresentParameters(
hwnd: HWND,
pPresentParams: *DWM_PRESENT_PARAMETERS,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dwmapi" fn DwmSetWindowAttribute(
hwnd: HWND,
dwAttribute: u32,
// TODO: what to do with BytesParamIndex 3?
pvAttribute: *const c_void,
cbAttribute: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dwmapi" fn DwmUnregisterThumbnail(
hThumbnailId: isize,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dwmapi" fn DwmUpdateThumbnailProperties(
hThumbnailId: isize,
ptnProperties: *const DWM_THUMBNAIL_PROPERTIES,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows6.1'
pub extern "dwmapi" fn DwmSetIconicThumbnail(
hwnd: HWND,
hbmp: HBITMAP,
dwSITFlags: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows6.1'
pub extern "dwmapi" fn DwmSetIconicLivePreviewBitmap(
hwnd: HWND,
hbmp: HBITMAP,
pptClient: ?*POINT,
dwSITFlags: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows6.1'
pub extern "dwmapi" fn DwmInvalidateIconicBitmaps(
hwnd: HWND,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dwmapi" fn DwmAttachMilContent(
hwnd: HWND,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dwmapi" fn DwmDetachMilContent(
hwnd: HWND,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dwmapi" fn DwmFlush(
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dwmapi" fn DwmGetGraphicsStreamTransformHint(
uIndex: u32,
pTransform: *MilMatrix3x2D,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dwmapi" fn DwmGetGraphicsStreamClient(
uIndex: u32,
pClientUuid: *Guid,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dwmapi" fn DwmGetTransportAttributes(
pfIsRemoting: *BOOL,
pfIsConnected: *BOOL,
pDwGeneration: *u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows8.0'
pub extern "dwmapi" fn DwmTransitionOwnedWindow(
hwnd: HWND,
target: DWMTRANSITION_OWNEDWINDOW_TARGET,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows8.0'
pub extern "dwmapi" fn DwmRenderGesture(
gt: GESTURE_TYPE,
cContacts: u32,
pdwPointerID: [*]const u32,
pPoints: [*]const POINT,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows8.0'
pub extern "dwmapi" fn DwmTetherContact(
dwPointerID: u32,
fEnable: BOOL,
ptTether: POINT,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows8.0'
pub extern "dwmapi" fn DwmShowContact(
dwPointerID: u32,
eShowContact: DWM_SHOWCONTACT,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows10.0.17134'
pub extern "dwmapi" fn DwmGetUnmetTabRequirements(
appWindow: HWND,
value: *DWM_TAB_WINDOW_REQUIREMENTS,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
//--------------------------------------------------------------------------------
// Section: Unicode Aliases (0)
//--------------------------------------------------------------------------------
pub usingnamespace switch (@import("../zig.zig").unicode_mode) {
.ansi => struct {
},
.wide => struct {
},
.unspecified => if (@import("builtin").is_test) struct {
} else struct {
},
};
//--------------------------------------------------------------------------------
// Section: Imports (14)
//--------------------------------------------------------------------------------
const Guid = @import("../zig.zig").Guid;
const LPARAM = @import("windows_and_messaging.zig").LPARAM;
const HRGN = @import("gdi.zig").HRGN;
const HRESULT = @import("com.zig").HRESULT;
const RECT = @import("display_devices.zig").RECT;
const HBITMAP = @import("gdi.zig").HBITMAP;
const BOOL = @import("system_services.zig").BOOL;
const HWND = @import("windows_and_messaging.zig").HWND;
const MilMatrix3x2D = @import("wpf_bitmap_effects.zig").MilMatrix3x2D;
const WPARAM = @import("windows_and_messaging.zig").WPARAM;
const LRESULT = @import("system_services.zig").LRESULT;
const MARGINS = @import("controls.zig").MARGINS;
const POINT = @import("display_devices.zig").POINT;
const SIZE = @import("display_devices.zig").SIZE;
test {
@setEvalBranchQuota(
@import("std").meta.declarations(@This()).len * 3
);
// reference all the pub declarations
if (!@import("std").builtin.is_test) return;
inline for (@import("std").meta.declarations(@This())) |decl| {
if (decl.is_pub) {
_ = decl;
}
}
}

3430
src/win32/api/dxgi.zig Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,553 @@
//! NOTE: this file is autogenerated, DO NOT MODIFY
//--------------------------------------------------------------------------------
// Section: Constants (185)
//--------------------------------------------------------------------------------
pub const GUID_DEVINTERFACE_ENHANCED_STORAGE_SILO = Guid.initString("3897f6a4-fd35-4bc8-a0b7-5dbba36adafa");
pub const WPD_CATEGORY_ENHANCED_STORAGE = Guid.initString("91248166-b832-4ad4-baa4-7ca0b6b2798c");
pub const ENHANCED_STORAGE_AUTHN_STATE_UNKNOWN = @as(u32, 0);
pub const ENHANCED_STORAGE_AUTHN_STATE_NO_AUTHENTICATION_REQUIRED = @as(u32, 1);
pub const ENHANCED_STORAGE_AUTHN_STATE_NOT_AUTHENTICATED = @as(u32, 2);
pub const ENHANCED_STORAGE_AUTHN_STATE_AUTHENTICATED = @as(u32, 3);
pub const ENHANCED_STORAGE_AUTHN_STATE_AUTHENTICATION_DENIED = @as(u32, 2147483649);
pub const ENHANCED_STORAGE_AUTHN_STATE_DEVICE_ERROR = @as(u32, 2147483650);
pub const CERT_TYPE_EMPTY = @as(u32, 0);
pub const CERT_TYPE_ASCm = @as(u32, 1);
pub const CERT_TYPE_PCp = @as(u32, 2);
pub const CERT_TYPE_ASCh = @as(u32, 3);
pub const CERT_TYPE_HCh = @as(u32, 4);
pub const CERT_TYPE_SIGNER = @as(u32, 6);
pub const CERT_VALIDATION_POLICY_RESERVED = @as(u32, 0);
pub const CERT_VALIDATION_POLICY_NONE = @as(u32, 1);
pub const CERT_VALIDATION_POLICY_BASIC = @as(u32, 2);
pub const CERT_VALIDATION_POLICY_EXTENDED = @as(u32, 3);
pub const CERT_CAPABILITY_HASH_ALG = @as(u32, 1);
pub const CERT_CAPABILITY_ASYMMETRIC_KEY_CRYPTOGRAPHY = @as(u32, 2);
pub const CERT_CAPABILITY_SIGNATURE_ALG = @as(u32, 3);
pub const CERT_CAPABILITY_CERTIFICATE_SUPPORT = @as(u32, 4);
pub const CERT_CAPABILITY_OPTIONAL_FEATURES = @as(u32, 5);
pub const CERT_MAX_CAPABILITY = @as(u32, 255);
pub const AUDIO_CHANNELCOUNT_MONO = @as(u32, 1);
pub const AUDIO_CHANNELCOUNT_STEREO = @as(u32, 2);
pub const CREATOROPENWITHUIOPTION_HIDDEN = @as(u32, 0);
pub const CREATOROPENWITHUIOPTION_VISIBLE = @as(u32, 1);
pub const ISDEFAULTSAVE_NONE = @as(u32, 0);
pub const ISDEFAULTSAVE_OWNER = @as(u32, 1);
pub const ISDEFAULTSAVE_NONOWNER = @as(u32, 2);
pub const ISDEFAULTSAVE_BOTH = @as(u32, 3);
pub const FILEOFFLINEAVAILABILITYSTATUS_NOTAVAILABLEOFFLINE = @as(u32, 0);
pub const FILEOFFLINEAVAILABILITYSTATUS_PARTIAL = @as(u32, 1);
pub const FILEOFFLINEAVAILABILITYSTATUS_COMPLETE = @as(u32, 2);
pub const FILEOFFLINEAVAILABILITYSTATUS_COMPLETE_PINNED = @as(u32, 3);
pub const FILEOFFLINEAVAILABILITYSTATUS_EXCLUDED = @as(u32, 4);
pub const FILEOFFLINEAVAILABILITYSTATUS_FOLDER_EMPTY = @as(u32, 5);
pub const FLAGSTATUS_NOTFLAGGED = @as(i32, 0);
pub const FLAGSTATUS_COMPLETED = @as(i32, 1);
pub const FLAGSTATUS_FOLLOWUP = @as(i32, 2);
pub const IMPORTANCE_LOW_MIN = @as(i32, 0);
pub const IMPORTANCE_LOW_SET = @as(i32, 1);
pub const IMPORTANCE_LOW_MAX = @as(i32, 1);
pub const IMPORTANCE_NORMAL_MIN = @as(i32, 2);
pub const IMPORTANCE_NORMAL_SET = @as(i32, 3);
pub const IMPORTANCE_NORMAL_MAX = @as(i32, 4);
pub const IMPORTANCE_HIGH_MIN = @as(i32, 5);
pub const IMPORTANCE_HIGH_SET = @as(i32, 5);
pub const IMPORTANCE_HIGH_MAX = @as(i32, 5);
pub const OFFLINEAVAILABILITY_NOT_AVAILABLE = @as(u32, 0);
pub const OFFLINEAVAILABILITY_AVAILABLE = @as(u32, 1);
pub const OFFLINEAVAILABILITY_ALWAYS_AVAILABLE = @as(u32, 2);
pub const OFFLINESTATUS_ONLINE = @as(u32, 0);
pub const OFFLINESTATUS_OFFLINE = @as(u32, 1);
pub const OFFLINESTATUS_OFFLINE_FORCED = @as(u32, 2);
pub const OFFLINESTATUS_OFFLINE_SLOW = @as(u32, 3);
pub const OFFLINESTATUS_OFFLINE_ERROR = @as(u32, 4);
pub const OFFLINESTATUS_OFFLINE_ITEM_VERSION_CONFLICT = @as(u32, 5);
pub const OFFLINESTATUS_OFFLINE_SUSPENDED = @as(u32, 6);
pub const RATING_ONE_STAR_MIN = @as(u32, 1);
pub const RATING_ONE_STAR_SET = @as(u32, 1);
pub const RATING_ONE_STAR_MAX = @as(u32, 12);
pub const RATING_TWO_STARS_MIN = @as(u32, 13);
pub const RATING_TWO_STARS_SET = @as(u32, 25);
pub const RATING_TWO_STARS_MAX = @as(u32, 37);
pub const RATING_THREE_STARS_MIN = @as(u32, 38);
pub const RATING_THREE_STARS_SET = @as(u32, 50);
pub const RATING_THREE_STARS_MAX = @as(u32, 62);
pub const RATING_FOUR_STARS_MIN = @as(u32, 63);
pub const RATING_FOUR_STARS_SET = @as(u32, 75);
pub const RATING_FOUR_STARS_MAX = @as(u32, 87);
pub const RATING_FIVE_STARS_MIN = @as(u32, 88);
pub const RATING_FIVE_STARS_SET = @as(u32, 99);
pub const RATING_FIVE_STARS_MAX = @as(u32, 99);
pub const SHARINGSTATUS_NOTSHARED = @as(u32, 0);
pub const SHARINGSTATUS_SHARED = @as(u32, 1);
pub const SHARINGSTATUS_PRIVATE = @as(u32, 2);
pub const STORAGE_PROVIDER_SHARINGSTATUS_NOTSHARED = @as(u32, 0);
pub const STORAGE_PROVIDER_SHARINGSTATUS_SHARED = @as(u32, 1);
pub const STORAGE_PROVIDER_SHARINGSTATUS_PRIVATE = @as(u32, 2);
pub const STORAGE_PROVIDER_SHARINGSTATUS_PUBLIC = @as(u32, 3);
pub const STORAGE_PROVIDER_SHARINGSTATUS_SHARED_OWNED = @as(u32, 4);
pub const STORAGE_PROVIDER_SHARINGSTATUS_SHARED_COOWNED = @as(u32, 5);
pub const STORAGE_PROVIDER_SHARINGSTATUS_PUBLIC_OWNED = @as(u32, 6);
pub const STORAGE_PROVIDER_SHARINGSTATUS_PUBLIC_COOWNED = @as(u32, 7);
pub const BLUETOOTH_ADDRESS_TYPE_PUBLIC = @as(u32, 0);
pub const BLUETOOTH_ADDRESS_TYPE_RANDOM = @as(u32, 1);
pub const BLUETOOTH_CACHE_MODE_CACHED = @as(u32, 0);
pub const BLUETOOTH_CACHED_MODE_UNCACHED = @as(u32, 1);
pub const PLAYBACKSTATE_UNKNOWN = @as(u32, 0);
pub const PLAYBACKSTATE_STOPPED = @as(u32, 1);
pub const PLAYBACKSTATE_PLAYING = @as(u32, 2);
pub const PLAYBACKSTATE_TRANSITIONING = @as(u32, 3);
pub const PLAYBACKSTATE_PAUSED = @as(u32, 4);
pub const PLAYBACKSTATE_RECORDINGPAUSED = @as(u32, 5);
pub const PLAYBACKSTATE_RECORDING = @as(u32, 6);
pub const PLAYBACKSTATE_NOMEDIA = @as(u32, 7);
pub const LINK_STATUS_RESOLVED = @as(i32, 1);
pub const LINK_STATUS_BROKEN = @as(i32, 2);
pub const PHOTO_CONTRAST_NORMAL = @as(u32, 0);
pub const PHOTO_CONTRAST_SOFT = @as(u32, 1);
pub const PHOTO_CONTRAST_HARD = @as(u32, 2);
pub const PHOTO_EXPOSUREPROGRAM_UNKNOWN = @as(u32, 0);
pub const PHOTO_EXPOSUREPROGRAM_MANUAL = @as(u32, 1);
pub const PHOTO_EXPOSUREPROGRAM_NORMAL = @as(u32, 2);
pub const PHOTO_EXPOSUREPROGRAM_APERTURE = @as(u32, 3);
pub const PHOTO_EXPOSUREPROGRAM_SHUTTER = @as(u32, 4);
pub const PHOTO_EXPOSUREPROGRAM_CREATIVE = @as(u32, 5);
pub const PHOTO_EXPOSUREPROGRAM_ACTION = @as(u32, 6);
pub const PHOTO_EXPOSUREPROGRAM_PORTRAIT = @as(u32, 7);
pub const PHOTO_EXPOSUREPROGRAM_LANDSCAPE = @as(u32, 8);
pub const PHOTO_FLASH_NONE = @as(u32, 0);
pub const PHOTO_FLASH_FLASH = @as(u32, 1);
pub const PHOTO_FLASH_WITHOUTSTROBE = @as(u32, 5);
pub const PHOTO_FLASH_WITHSTROBE = @as(u32, 7);
pub const PHOTO_FLASH_FLASH_COMPULSORY = @as(u32, 9);
pub const PHOTO_FLASH_FLASH_COMPULSORY_NORETURNLIGHT = @as(u32, 13);
pub const PHOTO_FLASH_FLASH_COMPULSORY_RETURNLIGHT = @as(u32, 15);
pub const PHOTO_FLASH_NONE_COMPULSORY = @as(u32, 16);
pub const PHOTO_FLASH_NONE_AUTO = @as(u32, 24);
pub const PHOTO_FLASH_FLASH_AUTO = @as(u32, 25);
pub const PHOTO_FLASH_FLASH_AUTO_NORETURNLIGHT = @as(u32, 29);
pub const PHOTO_FLASH_FLASH_AUTO_RETURNLIGHT = @as(u32, 31);
pub const PHOTO_FLASH_NOFUNCTION = @as(u32, 32);
pub const PHOTO_FLASH_FLASH_REDEYE = @as(u32, 65);
pub const PHOTO_FLASH_FLASH_REDEYE_NORETURNLIGHT = @as(u32, 69);
pub const PHOTO_FLASH_FLASH_REDEYE_RETURNLIGHT = @as(u32, 71);
pub const PHOTO_FLASH_FLASH_COMPULSORY_REDEYE = @as(u32, 73);
pub const PHOTO_FLASH_FLASH_COMPULSORY_REDEYE_NORETURNLIGHT = @as(u32, 77);
pub const PHOTO_FLASH_FLASH_COMPULSORY_REDEYE_RETURNLIGHT = @as(u32, 79);
pub const PHOTO_FLASH_FLASH_AUTO_REDEYE = @as(u32, 89);
pub const PHOTO_FLASH_FLASH_AUTO_REDEYE_NORETURNLIGHT = @as(u32, 93);
pub const PHOTO_FLASH_FLASH_AUTO_REDEYE_RETURNLIGHT = @as(u32, 95);
pub const PHOTO_GAINCONTROL_NONE = @as(f64, 0);
pub const PHOTO_GAINCONTROL_LOWGAINUP = @as(f64, 1);
pub const PHOTO_GAINCONTROL_HIGHGAINUP = @as(f64, 2);
pub const PHOTO_GAINCONTROL_LOWGAINDOWN = @as(f64, 3);
pub const PHOTO_GAINCONTROL_HIGHGAINDOWN = @as(f64, 4);
pub const PHOTO_LIGHTSOURCE_UNKNOWN = @as(u32, 0);
pub const PHOTO_LIGHTSOURCE_DAYLIGHT = @as(u32, 1);
pub const PHOTO_LIGHTSOURCE_FLUORESCENT = @as(u32, 2);
pub const PHOTO_LIGHTSOURCE_TUNGSTEN = @as(u32, 3);
pub const PHOTO_LIGHTSOURCE_STANDARD_A = @as(u32, 17);
pub const PHOTO_LIGHTSOURCE_STANDARD_B = @as(u32, 18);
pub const PHOTO_LIGHTSOURCE_STANDARD_C = @as(u32, 19);
pub const PHOTO_LIGHTSOURCE_D55 = @as(u32, 20);
pub const PHOTO_LIGHTSOURCE_D65 = @as(u32, 21);
pub const PHOTO_LIGHTSOURCE_D75 = @as(u32, 22);
pub const PHOTO_PROGRAMMODE_NOTDEFINED = @as(u32, 0);
pub const PHOTO_PROGRAMMODE_MANUAL = @as(u32, 1);
pub const PHOTO_PROGRAMMODE_NORMAL = @as(u32, 2);
pub const PHOTO_PROGRAMMODE_APERTURE = @as(u32, 3);
pub const PHOTO_PROGRAMMODE_SHUTTER = @as(u32, 4);
pub const PHOTO_PROGRAMMODE_CREATIVE = @as(u32, 5);
pub const PHOTO_PROGRAMMODE_ACTION = @as(u32, 6);
pub const PHOTO_PROGRAMMODE_PORTRAIT = @as(u32, 7);
pub const PHOTO_PROGRAMMODE_LANDSCAPE = @as(u32, 8);
pub const PHOTO_SATURATION_NORMAL = @as(u32, 0);
pub const PHOTO_SATURATION_LOW = @as(u32, 1);
pub const PHOTO_SATURATION_HIGH = @as(u32, 2);
pub const PHOTO_SHARPNESS_NORMAL = @as(u32, 0);
pub const PHOTO_SHARPNESS_SOFT = @as(u32, 1);
pub const PHOTO_SHARPNESS_HARD = @as(u32, 2);
pub const PHOTO_WHITEBALANCE_AUTO = @as(u32, 0);
pub const PHOTO_WHITEBALANCE_MANUAL = @as(u32, 1);
pub const APPUSERMODEL_STARTPINOPTION_DEFAULT = @as(u32, 0);
pub const APPUSERMODEL_STARTPINOPTION_NOPINONINSTALL = @as(u32, 1);
pub const APPUSERMODEL_STARTPINOPTION_USERPINNED = @as(u32, 2);
pub const SYNC_HANDLERTYPE_OTHER = @as(u32, 0);
pub const SYNC_HANDLERTYPE_PROGRAMS = @as(u32, 1);
pub const SYNC_HANDLERTYPE_DEVICES = @as(u32, 2);
pub const SYNC_HANDLERTYPE_FOLDERS = @as(u32, 3);
pub const SYNC_HANDLERTYPE_WEBSERVICES = @as(u32, 4);
pub const SYNC_HANDLERTYPE_COMPUTERS = @as(u32, 5);
pub const SYNC_STATE_NOTSETUP = @as(u32, 0);
pub const SYNC_STATE_SYNCNOTRUN = @as(u32, 1);
pub const SYNC_STATE_IDLE = @as(u32, 2);
pub const SYNC_STATE_ERROR = @as(u32, 3);
pub const SYNC_STATE_PENDING = @as(u32, 4);
pub const SYNC_STATE_SYNCING = @as(u32, 5);
pub const ACT_AUTHORIZE_ON_RESUME = @as(u32, 1);
pub const ACT_AUTHORIZE_ON_SESSION_UNLOCK = @as(u32, 2);
pub const ACT_UNAUTHORIZE_ON_SUSPEND = @as(u32, 1);
pub const ACT_UNAUTHORIZE_ON_SESSION_LOCK = @as(u32, 2);
//--------------------------------------------------------------------------------
// Section: Types (14)
//--------------------------------------------------------------------------------
pub const ENHANCED_STORAGE_PASSWORD_SILO_INFORMATION = extern struct {
CurrentAdminFailures: u8,
CurrentUserFailures: u8,
TotalUserAuthenticationCount: u32,
TotalAdminAuthenticationCount: u32,
FipsCompliant: BOOL,
SecurityIDAvailable: BOOL,
InitializeInProgress: BOOL,
ITMSArmed: BOOL,
ITMSArmable: BOOL,
UserCreated: BOOL,
ResetOnPORDefault: BOOL,
ResetOnPORCurrent: BOOL,
MaxAdminFailures: u8,
MaxUserFailures: u8,
TimeToCompleteInitialization: u32,
TimeRemainingToCompleteInitialization: u32,
MinTimeToAuthenticate: u32,
MaxAdminPasswordSize: u8,
MinAdminPasswordSize: u8,
MaxAdminHintSize: u8,
MaxUserPasswordSize: u8,
MinUserPasswordSize: u8,
MaxUserHintSize: u8,
MaxUserNameSize: u8,
MaxSiloNameSize: u8,
MaxChallengeSize: u16,
};
const CLSID_EnumEnhancedStorageACT_Value = @import("../zig.zig").Guid.initString("fe841493-835c-4fa3-b6cc-b4b2d4719848");
pub const CLSID_EnumEnhancedStorageACT = &CLSID_EnumEnhancedStorageACT_Value;
const CLSID_EnhancedStorageACT_Value = @import("../zig.zig").Guid.initString("af076a15-2ece-4ad4-bb21-29f040e176d8");
pub const CLSID_EnhancedStorageACT = &CLSID_EnhancedStorageACT_Value;
const CLSID_EnhancedStorageSilo_Value = @import("../zig.zig").Guid.initString("cb25220c-76c7-4fee-842b-f3383cd022bc");
pub const CLSID_EnhancedStorageSilo = &CLSID_EnhancedStorageSilo_Value;
const CLSID_EnhancedStorageSiloAction_Value = @import("../zig.zig").Guid.initString("886d29dd-b506-466b-9fbf-b44ff383fb3f");
pub const CLSID_EnhancedStorageSiloAction = &CLSID_EnhancedStorageSiloAction_Value;
pub const ACT_AUTHORIZATION_STATE = extern struct {
ulState: u32,
};
pub const SILO_INFO = extern struct {
ulSTID: u32,
SpecificationMajor: u8,
SpecificationMinor: u8,
ImplementationMajor: u8,
ImplementationMinor: u8,
type: u8,
capabilities: u8,
};
pub const ACT_AUTHORIZATION_STATE_VALUE = extern enum(i32) {
UNAUTHORIZED = 0,
AUTHORIZED = 1,
};
pub const ACT_UNAUTHORIZED = ACT_AUTHORIZATION_STATE_VALUE.UNAUTHORIZED;
pub const ACT_AUTHORIZED = ACT_AUTHORIZATION_STATE_VALUE.AUTHORIZED;
// TODO: this type is limited to platform 'windows6.0.6000'
const IID_IEnumEnhancedStorageACT_Value = @import("../zig.zig").Guid.initString("09b224bd-1335-4631-a7ff-cfd3a92646d7");
pub const IID_IEnumEnhancedStorageACT = &IID_IEnumEnhancedStorageACT_Value;
pub const IEnumEnhancedStorageACT = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
GetACTs: fn(
self: *const IEnumEnhancedStorageACT,
pppIEnhancedStorageACTs: [*]**IEnhancedStorageACT,
pcEnhancedStorageACTs: *u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
GetMatchingACT: fn(
self: *const IEnumEnhancedStorageACT,
szVolume: [*:0]const u16,
ppIEnhancedStorageACT: **IEnhancedStorageACT,
) 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 IEnumEnhancedStorageACT_GetACTs(self: *const T, pppIEnhancedStorageACTs: [*]**IEnhancedStorageACT, pcEnhancedStorageACTs: *u32) callconv(.Inline) HRESULT {
return @ptrCast(*const IEnumEnhancedStorageACT.VTable, self.vtable).GetACTs(@ptrCast(*const IEnumEnhancedStorageACT, self), pppIEnhancedStorageACTs, pcEnhancedStorageACTs);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IEnumEnhancedStorageACT_GetMatchingACT(self: *const T, szVolume: [*:0]const u16, ppIEnhancedStorageACT: **IEnhancedStorageACT) callconv(.Inline) HRESULT {
return @ptrCast(*const IEnumEnhancedStorageACT.VTable, self.vtable).GetMatchingACT(@ptrCast(*const IEnumEnhancedStorageACT, self), szVolume, ppIEnhancedStorageACT);
}
};}
pub usingnamespace MethodMixin(@This());
};
// TODO: this type is limited to platform 'windows6.0.6000'
const IID_IEnhancedStorageACT_Value = @import("../zig.zig").Guid.initString("6e7781f4-e0f2-4239-b976-a01abab52930");
pub const IID_IEnhancedStorageACT = &IID_IEnhancedStorageACT_Value;
pub const IEnhancedStorageACT = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
Authorize: fn(
self: *const IEnhancedStorageACT,
hwndParent: u32,
dwFlags: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
Unauthorize: fn(
self: *const IEnhancedStorageACT,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
GetAuthorizationState: fn(
self: *const IEnhancedStorageACT,
pState: *ACT_AUTHORIZATION_STATE,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
GetMatchingVolume: fn(
self: *const IEnhancedStorageACT,
ppwszVolume: *PWSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
GetUniqueIdentity: fn(
self: *const IEnhancedStorageACT,
ppwszIdentity: *PWSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
GetSilos: fn(
self: *const IEnhancedStorageACT,
pppIEnhancedStorageSilos: [*]**IEnhancedStorageSilo,
pcEnhancedStorageSilos: *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 IEnhancedStorageACT_Authorize(self: *const T, hwndParent: u32, dwFlags: u32) callconv(.Inline) HRESULT {
return @ptrCast(*const IEnhancedStorageACT.VTable, self.vtable).Authorize(@ptrCast(*const IEnhancedStorageACT, self), hwndParent, dwFlags);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IEnhancedStorageACT_Unauthorize(self: *const T) callconv(.Inline) HRESULT {
return @ptrCast(*const IEnhancedStorageACT.VTable, self.vtable).Unauthorize(@ptrCast(*const IEnhancedStorageACT, self));
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IEnhancedStorageACT_GetAuthorizationState(self: *const T, pState: *ACT_AUTHORIZATION_STATE) callconv(.Inline) HRESULT {
return @ptrCast(*const IEnhancedStorageACT.VTable, self.vtable).GetAuthorizationState(@ptrCast(*const IEnhancedStorageACT, self), pState);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IEnhancedStorageACT_GetMatchingVolume(self: *const T, ppwszVolume: *PWSTR) callconv(.Inline) HRESULT {
return @ptrCast(*const IEnhancedStorageACT.VTable, self.vtable).GetMatchingVolume(@ptrCast(*const IEnhancedStorageACT, self), ppwszVolume);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IEnhancedStorageACT_GetUniqueIdentity(self: *const T, ppwszIdentity: *PWSTR) callconv(.Inline) HRESULT {
return @ptrCast(*const IEnhancedStorageACT.VTable, self.vtable).GetUniqueIdentity(@ptrCast(*const IEnhancedStorageACT, self), ppwszIdentity);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IEnhancedStorageACT_GetSilos(self: *const T, pppIEnhancedStorageSilos: [*]**IEnhancedStorageSilo, pcEnhancedStorageSilos: *u32) callconv(.Inline) HRESULT {
return @ptrCast(*const IEnhancedStorageACT.VTable, self.vtable).GetSilos(@ptrCast(*const IEnhancedStorageACT, self), pppIEnhancedStorageSilos, pcEnhancedStorageSilos);
}
};}
pub usingnamespace MethodMixin(@This());
};
// TODO: this type is limited to platform 'windows6.1'
const IID_IEnhancedStorageACT2_Value = @import("../zig.zig").Guid.initString("4da57d2e-8eb3-41f6-a07e-98b52b88242b");
pub const IID_IEnhancedStorageACT2 = &IID_IEnhancedStorageACT2_Value;
pub const IEnhancedStorageACT2 = extern struct {
pub const VTable = extern struct {
base: IEnhancedStorageACT.VTable,
GetDeviceName: fn(
self: *const IEnhancedStorageACT2,
ppwszDeviceName: *PWSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
IsDeviceRemovable: fn(
self: *const IEnhancedStorageACT2,
pIsDeviceRemovable: *BOOL,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IEnhancedStorageACT.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IEnhancedStorageACT2_GetDeviceName(self: *const T, ppwszDeviceName: *PWSTR) callconv(.Inline) HRESULT {
return @ptrCast(*const IEnhancedStorageACT2.VTable, self.vtable).GetDeviceName(@ptrCast(*const IEnhancedStorageACT2, self), ppwszDeviceName);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IEnhancedStorageACT2_IsDeviceRemovable(self: *const T, pIsDeviceRemovable: *BOOL) callconv(.Inline) HRESULT {
return @ptrCast(*const IEnhancedStorageACT2.VTable, self.vtable).IsDeviceRemovable(@ptrCast(*const IEnhancedStorageACT2, self), pIsDeviceRemovable);
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IEnhancedStorageACT3_Value = @import("../zig.zig").Guid.initString("022150a1-113d-11df-bb61-001aa01bbc58");
pub const IID_IEnhancedStorageACT3 = &IID_IEnhancedStorageACT3_Value;
pub const IEnhancedStorageACT3 = extern struct {
pub const VTable = extern struct {
base: IEnhancedStorageACT2.VTable,
UnauthorizeEx: fn(
self: *const IEnhancedStorageACT3,
dwFlags: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
IsQueueFrozen: fn(
self: *const IEnhancedStorageACT3,
pIsQueueFrozen: *BOOL,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
GetShellExtSupport: fn(
self: *const IEnhancedStorageACT3,
pShellExtSupport: *BOOL,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IEnhancedStorageACT2.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IEnhancedStorageACT3_UnauthorizeEx(self: *const T, dwFlags: u32) callconv(.Inline) HRESULT {
return @ptrCast(*const IEnhancedStorageACT3.VTable, self.vtable).UnauthorizeEx(@ptrCast(*const IEnhancedStorageACT3, self), dwFlags);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IEnhancedStorageACT3_IsQueueFrozen(self: *const T, pIsQueueFrozen: *BOOL) callconv(.Inline) HRESULT {
return @ptrCast(*const IEnhancedStorageACT3.VTable, self.vtable).IsQueueFrozen(@ptrCast(*const IEnhancedStorageACT3, self), pIsQueueFrozen);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IEnhancedStorageACT3_GetShellExtSupport(self: *const T, pShellExtSupport: *BOOL) callconv(.Inline) HRESULT {
return @ptrCast(*const IEnhancedStorageACT3.VTable, self.vtable).GetShellExtSupport(@ptrCast(*const IEnhancedStorageACT3, self), pShellExtSupport);
}
};}
pub usingnamespace MethodMixin(@This());
};
// TODO: this type is limited to platform 'windows6.0.6000'
const IID_IEnhancedStorageSilo_Value = @import("../zig.zig").Guid.initString("5aef78c6-2242-4703-bf49-44b29357a359");
pub const IID_IEnhancedStorageSilo = &IID_IEnhancedStorageSilo_Value;
pub const IEnhancedStorageSilo = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
GetInfo: fn(
self: *const IEnhancedStorageSilo,
pSiloInfo: *SILO_INFO,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
GetActions: fn(
self: *const IEnhancedStorageSilo,
pppIEnhancedStorageSiloActions: [*]**IEnhancedStorageSiloAction,
pcEnhancedStorageSiloActions: *u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
SendCommand: fn(
self: *const IEnhancedStorageSilo,
Command: u8,
pbCommandBuffer: [*:0]u8,
cbCommandBuffer: u32,
pbResponseBuffer: [*:0]u8,
pcbResponseBuffer: *u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
GetPortableDevice: fn(
self: *const IEnhancedStorageSilo,
ppIPortableDevice: **IPortableDevice,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
GetDevicePath: fn(
self: *const IEnhancedStorageSilo,
ppwszSiloDevicePath: *PWSTR,
) 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 IEnhancedStorageSilo_GetInfo(self: *const T, pSiloInfo: *SILO_INFO) callconv(.Inline) HRESULT {
return @ptrCast(*const IEnhancedStorageSilo.VTable, self.vtable).GetInfo(@ptrCast(*const IEnhancedStorageSilo, self), pSiloInfo);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IEnhancedStorageSilo_GetActions(self: *const T, pppIEnhancedStorageSiloActions: [*]**IEnhancedStorageSiloAction, pcEnhancedStorageSiloActions: *u32) callconv(.Inline) HRESULT {
return @ptrCast(*const IEnhancedStorageSilo.VTable, self.vtable).GetActions(@ptrCast(*const IEnhancedStorageSilo, self), pppIEnhancedStorageSiloActions, pcEnhancedStorageSiloActions);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IEnhancedStorageSilo_SendCommand(self: *const T, Command: u8, pbCommandBuffer: [*:0]u8, cbCommandBuffer: u32, pbResponseBuffer: [*:0]u8, pcbResponseBuffer: *u32) callconv(.Inline) HRESULT {
return @ptrCast(*const IEnhancedStorageSilo.VTable, self.vtable).SendCommand(@ptrCast(*const IEnhancedStorageSilo, self), Command, pbCommandBuffer, cbCommandBuffer, pbResponseBuffer, pcbResponseBuffer);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IEnhancedStorageSilo_GetPortableDevice(self: *const T, ppIPortableDevice: **IPortableDevice) callconv(.Inline) HRESULT {
return @ptrCast(*const IEnhancedStorageSilo.VTable, self.vtable).GetPortableDevice(@ptrCast(*const IEnhancedStorageSilo, self), ppIPortableDevice);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IEnhancedStorageSilo_GetDevicePath(self: *const T, ppwszSiloDevicePath: *PWSTR) callconv(.Inline) HRESULT {
return @ptrCast(*const IEnhancedStorageSilo.VTable, self.vtable).GetDevicePath(@ptrCast(*const IEnhancedStorageSilo, self), ppwszSiloDevicePath);
}
};}
pub usingnamespace MethodMixin(@This());
};
// TODO: this type is limited to platform 'windows6.0.6000'
const IID_IEnhancedStorageSiloAction_Value = @import("../zig.zig").Guid.initString("b6f7f311-206f-4ff8-9c4b-27efee77a86f");
pub const IID_IEnhancedStorageSiloAction = &IID_IEnhancedStorageSiloAction_Value;
pub const IEnhancedStorageSiloAction = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
GetName: fn(
self: *const IEnhancedStorageSiloAction,
ppwszActionName: *PWSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
GetDescription: fn(
self: *const IEnhancedStorageSiloAction,
ppwszActionDescription: *PWSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
Invoke: fn(
self: *const IEnhancedStorageSiloAction,
) 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 IEnhancedStorageSiloAction_GetName(self: *const T, ppwszActionName: *PWSTR) callconv(.Inline) HRESULT {
return @ptrCast(*const IEnhancedStorageSiloAction.VTable, self.vtable).GetName(@ptrCast(*const IEnhancedStorageSiloAction, self), ppwszActionName);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IEnhancedStorageSiloAction_GetDescription(self: *const T, ppwszActionDescription: *PWSTR) callconv(.Inline) HRESULT {
return @ptrCast(*const IEnhancedStorageSiloAction.VTable, self.vtable).GetDescription(@ptrCast(*const IEnhancedStorageSiloAction, self), ppwszActionDescription);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IEnhancedStorageSiloAction_Invoke(self: *const T) callconv(.Inline) HRESULT {
return @ptrCast(*const IEnhancedStorageSiloAction.VTable, self.vtable).Invoke(@ptrCast(*const IEnhancedStorageSiloAction, self));
}
};}
pub usingnamespace MethodMixin(@This());
};
//--------------------------------------------------------------------------------
// Section: Functions (0)
//--------------------------------------------------------------------------------
//--------------------------------------------------------------------------------
// Section: Unicode Aliases (0)
//--------------------------------------------------------------------------------
pub usingnamespace switch (@import("../zig.zig").unicode_mode) {
.ansi => struct {
},
.wide => struct {
},
.unspecified => if (@import("builtin").is_test) struct {
} else struct {
},
};
//--------------------------------------------------------------------------------
// Section: Imports (6)
//--------------------------------------------------------------------------------
const Guid = @import("../zig.zig").Guid;
const PWSTR = @import("system_services.zig").PWSTR;
const IPortableDevice = @import("windows_portable_devices.zig").IPortableDevice;
const BOOL = @import("system_services.zig").BOOL;
const IUnknown = @import("com.zig").IUnknown;
const HRESULT = @import("com.zig").HRESULT;
test {
@setEvalBranchQuota(
@import("std").meta.declarations(@This()).len * 3
);
// reference all the pub declarations
if (!@import("std").builtin.is_test) return;
inline for (@import("std").meta.declarations(@This())) |decl| {
if (decl.is_pub) {
_ = decl;
}
}
}

2503
src/win32/api/etw.zig Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

8530
src/win32/api/fax.zig Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,55 @@
//! NOTE: this file is autogenerated, DO NOT MODIFY
//--------------------------------------------------------------------------------
// Section: Constants (0)
//--------------------------------------------------------------------------------
//--------------------------------------------------------------------------------
// Section: Types (0)
//--------------------------------------------------------------------------------
//--------------------------------------------------------------------------------
// Section: Functions (3)
//--------------------------------------------------------------------------------
pub extern "api-ms-win-gaming-expandedresources-l1-1-0" fn HasExpandedResources(
hasExpandedResources: *BOOL,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "api-ms-win-gaming-expandedresources-l1-1-0" fn GetExpandedResourceExclusiveCpuCount(
exclusiveCpuCount: *u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "api-ms-win-gaming-expandedresources-l1-1-0" fn ReleaseExclusiveCpuSets(
) callconv(@import("std").os.windows.WINAPI) HRESULT;
//--------------------------------------------------------------------------------
// Section: Unicode Aliases (0)
//--------------------------------------------------------------------------------
pub usingnamespace switch (@import("../zig.zig").unicode_mode) {
.ansi => struct {
},
.wide => struct {
},
.unspecified => if (@import("builtin").is_test) struct {
} else struct {
},
};
//--------------------------------------------------------------------------------
// Section: Imports (2)
//--------------------------------------------------------------------------------
const BOOL = @import("system_services.zig").BOOL;
const HRESULT = @import("com.zig").HRESULT;
test {
@setEvalBranchQuota(
@import("std").meta.declarations(@This()).len * 3
);
// reference all the pub declarations
if (!@import("std").builtin.is_test) return;
inline for (@import("std").meta.declarations(@This())) |decl| {
if (decl.is_pub) {
_ = decl;
}
}
}

View File

@ -0,0 +1,72 @@
//! NOTE: this file is autogenerated, DO NOT MODIFY
//--------------------------------------------------------------------------------
// Section: Constants (0)
//--------------------------------------------------------------------------------
//--------------------------------------------------------------------------------
// Section: Types (3)
//--------------------------------------------------------------------------------
pub const GAMING_DEVICE_VENDOR_ID = extern enum(i32) {
NONE = 0,
MICROSOFT = -1024700366,
};
pub const GAMING_DEVICE_VENDOR_ID_NONE = GAMING_DEVICE_VENDOR_ID.NONE;
pub const GAMING_DEVICE_VENDOR_ID_MICROSOFT = GAMING_DEVICE_VENDOR_ID.MICROSOFT;
pub const GAMING_DEVICE_DEVICE_ID = extern enum(i32) {
NONE = 0,
XBOX_ONE = 1988865574,
XBOX_ONE_S = 712204761,
XBOX_ONE_X = 1523980231,
XBOX_ONE_X_DEVKIT = 284675555,
};
pub const GAMING_DEVICE_DEVICE_ID_NONE = GAMING_DEVICE_DEVICE_ID.NONE;
pub const GAMING_DEVICE_DEVICE_ID_XBOX_ONE = GAMING_DEVICE_DEVICE_ID.XBOX_ONE;
pub const GAMING_DEVICE_DEVICE_ID_XBOX_ONE_S = GAMING_DEVICE_DEVICE_ID.XBOX_ONE_S;
pub const GAMING_DEVICE_DEVICE_ID_XBOX_ONE_X = GAMING_DEVICE_DEVICE_ID.XBOX_ONE_X;
pub const GAMING_DEVICE_DEVICE_ID_XBOX_ONE_X_DEVKIT = GAMING_DEVICE_DEVICE_ID.XBOX_ONE_X_DEVKIT;
pub const GAMING_DEVICE_MODEL_INFORMATION = extern struct {
vendorId: GAMING_DEVICE_VENDOR_ID,
deviceId: GAMING_DEVICE_DEVICE_ID,
};
//--------------------------------------------------------------------------------
// Section: Functions (1)
//--------------------------------------------------------------------------------
pub extern "api-ms-win-gaming-deviceinformation-l1-1-0" fn GetGamingDeviceModelInformation(
information: *GAMING_DEVICE_MODEL_INFORMATION,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
//--------------------------------------------------------------------------------
// Section: Unicode Aliases (0)
//--------------------------------------------------------------------------------
pub usingnamespace switch (@import("../zig.zig").unicode_mode) {
.ansi => struct {
},
.wide => struct {
},
.unspecified => if (@import("builtin").is_test) struct {
} else struct {
},
};
//--------------------------------------------------------------------------------
// Section: Imports (1)
//--------------------------------------------------------------------------------
const HRESULT = @import("com.zig").HRESULT;
test {
@setEvalBranchQuota(
@import("std").meta.declarations(@This()).len * 3
);
// reference all the pub declarations
if (!@import("std").builtin.is_test) return;
inline for (@import("std").meta.declarations(@This())) |decl| {
if (decl.is_pub) {
_ = decl;
}
}
}

7237
src/win32/api/gdi.zig Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,94 @@
//! NOTE: this file is autogenerated, DO NOT MODIFY
//--------------------------------------------------------------------------------
// Section: Constants (0)
//--------------------------------------------------------------------------------
//--------------------------------------------------------------------------------
// Section: Types (3)
//--------------------------------------------------------------------------------
pub const HARDWARE_COUNTER_TYPE = extern enum(i32) {
PMCCounter = 0,
MaxHardwareCounterType = 1,
};
pub const PMCCounter = HARDWARE_COUNTER_TYPE.PMCCounter;
pub const MaxHardwareCounterType = HARDWARE_COUNTER_TYPE.MaxHardwareCounterType;
pub const HARDWARE_COUNTER_DATA = extern struct {
Type: HARDWARE_COUNTER_TYPE,
Reserved: u32,
Value: u64,
};
pub const PERFORMANCE_DATA = extern struct {
Size: u16,
Version: u8,
HwCountersCount: u8,
ContextSwitchCount: u32,
WaitReasonBitMap: u64,
CycleTime: u64,
RetryCount: u32,
Reserved: u32,
HwCounters: [16]HARDWARE_COUNTER_DATA,
};
//--------------------------------------------------------------------------------
// Section: Functions (4)
//--------------------------------------------------------------------------------
// TODO: this type is limited to platform 'windows6.1'
pub extern "KERNEL32" fn EnableThreadProfiling(
ThreadHandle: HANDLE,
Flags: u32,
HardwareCounters: u64,
PerformanceDataHandle: *HANDLE,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows6.1'
pub extern "KERNEL32" fn DisableThreadProfiling(
PerformanceDataHandle: HANDLE,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows6.1'
pub extern "KERNEL32" fn QueryThreadProfiling(
ThreadHandle: HANDLE,
Enabled: *u8,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows6.1'
pub extern "KERNEL32" fn ReadThreadProfilingData(
PerformanceDataHandle: HANDLE,
Flags: u32,
PerformanceData: *PERFORMANCE_DATA,
) callconv(@import("std").os.windows.WINAPI) u32;
//--------------------------------------------------------------------------------
// Section: Unicode Aliases (0)
//--------------------------------------------------------------------------------
pub usingnamespace switch (@import("../zig.zig").unicode_mode) {
.ansi => struct {
},
.wide => struct {
},
.unspecified => if (@import("builtin").is_test) struct {
} else struct {
},
};
//--------------------------------------------------------------------------------
// Section: Imports (1)
//--------------------------------------------------------------------------------
const HANDLE = @import("system_services.zig").HANDLE;
test {
@setEvalBranchQuota(
@import("std").meta.declarations(@This()).len * 3
);
// reference all the pub declarations
if (!@import("std").builtin.is_test) return;
inline for (@import("std").meta.declarations(@This())) |decl| {
if (decl.is_pub) {
_ = decl;
}
}
}

274
src/win32/api/hi_dpi.zig Normal file
View File

@ -0,0 +1,274 @@
//! NOTE: this file is autogenerated, DO NOT MODIFY
//--------------------------------------------------------------------------------
// Section: Constants (0)
//--------------------------------------------------------------------------------
//--------------------------------------------------------------------------------
// Section: Types (6)
//--------------------------------------------------------------------------------
pub const DPI_AWARENESS = extern enum(i32) {
INVALID = -1,
UNAWARE = 0,
SYSTEM_AWARE = 1,
PER_MONITOR_AWARE = 2,
};
pub const DPI_AWARENESS_INVALID = DPI_AWARENESS.INVALID;
pub const DPI_AWARENESS_UNAWARE = DPI_AWARENESS.UNAWARE;
pub const DPI_AWARENESS_SYSTEM_AWARE = DPI_AWARENESS.SYSTEM_AWARE;
pub const DPI_AWARENESS_PER_MONITOR_AWARE = DPI_AWARENESS.PER_MONITOR_AWARE;
pub const DPI_HOSTING_BEHAVIOR = extern enum(i32) {
INVALID = -1,
DEFAULT = 0,
MIXED = 1,
};
pub const DPI_HOSTING_BEHAVIOR_INVALID = DPI_HOSTING_BEHAVIOR.INVALID;
pub const DPI_HOSTING_BEHAVIOR_DEFAULT = DPI_HOSTING_BEHAVIOR.DEFAULT;
pub const DPI_HOSTING_BEHAVIOR_MIXED = DPI_HOSTING_BEHAVIOR.MIXED;
// TODO: This Enum is marked as [Flags], what do I do with this?
pub const DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS = extern enum(u32) {
EFAULT = 0,
ISABLE_FONT_UPDATE = 1,
ISABLE_RELAYOUT = 2,
_,
};
pub const DCDC_DEFAULT = DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS.EFAULT;
pub const DCDC_DISABLE_FONT_UPDATE = DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS.ISABLE_FONT_UPDATE;
pub const DCDC_DISABLE_RELAYOUT = DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS.ISABLE_RELAYOUT;
// TODO: This Enum is marked as [Flags], what do I do with this?
pub const DIALOG_DPI_CHANGE_BEHAVIORS = extern enum(u32) {
EFAULT = 0,
ISABLE_ALL = 1,
ISABLE_RESIZE = 2,
ISABLE_CONTROL_RELAYOUT = 4,
_,
};
pub const DDC_DEFAULT = DIALOG_DPI_CHANGE_BEHAVIORS.EFAULT;
pub const DDC_DISABLE_ALL = DIALOG_DPI_CHANGE_BEHAVIORS.ISABLE_ALL;
pub const DDC_DISABLE_RESIZE = DIALOG_DPI_CHANGE_BEHAVIORS.ISABLE_RESIZE;
pub const DDC_DISABLE_CONTROL_RELAYOUT = DIALOG_DPI_CHANGE_BEHAVIORS.ISABLE_CONTROL_RELAYOUT;
pub const PROCESS_DPI_AWARENESS = extern enum(i32) {
DPI_UNAWARE = 0,
SYSTEM_DPI_AWARE = 1,
PER_MONITOR_DPI_AWARE = 2,
};
pub const PROCESS_DPI_UNAWARE = PROCESS_DPI_AWARENESS.DPI_UNAWARE;
pub const PROCESS_SYSTEM_DPI_AWARE = PROCESS_DPI_AWARENESS.SYSTEM_DPI_AWARE;
pub const PROCESS_PER_MONITOR_DPI_AWARE = PROCESS_DPI_AWARENESS.PER_MONITOR_DPI_AWARE;
pub const MONITOR_DPI_TYPE = extern enum(i32) {
EFFECTIVE_DPI = 0,
ANGULAR_DPI = 1,
RAW_DPI = 2,
DEFAULT = 0,
};
pub const MDT_EFFECTIVE_DPI = MONITOR_DPI_TYPE.EFFECTIVE_DPI;
pub const MDT_ANGULAR_DPI = MONITOR_DPI_TYPE.ANGULAR_DPI;
pub const MDT_RAW_DPI = MONITOR_DPI_TYPE.RAW_DPI;
pub const MDT_DEFAULT = MONITOR_DPI_TYPE.DEFAULT;
//--------------------------------------------------------------------------------
// Section: Functions (28)
//--------------------------------------------------------------------------------
// TODO: this type is limited to platform 'windows10.0.15063'
pub extern "UxTheme" fn OpenThemeDataForDpi(
hwnd: HWND,
pszClassList: [*:0]const u16,
dpi: u32,
) callconv(@import("std").os.windows.WINAPI) isize;
// TODO: this type is limited to platform 'windows10.0.15063'
pub extern "USER32" fn SetDialogControlDpiChangeBehavior(
hWnd: HWND,
mask: DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS,
values: DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows10.0.15063'
pub extern "USER32" fn GetDialogControlDpiChangeBehavior(
hWnd: HWND,
) callconv(@import("std").os.windows.WINAPI) DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS;
// TODO: this type is limited to platform 'windows10.0.15063'
pub extern "USER32" fn SetDialogDpiChangeBehavior(
hDlg: HWND,
mask: DIALOG_DPI_CHANGE_BEHAVIORS,
values: DIALOG_DPI_CHANGE_BEHAVIORS,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows10.0.15063'
pub extern "USER32" fn GetDialogDpiChangeBehavior(
hDlg: HWND,
) callconv(@import("std").os.windows.WINAPI) DIALOG_DPI_CHANGE_BEHAVIORS;
// TODO: this type is limited to platform 'windows10.0.14393'
pub extern "USER32" fn GetSystemMetricsForDpi(
nIndex: i32,
dpi: u32,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows10.0.14393'
pub extern "USER32" fn AdjustWindowRectExForDpi(
lpRect: *RECT,
dwStyle: u32,
bMenu: BOOL,
dwExStyle: u32,
dpi: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows8.0'
pub extern "USER32" fn LogicalToPhysicalPointForPerMonitorDPI(
hWnd: HWND,
lpPoint: *POINT,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows8.0'
pub extern "USER32" fn PhysicalToLogicalPointForPerMonitorDPI(
hWnd: HWND,
lpPoint: *POINT,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows10.0.14393'
pub extern "USER32" fn SystemParametersInfoForDpi(
uiAction: u32,
uiParam: u32,
pvParam: ?*c_void,
fWinIni: u32,
dpi: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows10.0.14393'
pub extern "USER32" fn SetThreadDpiAwarenessContext(
dpiContext: DPI_AWARENESS_CONTEXT,
) callconv(@import("std").os.windows.WINAPI) DPI_AWARENESS_CONTEXT;
// TODO: this type is limited to platform 'windows10.0.14393'
pub extern "USER32" fn GetThreadDpiAwarenessContext(
) callconv(@import("std").os.windows.WINAPI) DPI_AWARENESS_CONTEXT;
// TODO: this type is limited to platform 'windows10.0.14393'
pub extern "USER32" fn GetWindowDpiAwarenessContext(
hwnd: HWND,
) callconv(@import("std").os.windows.WINAPI) DPI_AWARENESS_CONTEXT;
// TODO: this type is limited to platform 'windows10.0.14393'
pub extern "USER32" fn GetAwarenessFromDpiAwarenessContext(
value: DPI_AWARENESS_CONTEXT,
) callconv(@import("std").os.windows.WINAPI) DPI_AWARENESS;
// TODO: this type is limited to platform 'windows10.0.17134'
pub extern "USER32" fn GetDpiFromDpiAwarenessContext(
value: DPI_AWARENESS_CONTEXT,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows10.0.14393'
pub extern "USER32" fn AreDpiAwarenessContextsEqual(
dpiContextA: DPI_AWARENESS_CONTEXT,
dpiContextB: DPI_AWARENESS_CONTEXT,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows10.0.14393'
pub extern "USER32" fn IsValidDpiAwarenessContext(
value: DPI_AWARENESS_CONTEXT,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows10.0.14393'
pub extern "USER32" fn GetDpiForWindow(
hwnd: HWND,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows10.0.14393'
pub extern "USER32" fn GetDpiForSystem(
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows10.0.17134'
pub extern "USER32" fn GetSystemDpiForProcess(
hProcess: HANDLE,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows10.0.14393'
pub extern "USER32" fn EnableNonClientDpiScaling(
hwnd: HWND,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows10.0.15063'
pub extern "USER32" fn SetProcessDpiAwarenessContext(
value: DPI_AWARENESS_CONTEXT,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows10.0.17134'
pub extern "USER32" fn SetThreadDpiHostingBehavior(
value: DPI_HOSTING_BEHAVIOR,
) callconv(@import("std").os.windows.WINAPI) DPI_HOSTING_BEHAVIOR;
// TODO: this type is limited to platform 'windows10.0.17134'
pub extern "USER32" fn GetThreadDpiHostingBehavior(
) callconv(@import("std").os.windows.WINAPI) DPI_HOSTING_BEHAVIOR;
// TODO: this type is limited to platform 'windows10.0.17134'
pub extern "USER32" fn GetWindowDpiHostingBehavior(
hwnd: HWND,
) callconv(@import("std").os.windows.WINAPI) DPI_HOSTING_BEHAVIOR;
// TODO: this type is limited to platform 'windows8.0'
pub extern "api-ms-win-shcore-scaling-l1-1-1" fn SetProcessDpiAwareness(
value: PROCESS_DPI_AWARENESS,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows8.0'
pub extern "api-ms-win-shcore-scaling-l1-1-1" fn GetProcessDpiAwareness(
hprocess: HANDLE,
value: *PROCESS_DPI_AWARENESS,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows8.0'
pub extern "api-ms-win-shcore-scaling-l1-1-1" fn GetDpiForMonitor(
hmonitor: HMONITOR,
dpiType: MONITOR_DPI_TYPE,
dpiX: *u32,
dpiY: *u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
//--------------------------------------------------------------------------------
// Section: Unicode Aliases (0)
//--------------------------------------------------------------------------------
pub usingnamespace switch (@import("../zig.zig").unicode_mode) {
.ansi => struct {
},
.wide => struct {
},
.unspecified => if (@import("builtin").is_test) struct {
} else struct {
},
};
//--------------------------------------------------------------------------------
// Section: Imports (9)
//--------------------------------------------------------------------------------
const HMONITOR = @import("gdi.zig").HMONITOR;
const PWSTR = @import("system_services.zig").PWSTR;
const HRESULT = @import("com.zig").HRESULT;
const POINT = @import("display_devices.zig").POINT;
const RECT = @import("display_devices.zig").RECT;
const DPI_AWARENESS_CONTEXT = @import("system_services.zig").DPI_AWARENESS_CONTEXT;
const BOOL = @import("system_services.zig").BOOL;
const HWND = @import("windows_and_messaging.zig").HWND;
const HANDLE = @import("system_services.zig").HANDLE;
test {
@setEvalBranchQuota(
@import("std").meta.declarations(@This()).len * 3
);
// reference all the pub declarations
if (!@import("std").builtin.is_test) return;
inline for (@import("std").meta.declarations(@This())) |decl| {
if (decl.is_pub) {
_ = decl;
}
}
}

5234
src/win32/api/hid.zig Normal file

File diff suppressed because it is too large Load Diff

1332
src/win32/api/html_help.zig Normal file

File diff suppressed because it is too large Load Diff

2774
src/win32/api/http.zig Normal file

File diff suppressed because it is too large Load Diff

1318
src/win32/api/hypervisor.zig Normal file

File diff suppressed because it is too large Load Diff

5443
src/win32/api/imapi.zig Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,446 @@
//! NOTE: this file is autogenerated, DO NOT MODIFY
//--------------------------------------------------------------------------------
// Section: Constants (123)
//--------------------------------------------------------------------------------
pub const CI_VERSION_WDS30 = @as(u32, 258);
pub const CI_VERSION_WDS40 = @as(u32, 265);
pub const CI_VERSION_WIN70 = @as(u32, 1792);
pub const LIFF_LOAD_DEFINED_FILTER = @as(u32, 1);
pub const LIFF_IMPLEMENT_TEXT_FILTER_FALLBACK_POLICY = @as(u32, 2);
pub const LIFF_FORCE_TEXT_FILTER_FALLBACK = @as(u32, 3);
pub const PID_FILENAME = @as(u32, 100);
pub const DBPROP_CI_CATALOG_NAME = @as(u32, 2);
pub const DBPROP_CI_INCLUDE_SCOPES = @as(u32, 3);
pub const DBPROP_CI_DEPTHS = @as(u32, 4);
pub const DBPROP_CI_SCOPE_FLAGS = @as(u32, 4);
pub const DBPROP_CI_EXCLUDE_SCOPES = @as(u32, 5);
pub const DBPROP_CI_SECURITY_ID = @as(u32, 6);
pub const DBPROP_CI_QUERY_TYPE = @as(u32, 7);
pub const DBPROP_CI_PROVIDER = @as(u32, 8);
pub const CI_PROVIDER_MSSEARCH = @as(u32, 1);
pub const CI_PROVIDER_INDEXING_SERVICE = @as(u32, 2);
pub const CI_PROVIDER_ALL = @as(u32, 4294967295);
pub const DBPROP_DEFAULT_EQUALS_BEHAVIOR = @as(u32, 2);
pub const DBPROP_USECONTENTINDEX = @as(u32, 2);
pub const DBPROP_DEFERNONINDEXEDTRIMMING = @as(u32, 3);
pub const DBPROP_USEEXTENDEDDBTYPES = @as(u32, 4);
pub const DBPROP_IGNORENOISEONLYCLAUSES = @as(u32, 5);
pub const DBPROP_GENERICOPTIONS_STRING = @as(u32, 6);
pub const DBPROP_FIRSTROWS = @as(u32, 7);
pub const DBPROP_DEFERCATALOGVERIFICATION = @as(u32, 8);
pub const DBPROP_CATALOGLISTID = @as(u32, 9);
pub const DBPROP_GENERATEPARSETREE = @as(u32, 10);
pub const DBPROP_APPLICATION_NAME = @as(u32, 11);
pub const DBPROP_FREETEXTANYTERM = @as(u32, 12);
pub const DBPROP_FREETEXTUSESTEMMING = @as(u32, 13);
pub const DBPROP_IGNORESBRI = @as(u32, 14);
pub const DBPROP_DONOTCOMPUTEEXPENSIVEPROPS = @as(u32, 15);
pub const DBPROP_ENABLEROWSETEVENTS = @as(u32, 16);
pub const DBPROP_MACHINE = @as(u32, 2);
pub const DBPROP_CLIENT_CLSID = @as(u32, 3);
pub const MSIDXSPROP_ROWSETQUERYSTATUS = @as(u32, 2);
pub const MSIDXSPROP_COMMAND_LOCALE_STRING = @as(u32, 3);
pub const MSIDXSPROP_QUERY_RESTRICTION = @as(u32, 4);
pub const MSIDXSPROP_PARSE_TREE = @as(u32, 5);
pub const MSIDXSPROP_MAX_RANK = @as(u32, 6);
pub const MSIDXSPROP_RESULTS_FOUND = @as(u32, 7);
pub const MSIDXSPROP_WHEREID = @as(u32, 8);
pub const MSIDXSPROP_SERVER_VERSION = @as(u32, 9);
pub const MSIDXSPROP_SERVER_WINVER_MAJOR = @as(u32, 10);
pub const MSIDXSPROP_SERVER_WINVER_MINOR = @as(u32, 11);
pub const MSIDXSPROP_SERVER_NLSVERSION = @as(u32, 12);
pub const MSIDXSPROP_SERVER_NLSVER_DEFINED = @as(u32, 13);
pub const MSIDXSPROP_SAME_SORTORDER_USED = @as(u32, 14);
pub const STAT_BUSY = @as(u32, 0);
pub const STAT_ERROR = @as(u32, 1);
pub const STAT_DONE = @as(u32, 2);
pub const STAT_REFRESH = @as(u32, 3);
pub const STAT_PARTIAL_SCOPE = @as(u32, 8);
pub const STAT_NOISE_WORDS = @as(u32, 16);
pub const STAT_CONTENT_OUT_OF_DATE = @as(u32, 32);
pub const STAT_REFRESH_INCOMPLETE = @as(u32, 64);
pub const STAT_CONTENT_QUERY_INCOMPLETE = @as(u32, 128);
pub const STAT_TIME_LIMIT_EXCEEDED = @as(u32, 256);
pub const STAT_SHARING_VIOLATION = @as(u32, 512);
pub const STAT_MISSING_RELDOC = @as(u32, 1024);
pub const STAT_MISSING_PROP_IN_RELDOC = @as(u32, 2048);
pub const STAT_RELDOC_ACCESS_DENIED = @as(u32, 4096);
pub const STAT_COALESCE_COMP_ALL_NOISE = @as(u32, 8192);
pub const QUERY_SHALLOW = @as(u32, 0);
pub const QUERY_DEEP = @as(u32, 1);
pub const QUERY_PHYSICAL_PATH = @as(u32, 0);
pub const QUERY_VIRTUAL_PATH = @as(u32, 2);
pub const PROPID_QUERY_WORKID = @as(u32, 5);
pub const PROPID_QUERY_UNFILTERED = @as(u32, 7);
pub const PROPID_QUERY_VIRTUALPATH = @as(u32, 9);
pub const PROPID_QUERY_LASTSEENTIME = @as(u32, 10);
pub const CICAT_STOPPED = @as(u32, 1);
pub const CICAT_READONLY = @as(u32, 2);
pub const CICAT_WRITABLE = @as(u32, 4);
pub const CICAT_NO_QUERY = @as(u32, 8);
pub const CICAT_GET_STATE = @as(u32, 16);
pub const CICAT_ALL_OPENED = @as(u32, 32);
pub const CI_STATE_SHADOW_MERGE = @as(u32, 1);
pub const CI_STATE_MASTER_MERGE = @as(u32, 2);
pub const CI_STATE_CONTENT_SCAN_REQUIRED = @as(u32, 4);
pub const CI_STATE_ANNEALING_MERGE = @as(u32, 8);
pub const CI_STATE_SCANNING = @as(u32, 16);
pub const CI_STATE_RECOVERING = @as(u32, 32);
pub const CI_STATE_INDEX_MIGRATION_MERGE = @as(u32, 64);
pub const CI_STATE_LOW_MEMORY = @as(u32, 128);
pub const CI_STATE_HIGH_IO = @as(u32, 256);
pub const CI_STATE_MASTER_MERGE_PAUSED = @as(u32, 512);
pub const CI_STATE_READ_ONLY = @as(u32, 1024);
pub const CI_STATE_BATTERY_POWER = @as(u32, 2048);
pub const CI_STATE_USER_ACTIVE = @as(u32, 4096);
pub const CI_STATE_STARTING = @as(u32, 8192);
pub const CI_STATE_READING_USNS = @as(u32, 16384);
pub const CI_STATE_DELETION_MERGE = @as(u32, 32768);
pub const CI_STATE_LOW_DISK = @as(u32, 65536);
pub const CI_STATE_HIGH_CPU = @as(u32, 131072);
pub const CI_STATE_BATTERY_POLICY = @as(u32, 262144);
pub const GENERATE_METHOD_EXACT = @as(u32, 0);
pub const GENERATE_METHOD_PREFIX = @as(u32, 1);
pub const GENERATE_METHOD_INFLECT = @as(u32, 2);
pub const SCOPE_FLAG_MASK = @as(u32, 255);
pub const SCOPE_FLAG_INCLUDE = @as(u32, 1);
pub const SCOPE_FLAG_DEEP = @as(u32, 2);
pub const SCOPE_TYPE_MASK = @as(u32, 4294967040);
pub const SCOPE_TYPE_WINPATH = @as(u32, 256);
pub const SCOPE_TYPE_VPATH = @as(u32, 512);
pub const PROPID_QUERY_RANKVECTOR = @as(u32, 2);
pub const PROPID_QUERY_RANK = @as(u32, 3);
pub const PROPID_QUERY_HITCOUNT = @as(u32, 4);
pub const PROPID_QUERY_ALL = @as(u32, 6);
pub const PROPID_STG_CONTENTS = @as(u32, 19);
pub const VECTOR_RANK_MIN = @as(u32, 0);
pub const VECTOR_RANK_MAX = @as(u32, 1);
pub const VECTOR_RANK_INNER = @as(u32, 2);
pub const VECTOR_RANK_DICE = @as(u32, 3);
pub const VECTOR_RANK_JACCARD = @as(u32, 4);
pub const DBSETFUNC_NONE = @as(u32, 0);
pub const DBSETFUNC_ALL = @as(u32, 1);
pub const DBSETFUNC_DISTINCT = @as(u32, 2);
pub const PROXIMITY_UNIT_WORD = @as(u32, 0);
pub const PROXIMITY_UNIT_SENTENCE = @as(u32, 1);
pub const PROXIMITY_UNIT_PARAGRAPH = @as(u32, 2);
pub const PROXIMITY_UNIT_CHAPTER = @as(u32, 3);
//--------------------------------------------------------------------------------
// Section: Types (14)
//--------------------------------------------------------------------------------
pub usingnamespace switch (@import("../zig.zig").arch) {
.X64, .Arm64 => struct {
pub const DBID = extern struct {
uGuid: _uGuid_e__Union,
eKind: u32,
uName: _uName_e__Union,
const _uGuid_e__Union = u32; // TODO: generate this nested type!
const _uName_e__Union = u32; // TODO: generate this nested type!
};
}, else => struct { } };
pub usingnamespace switch (@import("../zig.zig").arch) {
.X86 => struct {
pub const DBID = extern struct {
uGuid: _uGuid_e__Union,
eKind: u32,
uName: _uName_e__Union,
const _uGuid_e__Union = u32; // TODO: generate this nested type!
const _uName_e__Union = u32; // TODO: generate this nested type!
};
}, else => struct { } };
pub const CI_STATE = extern struct {
cbStruct: u32,
cWordList: u32,
cPersistentIndex: u32,
cQueries: u32,
cDocuments: u32,
cFreshTest: u32,
dwMergeProgress: u32,
eState: u32,
cFilteredDocuments: u32,
cTotalDocuments: u32,
cPendingScans: u32,
dwIndexSize: u32,
cUniqueKeys: u32,
cSecQDocuments: u32,
dwPropCacheSize: u32,
};
pub const FULLPROPSPEC = extern struct {
guidPropSet: Guid,
psProperty: PROPSPEC,
};
pub const IFILTER_INIT = extern enum(i32) {
CANON_PARAGRAPHS = 1,
HARD_LINE_BREAKS = 2,
CANON_HYPHENS = 4,
CANON_SPACES = 8,
APPLY_INDEX_ATTRIBUTES = 16,
APPLY_OTHER_ATTRIBUTES = 32,
APPLY_CRAWL_ATTRIBUTES = 256,
INDEXING_ONLY = 64,
SEARCH_LINKS = 128,
FILTER_OWNED_VALUE_OK = 512,
FILTER_AGGRESSIVE_BREAK = 1024,
DISABLE_EMBEDDED = 2048,
EMIT_FORMATTING = 4096,
};
pub const IFILTER_INIT_CANON_PARAGRAPHS = IFILTER_INIT.CANON_PARAGRAPHS;
pub const IFILTER_INIT_HARD_LINE_BREAKS = IFILTER_INIT.HARD_LINE_BREAKS;
pub const IFILTER_INIT_CANON_HYPHENS = IFILTER_INIT.CANON_HYPHENS;
pub const IFILTER_INIT_CANON_SPACES = IFILTER_INIT.CANON_SPACES;
pub const IFILTER_INIT_APPLY_INDEX_ATTRIBUTES = IFILTER_INIT.APPLY_INDEX_ATTRIBUTES;
pub const IFILTER_INIT_APPLY_OTHER_ATTRIBUTES = IFILTER_INIT.APPLY_OTHER_ATTRIBUTES;
pub const IFILTER_INIT_APPLY_CRAWL_ATTRIBUTES = IFILTER_INIT.APPLY_CRAWL_ATTRIBUTES;
pub const IFILTER_INIT_INDEXING_ONLY = IFILTER_INIT.INDEXING_ONLY;
pub const IFILTER_INIT_SEARCH_LINKS = IFILTER_INIT.SEARCH_LINKS;
pub const IFILTER_INIT_FILTER_OWNED_VALUE_OK = IFILTER_INIT.FILTER_OWNED_VALUE_OK;
pub const IFILTER_INIT_FILTER_AGGRESSIVE_BREAK = IFILTER_INIT.FILTER_AGGRESSIVE_BREAK;
pub const IFILTER_INIT_DISABLE_EMBEDDED = IFILTER_INIT.DISABLE_EMBEDDED;
pub const IFILTER_INIT_EMIT_FORMATTING = IFILTER_INIT.EMIT_FORMATTING;
pub const IFILTER_FLAGS = extern enum(i32) {
S = 1,
};
pub const IFILTER_FLAGS_OLE_PROPERTIES = IFILTER_FLAGS.S;
pub const CHUNKSTATE = extern enum(i32) {
TEXT = 1,
VALUE = 2,
FILTER_OWNED_VALUE = 4,
};
pub const CHUNK_TEXT = CHUNKSTATE.TEXT;
pub const CHUNK_VALUE = CHUNKSTATE.VALUE;
pub const CHUNK_FILTER_OWNED_VALUE = CHUNKSTATE.FILTER_OWNED_VALUE;
pub const CHUNK_BREAKTYPE = extern enum(i32) {
NO_BREAK = 0,
EOW = 1,
EOS = 2,
EOP = 3,
EOC = 4,
};
pub const CHUNK_NO_BREAK = CHUNK_BREAKTYPE.NO_BREAK;
pub const CHUNK_EOW = CHUNK_BREAKTYPE.EOW;
pub const CHUNK_EOS = CHUNK_BREAKTYPE.EOS;
pub const CHUNK_EOP = CHUNK_BREAKTYPE.EOP;
pub const CHUNK_EOC = CHUNK_BREAKTYPE.EOC;
pub const FILTERREGION = extern struct {
idChunk: u32,
cwcStart: u32,
cwcExtent: u32,
};
pub const STAT_CHUNK = extern struct {
idChunk: u32,
breakType: CHUNK_BREAKTYPE,
flags: CHUNKSTATE,
locale: u32,
attribute: FULLPROPSPEC,
idChunkSource: u32,
cwcStartSource: u32,
cwcLenSource: u32,
};
// TODO: this type is limited to platform 'windows5.0'
const IID_IFilter_Value = @import("../zig.zig").Guid.initString("89bcb740-6119-101a-bcb7-00dd010655af");
pub const IID_IFilter = &IID_IFilter_Value;
pub const IFilter = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
Init: fn(
self: *const IFilter,
grfFlags: u32,
cAttributes: u32,
aAttributes: [*]const FULLPROPSPEC,
pFlags: *u32,
) callconv(@import("std").os.windows.WINAPI) i32,
GetChunk: fn(
self: *const IFilter,
pStat: *STAT_CHUNK,
) callconv(@import("std").os.windows.WINAPI) i32,
GetText: fn(
self: *const IFilter,
pcwcBuffer: *u32,
awcBuffer: [*:0]u16,
) callconv(@import("std").os.windows.WINAPI) i32,
GetValue: fn(
self: *const IFilter,
ppPropValue: **PROPVARIANT,
) callconv(@import("std").os.windows.WINAPI) i32,
BindRegion: fn(
self: *const IFilter,
origPos: FILTERREGION,
riid: *const Guid,
ppunk: **c_void,
) callconv(@import("std").os.windows.WINAPI) i32,
};
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 IFilter_Init(self: *const T, grfFlags: u32, cAttributes: u32, aAttributes: [*]const FULLPROPSPEC, pFlags: *u32) callconv(.Inline) i32 {
return @ptrCast(*const IFilter.VTable, self.vtable).Init(@ptrCast(*const IFilter, self), grfFlags, cAttributes, aAttributes, pFlags);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IFilter_GetChunk(self: *const T, pStat: *STAT_CHUNK) callconv(.Inline) i32 {
return @ptrCast(*const IFilter.VTable, self.vtable).GetChunk(@ptrCast(*const IFilter, self), pStat);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IFilter_GetText(self: *const T, pcwcBuffer: *u32, awcBuffer: [*:0]u16) callconv(.Inline) i32 {
return @ptrCast(*const IFilter.VTable, self.vtable).GetText(@ptrCast(*const IFilter, self), pcwcBuffer, awcBuffer);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IFilter_GetValue(self: *const T, ppPropValue: **PROPVARIANT) callconv(.Inline) i32 {
return @ptrCast(*const IFilter.VTable, self.vtable).GetValue(@ptrCast(*const IFilter, self), ppPropValue);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IFilter_BindRegion(self: *const T, origPos: FILTERREGION, riid: *const Guid, ppunk: **c_void) callconv(.Inline) i32 {
return @ptrCast(*const IFilter.VTable, self.vtable).BindRegion(@ptrCast(*const IFilter, self), origPos, riid, ppunk);
}
};}
pub usingnamespace MethodMixin(@This());
};
// TODO: this type is limited to platform 'windows5.0'
const IID_IPhraseSink_Value = @import("../zig.zig").Guid.initString("cc906ff0-c058-101a-b554-08002b33b0e6");
pub const IID_IPhraseSink = &IID_IPhraseSink_Value;
pub const IPhraseSink = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
PutSmallPhrase: fn(
self: *const IPhraseSink,
pwcNoun: [*:0]const u16,
cwcNoun: u32,
pwcModifier: [*:0]const u16,
cwcModifier: u32,
ulAttachmentType: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
PutPhrase: fn(
self: *const IPhraseSink,
pwcPhrase: [*:0]const u16,
cwcPhrase: 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 IPhraseSink_PutSmallPhrase(self: *const T, pwcNoun: [*:0]const u16, cwcNoun: u32, pwcModifier: [*:0]const u16, cwcModifier: u32, ulAttachmentType: u32) callconv(.Inline) HRESULT {
return @ptrCast(*const IPhraseSink.VTable, self.vtable).PutSmallPhrase(@ptrCast(*const IPhraseSink, self), pwcNoun, cwcNoun, pwcModifier, cwcModifier, ulAttachmentType);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IPhraseSink_PutPhrase(self: *const T, pwcPhrase: [*:0]const u16, cwcPhrase: u32) callconv(.Inline) HRESULT {
return @ptrCast(*const IPhraseSink.VTable, self.vtable).PutPhrase(@ptrCast(*const IPhraseSink, self), pwcPhrase, cwcPhrase);
}
};}
pub usingnamespace MethodMixin(@This());
};
pub const WORDREP_BREAK_TYPE = extern enum(i32) {
W = 0,
S = 1,
P = 2,
C = 3,
};
pub const WORDREP_BREAK_EOW = WORDREP_BREAK_TYPE.W;
pub const WORDREP_BREAK_EOS = WORDREP_BREAK_TYPE.S;
pub const WORDREP_BREAK_EOP = WORDREP_BREAK_TYPE.P;
pub const WORDREP_BREAK_EOC = WORDREP_BREAK_TYPE.C;
pub const DBKINDENUM = extern enum(i32) {
GUID_NAME = 0,
GUID_PROPID = 1,
NAME = 2,
PGUID_NAME = 3,
PGUID_PROPID = 4,
PROPID = 5,
GUID = 6,
};
pub const DBKIND_GUID_NAME = DBKINDENUM.GUID_NAME;
pub const DBKIND_GUID_PROPID = DBKINDENUM.GUID_PROPID;
pub const DBKIND_NAME = DBKINDENUM.NAME;
pub const DBKIND_PGUID_NAME = DBKINDENUM.PGUID_NAME;
pub const DBKIND_PGUID_PROPID = DBKINDENUM.PGUID_PROPID;
pub const DBKIND_PROPID = DBKINDENUM.PROPID;
pub const DBKIND_GUID = DBKINDENUM.GUID;
//--------------------------------------------------------------------------------
// Section: Functions (4)
//--------------------------------------------------------------------------------
// TODO: this type is limited to platform 'windows5.0'
pub extern "query" fn LoadIFilter(
pwcsPath: [*:0]const u16,
pUnkOuter: *IUnknown,
ppIUnk: **c_void,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "query" fn LoadIFilterEx(
pwcsPath: [*:0]const u16,
dwFlags: u32,
riid: *const Guid,
ppIUnk: **c_void,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows5.0'
pub extern "query" fn BindIFilterFromStorage(
pStg: *IStorage,
pUnkOuter: *IUnknown,
ppIUnk: **c_void,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows5.0'
pub extern "query" fn BindIFilterFromStream(
pStm: *IStream,
pUnkOuter: *IUnknown,
ppIUnk: **c_void,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
//--------------------------------------------------------------------------------
// Section: Unicode Aliases (0)
//--------------------------------------------------------------------------------
pub usingnamespace switch (@import("../zig.zig").unicode_mode) {
.ansi => struct {
},
.wide => struct {
},
.unspecified => if (@import("builtin").is_test) struct {
} else struct {
},
};
//--------------------------------------------------------------------------------
// Section: Imports (8)
//--------------------------------------------------------------------------------
const Guid = @import("../zig.zig").Guid;
const IStream = @import("structured_storage.zig").IStream;
const PROPSPEC = @import("structured_storage.zig").PROPSPEC;
const PWSTR = @import("system_services.zig").PWSTR;
const IUnknown = @import("com.zig").IUnknown;
const HRESULT = @import("com.zig").HRESULT;
const PROPVARIANT = @import("structured_storage.zig").PROPVARIANT;
const IStorage = @import("structured_storage.zig").IStorage;
test {
@setEvalBranchQuota(
@import("std").meta.declarations(@This()).len * 3
);
// reference all the pub declarations
if (!@import("std").builtin.is_test) return;
inline for (@import("std").meta.declarations(@This())) |decl| {
if (decl.is_pub) {
_ = decl;
}
}
}

249
src/win32/api/ink_input.zig Normal file
View File

@ -0,0 +1,249 @@
//! NOTE: this file is autogenerated, DO NOT MODIFY
//--------------------------------------------------------------------------------
// Section: Constants (0)
//--------------------------------------------------------------------------------
//--------------------------------------------------------------------------------
// Section: Types (9)
//--------------------------------------------------------------------------------
const CLSID_InkDesktopHost_Value = @import("../zig.zig").Guid.initString("062584a6-f830-4bdc-a4d2-0a10ab062b1d");
pub const CLSID_InkDesktopHost = &CLSID_InkDesktopHost_Value;
// TODO: this type is limited to platform 'windows10.0.10240'
const IID_IInkCommitRequestHandler_Value = @import("../zig.zig").Guid.initString("fabea3fc-b108-45b6-a9fc-8d08fa9f85cf");
pub const IID_IInkCommitRequestHandler = &IID_IInkCommitRequestHandler_Value;
pub const IInkCommitRequestHandler = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
OnCommitRequested: fn(
self: *const IInkCommitRequestHandler,
) 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 IInkCommitRequestHandler_OnCommitRequested(self: *const T) callconv(.Inline) HRESULT {
return @ptrCast(*const IInkCommitRequestHandler.VTable, self.vtable).OnCommitRequested(@ptrCast(*const IInkCommitRequestHandler, self));
}
};}
pub usingnamespace MethodMixin(@This());
};
// TODO: this type is limited to platform 'windows10.0.10240'
const IID_IInkPresenterDesktop_Value = @import("../zig.zig").Guid.initString("73f3c0d9-2e8b-48f3-895e-20cbd27b723b");
pub const IID_IInkPresenterDesktop = &IID_IInkPresenterDesktop_Value;
pub const IInkPresenterDesktop = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
SetRootVisual: fn(
self: *const IInkPresenterDesktop,
rootVisual: *IUnknown,
device: *IUnknown,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
SetCommitRequestHandler: fn(
self: *const IInkPresenterDesktop,
handler: *IInkCommitRequestHandler,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
GetSize: fn(
self: *const IInkPresenterDesktop,
width: *f32,
height: *f32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
SetSize: fn(
self: *const IInkPresenterDesktop,
width: f32,
height: f32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
OnHighContrastChanged: fn(
self: *const IInkPresenterDesktop,
) 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 IInkPresenterDesktop_SetRootVisual(self: *const T, rootVisual: *IUnknown, device: *IUnknown) callconv(.Inline) HRESULT {
return @ptrCast(*const IInkPresenterDesktop.VTable, self.vtable).SetRootVisual(@ptrCast(*const IInkPresenterDesktop, self), rootVisual, device);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IInkPresenterDesktop_SetCommitRequestHandler(self: *const T, handler: *IInkCommitRequestHandler) callconv(.Inline) HRESULT {
return @ptrCast(*const IInkPresenterDesktop.VTable, self.vtable).SetCommitRequestHandler(@ptrCast(*const IInkPresenterDesktop, self), handler);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IInkPresenterDesktop_GetSize(self: *const T, width: *f32, height: *f32) callconv(.Inline) HRESULT {
return @ptrCast(*const IInkPresenterDesktop.VTable, self.vtable).GetSize(@ptrCast(*const IInkPresenterDesktop, self), width, height);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IInkPresenterDesktop_SetSize(self: *const T, width: f32, height: f32) callconv(.Inline) HRESULT {
return @ptrCast(*const IInkPresenterDesktop.VTable, self.vtable).SetSize(@ptrCast(*const IInkPresenterDesktop, self), width, height);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IInkPresenterDesktop_OnHighContrastChanged(self: *const T) callconv(.Inline) HRESULT {
return @ptrCast(*const IInkPresenterDesktop.VTable, self.vtable).OnHighContrastChanged(@ptrCast(*const IInkPresenterDesktop, self));
}
};}
pub usingnamespace MethodMixin(@This());
};
// TODO: this type is limited to platform 'windows10.0.10240'
const IID_IInkHostWorkItem_Value = @import("../zig.zig").Guid.initString("ccda0a9a-1b78-4632-bb96-97800662e26c");
pub const IID_IInkHostWorkItem = &IID_IInkHostWorkItem_Value;
pub const IInkHostWorkItem = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
Invoke: fn(
self: *const IInkHostWorkItem,
) 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 IInkHostWorkItem_Invoke(self: *const T) callconv(.Inline) HRESULT {
return @ptrCast(*const IInkHostWorkItem.VTable, self.vtable).Invoke(@ptrCast(*const IInkHostWorkItem, self));
}
};}
pub usingnamespace MethodMixin(@This());
};
// TODO: this type is limited to platform 'windows10.0.10240'
const IID_IInkDesktopHost_Value = @import("../zig.zig").Guid.initString("4ce7d875-a981-4140-a1ff-ad93258e8d59");
pub const IID_IInkDesktopHost = &IID_IInkDesktopHost_Value;
pub const IInkDesktopHost = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
QueueWorkItem: fn(
self: *const IInkDesktopHost,
workItem: *IInkHostWorkItem,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
CreateInkPresenter: fn(
self: *const IInkDesktopHost,
riid: *const Guid,
ppv: **c_void,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
CreateAndInitializeInkPresenter: fn(
self: *const IInkDesktopHost,
rootVisual: *IUnknown,
width: f32,
height: f32,
riid: *const Guid,
ppv: **c_void,
) 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 IInkDesktopHost_QueueWorkItem(self: *const T, workItem: *IInkHostWorkItem) callconv(.Inline) HRESULT {
return @ptrCast(*const IInkDesktopHost.VTable, self.vtable).QueueWorkItem(@ptrCast(*const IInkDesktopHost, self), workItem);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IInkDesktopHost_CreateInkPresenter(self: *const T, riid: *const Guid, ppv: **c_void) callconv(.Inline) HRESULT {
return @ptrCast(*const IInkDesktopHost.VTable, self.vtable).CreateInkPresenter(@ptrCast(*const IInkDesktopHost, self), riid, ppv);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IInkDesktopHost_CreateAndInitializeInkPresenter(self: *const T, rootVisual: *IUnknown, width: f32, height: f32, riid: *const Guid, ppv: **c_void) callconv(.Inline) HRESULT {
return @ptrCast(*const IInkDesktopHost.VTable, self.vtable).CreateAndInitializeInkPresenter(@ptrCast(*const IInkDesktopHost, self), rootVisual, width, height, riid, ppv);
}
};}
pub usingnamespace MethodMixin(@This());
};
const CLSID_InkD2DRenderer_Value = @import("../zig.zig").Guid.initString("4044e60c-7b01-4671-a97c-04e0210a07a5");
pub const CLSID_InkD2DRenderer = &CLSID_InkD2DRenderer_Value;
pub const INK_HIGH_CONTRAST_ADJUSTMENT = extern enum(i32) {
SYSTEM_COLORS_WHEN_NECESSARY = 0,
SYSTEM_COLORS = 1,
ORIGINAL_COLORS = 2,
};
pub const USE_SYSTEM_COLORS_WHEN_NECESSARY = INK_HIGH_CONTRAST_ADJUSTMENT.SYSTEM_COLORS_WHEN_NECESSARY;
pub const USE_SYSTEM_COLORS = INK_HIGH_CONTRAST_ADJUSTMENT.SYSTEM_COLORS;
pub const USE_ORIGINAL_COLORS = INK_HIGH_CONTRAST_ADJUSTMENT.ORIGINAL_COLORS;
// TODO: this type is limited to platform 'windows10.0.10240'
const IID_IInkD2DRenderer_Value = @import("../zig.zig").Guid.initString("407fb1de-f85a-4150-97cf-b7fb274fb4f8");
pub const IID_IInkD2DRenderer = &IID_IInkD2DRenderer_Value;
pub const IInkD2DRenderer = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
Draw: fn(
self: *const IInkD2DRenderer,
pD2D1DeviceContext: *IUnknown,
pInkStrokeIterable: *IUnknown,
fHighContrast: 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 IInkD2DRenderer_Draw(self: *const T, pD2D1DeviceContext: *IUnknown, pInkStrokeIterable: *IUnknown, fHighContrast: BOOL) callconv(.Inline) HRESULT {
return @ptrCast(*const IInkD2DRenderer.VTable, self.vtable).Draw(@ptrCast(*const IInkD2DRenderer, self), pD2D1DeviceContext, pInkStrokeIterable, fHighContrast);
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IInkD2DRenderer2_Value = @import("../zig.zig").Guid.initString("0a95dcd9-4578-4b71-b20b-bf664d4bfeee");
pub const IID_IInkD2DRenderer2 = &IID_IInkD2DRenderer2_Value;
pub const IInkD2DRenderer2 = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
Draw: fn(
self: *const IInkD2DRenderer2,
pD2D1DeviceContext: *IUnknown,
pInkStrokeIterable: *IUnknown,
highContrastAdjustment: INK_HIGH_CONTRAST_ADJUSTMENT,
) 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 IInkD2DRenderer2_Draw(self: *const T, pD2D1DeviceContext: *IUnknown, pInkStrokeIterable: *IUnknown, highContrastAdjustment: INK_HIGH_CONTRAST_ADJUSTMENT) callconv(.Inline) HRESULT {
return @ptrCast(*const IInkD2DRenderer2.VTable, self.vtable).Draw(@ptrCast(*const IInkD2DRenderer2, self), pD2D1DeviceContext, pInkStrokeIterable, highContrastAdjustment);
}
};}
pub usingnamespace MethodMixin(@This());
};
//--------------------------------------------------------------------------------
// Section: Functions (0)
//--------------------------------------------------------------------------------
//--------------------------------------------------------------------------------
// Section: Unicode Aliases (0)
//--------------------------------------------------------------------------------
pub usingnamespace switch (@import("../zig.zig").unicode_mode) {
.ansi => struct {
},
.wide => struct {
},
.unspecified => if (@import("builtin").is_test) struct {
} else struct {
},
};
//--------------------------------------------------------------------------------
// Section: Imports (4)
//--------------------------------------------------------------------------------
const Guid = @import("../zig.zig").Guid;
const IUnknown = @import("com.zig").IUnknown;
const BOOL = @import("system_services.zig").BOOL;
const HRESULT = @import("com.zig").HRESULT;
test {
@setEvalBranchQuota(
@import("std").meta.declarations(@This()).len * 3
);
// reference all the pub declarations
if (!@import("std").builtin.is_test) return;
inline for (@import("std").meta.declarations(@This())) |decl| {
if (decl.is_pub) {
_ = decl;
}
}
}

View File

@ -0,0 +1,453 @@
//! NOTE: this file is autogenerated, DO NOT MODIFY
//--------------------------------------------------------------------------------
// Section: Constants (4)
//--------------------------------------------------------------------------------
pub const FILTER_NAME_MAX_CHARS = @as(u32, 255);
pub const VOLUME_NAME_MAX_CHARS = @as(u32, 1024);
pub const INSTANCE_NAME_MAX_CHARS = @as(u32, 255);
pub const FLT_PORT_FLAG_SYNC_HANDLE = @as(u32, 1);
//--------------------------------------------------------------------------------
// Section: Types (21)
//--------------------------------------------------------------------------------
// TODO: this type has a FreeFunc 'FilterClose', what can Zig do with this information?
pub const HFILTER = ?*opaque{};
// TODO: this type has a FreeFunc 'FilterInstanceClose', what can Zig do with this information?
pub const HFILTER_INSTANCE = isize;
// TODO: this type has a FreeFunc 'FilterFindClose', what can Zig do with this information?
pub const FilterFindHandle = isize;
// TODO: this type has a FreeFunc 'FilterVolumeFindClose', what can Zig do with this information?
pub const FilterVolumeFindHandle = isize;
// TODO: this type has a FreeFunc 'FilterInstanceFindClose', what can Zig do with this information?
pub const FilterInstanceFindHandle = isize;
// TODO: this type has a FreeFunc 'FilterVolumeInstanceFindClose', what can Zig do with this information?
pub const FilterVolumeInstanceFindHandle = isize;
pub const FLT_FILESYSTEM_TYPE = extern enum(i32) {
UNKNOWN = 0,
RAW = 1,
NTFS = 2,
FAT = 3,
CDFS = 4,
UDFS = 5,
LANMAN = 6,
WEBDAV = 7,
RDPDR = 8,
NFS = 9,
MS_NETWARE = 10,
NETWARE = 11,
BSUDF = 12,
MUP = 13,
RSFX = 14,
ROXIO_UDF1 = 15,
ROXIO_UDF2 = 16,
ROXIO_UDF3 = 17,
TACIT = 18,
FS_REC = 19,
INCD = 20,
INCD_FAT = 21,
EXFAT = 22,
PSFS = 23,
GPFS = 24,
NPFS = 25,
MSFS = 26,
CSVFS = 27,
REFS = 28,
OPENAFS = 29,
CIMFS = 30,
};
pub const FLT_FSTYPE_UNKNOWN = FLT_FILESYSTEM_TYPE.UNKNOWN;
pub const FLT_FSTYPE_RAW = FLT_FILESYSTEM_TYPE.RAW;
pub const FLT_FSTYPE_NTFS = FLT_FILESYSTEM_TYPE.NTFS;
pub const FLT_FSTYPE_FAT = FLT_FILESYSTEM_TYPE.FAT;
pub const FLT_FSTYPE_CDFS = FLT_FILESYSTEM_TYPE.CDFS;
pub const FLT_FSTYPE_UDFS = FLT_FILESYSTEM_TYPE.UDFS;
pub const FLT_FSTYPE_LANMAN = FLT_FILESYSTEM_TYPE.LANMAN;
pub const FLT_FSTYPE_WEBDAV = FLT_FILESYSTEM_TYPE.WEBDAV;
pub const FLT_FSTYPE_RDPDR = FLT_FILESYSTEM_TYPE.RDPDR;
pub const FLT_FSTYPE_NFS = FLT_FILESYSTEM_TYPE.NFS;
pub const FLT_FSTYPE_MS_NETWARE = FLT_FILESYSTEM_TYPE.MS_NETWARE;
pub const FLT_FSTYPE_NETWARE = FLT_FILESYSTEM_TYPE.NETWARE;
pub const FLT_FSTYPE_BSUDF = FLT_FILESYSTEM_TYPE.BSUDF;
pub const FLT_FSTYPE_MUP = FLT_FILESYSTEM_TYPE.MUP;
pub const FLT_FSTYPE_RSFX = FLT_FILESYSTEM_TYPE.RSFX;
pub const FLT_FSTYPE_ROXIO_UDF1 = FLT_FILESYSTEM_TYPE.ROXIO_UDF1;
pub const FLT_FSTYPE_ROXIO_UDF2 = FLT_FILESYSTEM_TYPE.ROXIO_UDF2;
pub const FLT_FSTYPE_ROXIO_UDF3 = FLT_FILESYSTEM_TYPE.ROXIO_UDF3;
pub const FLT_FSTYPE_TACIT = FLT_FILESYSTEM_TYPE.TACIT;
pub const FLT_FSTYPE_FS_REC = FLT_FILESYSTEM_TYPE.FS_REC;
pub const FLT_FSTYPE_INCD = FLT_FILESYSTEM_TYPE.INCD;
pub const FLT_FSTYPE_INCD_FAT = FLT_FILESYSTEM_TYPE.INCD_FAT;
pub const FLT_FSTYPE_EXFAT = FLT_FILESYSTEM_TYPE.EXFAT;
pub const FLT_FSTYPE_PSFS = FLT_FILESYSTEM_TYPE.PSFS;
pub const FLT_FSTYPE_GPFS = FLT_FILESYSTEM_TYPE.GPFS;
pub const FLT_FSTYPE_NPFS = FLT_FILESYSTEM_TYPE.NPFS;
pub const FLT_FSTYPE_MSFS = FLT_FILESYSTEM_TYPE.MSFS;
pub const FLT_FSTYPE_CSVFS = FLT_FILESYSTEM_TYPE.CSVFS;
pub const FLT_FSTYPE_REFS = FLT_FILESYSTEM_TYPE.REFS;
pub const FLT_FSTYPE_OPENAFS = FLT_FILESYSTEM_TYPE.OPENAFS;
pub const FLT_FSTYPE_CIMFS = FLT_FILESYSTEM_TYPE.CIMFS;
pub const FILTER_INFORMATION_CLASS = extern enum(i32) {
FullInformation = 0,
AggregateBasicInformation = 1,
AggregateStandardInformation = 2,
};
pub const FilterFullInformation = FILTER_INFORMATION_CLASS.FullInformation;
pub const FilterAggregateBasicInformation = FILTER_INFORMATION_CLASS.AggregateBasicInformation;
pub const FilterAggregateStandardInformation = FILTER_INFORMATION_CLASS.AggregateStandardInformation;
pub const FILTER_FULL_INFORMATION = extern struct {
NextEntryOffset: u32,
FrameID: u32,
NumberOfInstances: u32,
FilterNameLength: u16,
FilterNameBuffer: [1]u16,
};
pub const FILTER_AGGREGATE_BASIC_INFORMATION = extern struct {
NextEntryOffset: u32,
Flags: u32,
Type: _Type_e__Union,
const _Type_e__Union = u32; // TODO: generate this nested type!
};
pub const FILTER_AGGREGATE_STANDARD_INFORMATION = extern struct {
NextEntryOffset: u32,
Flags: u32,
Type: _Type_e__Union,
const _Type_e__Union = u32; // TODO: generate this nested type!
};
pub const FILTER_VOLUME_INFORMATION_CLASS = extern enum(i32) {
BasicInformation = 0,
StandardInformation = 1,
};
pub const FilterVolumeBasicInformation = FILTER_VOLUME_INFORMATION_CLASS.BasicInformation;
pub const FilterVolumeStandardInformation = FILTER_VOLUME_INFORMATION_CLASS.StandardInformation;
pub const FILTER_VOLUME_BASIC_INFORMATION = extern struct {
FilterVolumeNameLength: u16,
FilterVolumeName: [1]u16,
};
pub const FILTER_VOLUME_STANDARD_INFORMATION = extern struct {
NextEntryOffset: u32,
Flags: u32,
FrameID: u32,
FileSystemType: FLT_FILESYSTEM_TYPE,
FilterVolumeNameLength: u16,
FilterVolumeName: [1]u16,
};
pub const INSTANCE_INFORMATION_CLASS = extern enum(i32) {
BasicInformation = 0,
PartialInformation = 1,
FullInformation = 2,
AggregateStandardInformation = 3,
};
pub const InstanceBasicInformation = INSTANCE_INFORMATION_CLASS.BasicInformation;
pub const InstancePartialInformation = INSTANCE_INFORMATION_CLASS.PartialInformation;
pub const InstanceFullInformation = INSTANCE_INFORMATION_CLASS.FullInformation;
pub const InstanceAggregateStandardInformation = INSTANCE_INFORMATION_CLASS.AggregateStandardInformation;
pub const INSTANCE_BASIC_INFORMATION = extern struct {
NextEntryOffset: u32,
InstanceNameLength: u16,
InstanceNameBufferOffset: u16,
};
pub const INSTANCE_PARTIAL_INFORMATION = extern struct {
NextEntryOffset: u32,
InstanceNameLength: u16,
InstanceNameBufferOffset: u16,
AltitudeLength: u16,
AltitudeBufferOffset: u16,
};
pub const INSTANCE_FULL_INFORMATION = extern struct {
NextEntryOffset: u32,
InstanceNameLength: u16,
InstanceNameBufferOffset: u16,
AltitudeLength: u16,
AltitudeBufferOffset: u16,
VolumeNameLength: u16,
VolumeNameBufferOffset: u16,
FilterNameLength: u16,
FilterNameBufferOffset: u16,
};
pub const INSTANCE_AGGREGATE_STANDARD_INFORMATION = extern struct {
NextEntryOffset: u32,
Flags: u32,
Type: _Type_e__Union,
const _Type_e__Union = u32; // TODO: generate this nested type!
};
pub const FILTER_MESSAGE_HEADER = extern struct {
ReplyLength: u32,
MessageId: u64,
};
pub const FILTER_REPLY_HEADER = extern struct {
Status: NTSTATUS,
MessageId: u64,
};
//--------------------------------------------------------------------------------
// Section: Functions (29)
//--------------------------------------------------------------------------------
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "KERNEL32" fn RtlCaptureStackBackTrace(
FramesToSkip: u32,
FramesToCapture: u32,
BackTrace: [*]*c_void,
BackTraceHash: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u16;
pub extern "FLTLIB" fn FilterLoad(
lpFilterName: [*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "FLTLIB" fn FilterUnload(
lpFilterName: [*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "FLTLIB" fn FilterCreate(
lpFilterName: [*:0]const u16,
hFilter: *HFILTER,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "FLTLIB" fn FilterClose(
hFilter: HFILTER,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "FLTLIB" fn FilterInstanceCreate(
lpFilterName: [*:0]const u16,
lpVolumeName: [*:0]const u16,
lpInstanceName: ?[*:0]const u16,
hInstance: *HFILTER_INSTANCE,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "FLTLIB" fn FilterInstanceClose(
hInstance: HFILTER_INSTANCE,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "FLTLIB" fn FilterAttach(
lpFilterName: [*:0]const u16,
lpVolumeName: [*:0]const u16,
lpInstanceName: ?[*:0]const u16,
dwCreatedInstanceNameLength: u32,
// TODO: what to do with BytesParamIndex 3?
lpCreatedInstanceName: ?PWSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "FLTLIB" fn FilterAttachAtAltitude(
lpFilterName: [*:0]const u16,
lpVolumeName: [*:0]const u16,
lpAltitude: [*:0]const u16,
lpInstanceName: ?[*:0]const u16,
dwCreatedInstanceNameLength: u32,
// TODO: what to do with BytesParamIndex 4?
lpCreatedInstanceName: ?PWSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "FLTLIB" fn FilterDetach(
lpFilterName: [*:0]const u16,
lpVolumeName: [*:0]const u16,
lpInstanceName: ?[*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "FLTLIB" fn FilterFindFirst(
dwInformationClass: FILTER_INFORMATION_CLASS,
// TODO: what to do with BytesParamIndex 2?
lpBuffer: *c_void,
dwBufferSize: u32,
lpBytesReturned: *u32,
lpFilterFind: *FilterFindHandle,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "FLTLIB" fn FilterFindNext(
hFilterFind: HANDLE,
dwInformationClass: FILTER_INFORMATION_CLASS,
// TODO: what to do with BytesParamIndex 3?
lpBuffer: *c_void,
dwBufferSize: u32,
lpBytesReturned: *u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "FLTLIB" fn FilterFindClose(
hFilterFind: HANDLE,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "FLTLIB" fn FilterVolumeFindFirst(
dwInformationClass: FILTER_VOLUME_INFORMATION_CLASS,
// TODO: what to do with BytesParamIndex 2?
lpBuffer: *c_void,
dwBufferSize: u32,
lpBytesReturned: *u32,
lpVolumeFind: *FilterVolumeFindHandle,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "FLTLIB" fn FilterVolumeFindNext(
hVolumeFind: HANDLE,
dwInformationClass: FILTER_VOLUME_INFORMATION_CLASS,
// TODO: what to do with BytesParamIndex 3?
lpBuffer: *c_void,
dwBufferSize: u32,
lpBytesReturned: *u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "FLTLIB" fn FilterVolumeFindClose(
hVolumeFind: HANDLE,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "FLTLIB" fn FilterInstanceFindFirst(
lpFilterName: [*:0]const u16,
dwInformationClass: INSTANCE_INFORMATION_CLASS,
// TODO: what to do with BytesParamIndex 3?
lpBuffer: *c_void,
dwBufferSize: u32,
lpBytesReturned: *u32,
lpFilterInstanceFind: *FilterInstanceFindHandle,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "FLTLIB" fn FilterInstanceFindNext(
hFilterInstanceFind: HANDLE,
dwInformationClass: INSTANCE_INFORMATION_CLASS,
// TODO: what to do with BytesParamIndex 3?
lpBuffer: *c_void,
dwBufferSize: u32,
lpBytesReturned: *u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "FLTLIB" fn FilterInstanceFindClose(
hFilterInstanceFind: HANDLE,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "FLTLIB" fn FilterVolumeInstanceFindFirst(
lpVolumeName: [*:0]const u16,
dwInformationClass: INSTANCE_INFORMATION_CLASS,
// TODO: what to do with BytesParamIndex 3?
lpBuffer: *c_void,
dwBufferSize: u32,
lpBytesReturned: *u32,
lpVolumeInstanceFind: *FilterVolumeInstanceFindHandle,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "FLTLIB" fn FilterVolumeInstanceFindNext(
hVolumeInstanceFind: HANDLE,
dwInformationClass: INSTANCE_INFORMATION_CLASS,
// TODO: what to do with BytesParamIndex 3?
lpBuffer: *c_void,
dwBufferSize: u32,
lpBytesReturned: *u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "FLTLIB" fn FilterVolumeInstanceFindClose(
hVolumeInstanceFind: HANDLE,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "FLTLIB" fn FilterGetInformation(
hFilter: HFILTER,
dwInformationClass: FILTER_INFORMATION_CLASS,
// TODO: what to do with BytesParamIndex 3?
lpBuffer: *c_void,
dwBufferSize: u32,
lpBytesReturned: *u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "FLTLIB" fn FilterInstanceGetInformation(
hInstance: HFILTER_INSTANCE,
dwInformationClass: INSTANCE_INFORMATION_CLASS,
// TODO: what to do with BytesParamIndex 3?
lpBuffer: *c_void,
dwBufferSize: u32,
lpBytesReturned: *u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "FLTLIB" fn FilterConnectCommunicationPort(
lpPortName: [*:0]const u16,
dwOptions: u32,
// TODO: what to do with BytesParamIndex 3?
lpContext: ?*const c_void,
wSizeOfContext: u16,
lpSecurityAttributes: ?*SECURITY_ATTRIBUTES,
hPort: *HANDLE,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "FLTLIB" fn FilterSendMessage(
hPort: HANDLE,
// TODO: what to do with BytesParamIndex 2?
lpInBuffer: *c_void,
dwInBufferSize: u32,
// TODO: what to do with BytesParamIndex 4?
lpOutBuffer: ?*c_void,
dwOutBufferSize: u32,
lpBytesReturned: *u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "FLTLIB" fn FilterGetMessage(
hPort: HANDLE,
// TODO: what to do with BytesParamIndex 2?
lpMessageBuffer: *FILTER_MESSAGE_HEADER,
dwMessageBufferSize: u32,
lpOverlapped: ?*OVERLAPPED,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows5.0'
pub extern "FLTLIB" fn FilterReplyMessage(
hPort: HANDLE,
// TODO: what to do with BytesParamIndex 2?
lpReplyBuffer: *FILTER_REPLY_HEADER,
dwReplyBufferSize: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "FLTLIB" fn FilterGetDosName(
lpVolumeName: [*:0]const u16,
lpDosName: [*:0]u16,
dwDosNameBufferSize: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
//--------------------------------------------------------------------------------
// Section: Unicode Aliases (0)
//--------------------------------------------------------------------------------
pub usingnamespace switch (@import("../zig.zig").unicode_mode) {
.ansi => struct {
},
.wide => struct {
},
.unspecified => if (@import("builtin").is_test) struct {
} else struct {
},
};
//--------------------------------------------------------------------------------
// Section: Imports (6)
//--------------------------------------------------------------------------------
const HRESULT = @import("com.zig").HRESULT;
const SECURITY_ATTRIBUTES = @import("system_services.zig").SECURITY_ATTRIBUTES;
const PWSTR = @import("system_services.zig").PWSTR;
const HANDLE = @import("system_services.zig").HANDLE;
const OVERLAPPED = @import("system_services.zig").OVERLAPPED;
const NTSTATUS = @import("system_services.zig").NTSTATUS;
test {
@setEvalBranchQuota(
@import("std").meta.declarations(@This()).len * 3
);
// reference all the pub declarations
if (!@import("std").builtin.is_test) return;
inline for (@import("std").meta.declarations(@This())) |decl| {
if (decl.is_pub) {
_ = decl;
}
}
}

View File

@ -0,0 +1,539 @@
//! NOTE: this file is autogenerated, DO NOT MODIFY
//--------------------------------------------------------------------------------
// Section: Constants (0)
//--------------------------------------------------------------------------------
//--------------------------------------------------------------------------------
// Section: Types (25)
//--------------------------------------------------------------------------------
pub const HINTERACTIONCONTEXT = ?*opaque{};
pub const INTERACTION_ID = extern enum(i32) {
NONE = 0,
MANIPULATION = 1,
TAP = 2,
SECONDARY_TAP = 3,
HOLD = 4,
DRAG = 5,
CROSS_SLIDE = 6,
MAX = -1,
};
pub const INTERACTION_ID_NONE = INTERACTION_ID.NONE;
pub const INTERACTION_ID_MANIPULATION = INTERACTION_ID.MANIPULATION;
pub const INTERACTION_ID_TAP = INTERACTION_ID.TAP;
pub const INTERACTION_ID_SECONDARY_TAP = INTERACTION_ID.SECONDARY_TAP;
pub const INTERACTION_ID_HOLD = INTERACTION_ID.HOLD;
pub const INTERACTION_ID_DRAG = INTERACTION_ID.DRAG;
pub const INTERACTION_ID_CROSS_SLIDE = INTERACTION_ID.CROSS_SLIDE;
pub const INTERACTION_ID_MAX = INTERACTION_ID.MAX;
// TODO: This Enum is marked as [Flags], what do I do with this?
pub const INTERACTION_FLAGS = extern enum(u32) {
NONE = 0,
BEGIN = 1,
END = 2,
CANCEL = 4,
INERTIA = 8,
MAX = 4294967295,
_,
};
pub const INTERACTION_FLAG_NONE = INTERACTION_FLAGS.NONE;
pub const INTERACTION_FLAG_BEGIN = INTERACTION_FLAGS.BEGIN;
pub const INTERACTION_FLAG_END = INTERACTION_FLAGS.END;
pub const INTERACTION_FLAG_CANCEL = INTERACTION_FLAGS.CANCEL;
pub const INTERACTION_FLAG_INERTIA = INTERACTION_FLAGS.INERTIA;
pub const INTERACTION_FLAG_MAX = INTERACTION_FLAGS.MAX;
// TODO: This Enum is marked as [Flags], what do I do with this?
pub const INTERACTION_CONFIGURATION_FLAGS = extern enum(u32) {
NONE = 0,
MANIPULATION = 1,
MANIPULATION_TRANSLATION_X = 2,
MANIPULATION_TRANSLATION_Y = 4,
MANIPULATION_ROTATION = 8,
MANIPULATION_SCALING = 16,
MANIPULATION_TRANSLATION_INERTIA = 32,
MANIPULATION_ROTATION_INERTIA = 64,
MANIPULATION_SCALING_INERTIA = 128,
MANIPULATION_RAILS_X = 256,
MANIPULATION_RAILS_Y = 512,
MANIPULATION_EXACT = 1024,
MANIPULATION_MULTIPLE_FINGER_PANNING = 2048,
CROSS_SLIDE = 1,
CROSS_SLIDE_HORIZONTAL = 2,
CROSS_SLIDE_SELECT = 4,
CROSS_SLIDE_SPEED_BUMP = 8,
CROSS_SLIDE_REARRANGE = 16,
CROSS_SLIDE_EXACT = 32,
TAP = 1,
TAP_DOUBLE = 2,
TAP_MULTIPLE_FINGER = 4,
SECONDARY_TAP = 1,
HOLD = 1,
HOLD_MOUSE = 2,
HOLD_MULTIPLE_FINGER = 4,
DRAG = 1,
MAX = 4294967295,
_,
};
pub const INTERACTION_CONFIGURATION_FLAG_NONE = INTERACTION_CONFIGURATION_FLAGS.NONE;
pub const INTERACTION_CONFIGURATION_FLAG_MANIPULATION = INTERACTION_CONFIGURATION_FLAGS.MANIPULATION;
pub const INTERACTION_CONFIGURATION_FLAG_MANIPULATION_TRANSLATION_X = INTERACTION_CONFIGURATION_FLAGS.MANIPULATION_TRANSLATION_X;
pub const INTERACTION_CONFIGURATION_FLAG_MANIPULATION_TRANSLATION_Y = INTERACTION_CONFIGURATION_FLAGS.MANIPULATION_TRANSLATION_Y;
pub const INTERACTION_CONFIGURATION_FLAG_MANIPULATION_ROTATION = INTERACTION_CONFIGURATION_FLAGS.MANIPULATION_ROTATION;
pub const INTERACTION_CONFIGURATION_FLAG_MANIPULATION_SCALING = INTERACTION_CONFIGURATION_FLAGS.MANIPULATION_SCALING;
pub const INTERACTION_CONFIGURATION_FLAG_MANIPULATION_TRANSLATION_INERTIA = INTERACTION_CONFIGURATION_FLAGS.MANIPULATION_TRANSLATION_INERTIA;
pub const INTERACTION_CONFIGURATION_FLAG_MANIPULATION_ROTATION_INERTIA = INTERACTION_CONFIGURATION_FLAGS.MANIPULATION_ROTATION_INERTIA;
pub const INTERACTION_CONFIGURATION_FLAG_MANIPULATION_SCALING_INERTIA = INTERACTION_CONFIGURATION_FLAGS.MANIPULATION_SCALING_INERTIA;
pub const INTERACTION_CONFIGURATION_FLAG_MANIPULATION_RAILS_X = INTERACTION_CONFIGURATION_FLAGS.MANIPULATION_RAILS_X;
pub const INTERACTION_CONFIGURATION_FLAG_MANIPULATION_RAILS_Y = INTERACTION_CONFIGURATION_FLAGS.MANIPULATION_RAILS_Y;
pub const INTERACTION_CONFIGURATION_FLAG_MANIPULATION_EXACT = INTERACTION_CONFIGURATION_FLAGS.MANIPULATION_EXACT;
pub const INTERACTION_CONFIGURATION_FLAG_MANIPULATION_MULTIPLE_FINGER_PANNING = INTERACTION_CONFIGURATION_FLAGS.MANIPULATION_MULTIPLE_FINGER_PANNING;
pub const INTERACTION_CONFIGURATION_FLAG_CROSS_SLIDE = INTERACTION_CONFIGURATION_FLAGS.CROSS_SLIDE;
pub const INTERACTION_CONFIGURATION_FLAG_CROSS_SLIDE_HORIZONTAL = INTERACTION_CONFIGURATION_FLAGS.CROSS_SLIDE_HORIZONTAL;
pub const INTERACTION_CONFIGURATION_FLAG_CROSS_SLIDE_SELECT = INTERACTION_CONFIGURATION_FLAGS.CROSS_SLIDE_SELECT;
pub const INTERACTION_CONFIGURATION_FLAG_CROSS_SLIDE_SPEED_BUMP = INTERACTION_CONFIGURATION_FLAGS.CROSS_SLIDE_SPEED_BUMP;
pub const INTERACTION_CONFIGURATION_FLAG_CROSS_SLIDE_REARRANGE = INTERACTION_CONFIGURATION_FLAGS.CROSS_SLIDE_REARRANGE;
pub const INTERACTION_CONFIGURATION_FLAG_CROSS_SLIDE_EXACT = INTERACTION_CONFIGURATION_FLAGS.CROSS_SLIDE_EXACT;
pub const INTERACTION_CONFIGURATION_FLAG_TAP = INTERACTION_CONFIGURATION_FLAGS.TAP;
pub const INTERACTION_CONFIGURATION_FLAG_TAP_DOUBLE = INTERACTION_CONFIGURATION_FLAGS.TAP_DOUBLE;
pub const INTERACTION_CONFIGURATION_FLAG_TAP_MULTIPLE_FINGER = INTERACTION_CONFIGURATION_FLAGS.TAP_MULTIPLE_FINGER;
pub const INTERACTION_CONFIGURATION_FLAG_SECONDARY_TAP = INTERACTION_CONFIGURATION_FLAGS.SECONDARY_TAP;
pub const INTERACTION_CONFIGURATION_FLAG_HOLD = INTERACTION_CONFIGURATION_FLAGS.HOLD;
pub const INTERACTION_CONFIGURATION_FLAG_HOLD_MOUSE = INTERACTION_CONFIGURATION_FLAGS.HOLD_MOUSE;
pub const INTERACTION_CONFIGURATION_FLAG_HOLD_MULTIPLE_FINGER = INTERACTION_CONFIGURATION_FLAGS.HOLD_MULTIPLE_FINGER;
pub const INTERACTION_CONFIGURATION_FLAG_DRAG = INTERACTION_CONFIGURATION_FLAGS.DRAG;
pub const INTERACTION_CONFIGURATION_FLAG_MAX = INTERACTION_CONFIGURATION_FLAGS.MAX;
pub const INERTIA_PARAMETER = extern enum(i32) {
TRANSLATION_DECELERATION = 1,
TRANSLATION_DISPLACEMENT = 2,
ROTATION_DECELERATION = 3,
ROTATION_ANGLE = 4,
EXPANSION_DECELERATION = 5,
EXPANSION_EXPANSION = 6,
MAX = -1,
};
pub const INERTIA_PARAMETER_TRANSLATION_DECELERATION = INERTIA_PARAMETER.TRANSLATION_DECELERATION;
pub const INERTIA_PARAMETER_TRANSLATION_DISPLACEMENT = INERTIA_PARAMETER.TRANSLATION_DISPLACEMENT;
pub const INERTIA_PARAMETER_ROTATION_DECELERATION = INERTIA_PARAMETER.ROTATION_DECELERATION;
pub const INERTIA_PARAMETER_ROTATION_ANGLE = INERTIA_PARAMETER.ROTATION_ANGLE;
pub const INERTIA_PARAMETER_EXPANSION_DECELERATION = INERTIA_PARAMETER.EXPANSION_DECELERATION;
pub const INERTIA_PARAMETER_EXPANSION_EXPANSION = INERTIA_PARAMETER.EXPANSION_EXPANSION;
pub const INERTIA_PARAMETER_MAX = INERTIA_PARAMETER.MAX;
pub const INTERACTION_STATE = extern enum(i32) {
IDLE = 0,
IN_INTERACTION = 1,
POSSIBLE_DOUBLE_TAP = 2,
MAX = -1,
};
pub const INTERACTION_STATE_IDLE = INTERACTION_STATE.IDLE;
pub const INTERACTION_STATE_IN_INTERACTION = INTERACTION_STATE.IN_INTERACTION;
pub const INTERACTION_STATE_POSSIBLE_DOUBLE_TAP = INTERACTION_STATE.POSSIBLE_DOUBLE_TAP;
pub const INTERACTION_STATE_MAX = INTERACTION_STATE.MAX;
pub const INTERACTION_CONTEXT_PROPERTY = extern enum(i32) {
MEASUREMENT_UNITS = 1,
INTERACTION_UI_FEEDBACK = 2,
FILTER_POINTERS = 3,
MAX = -1,
};
pub const INTERACTION_CONTEXT_PROPERTY_MEASUREMENT_UNITS = INTERACTION_CONTEXT_PROPERTY.MEASUREMENT_UNITS;
pub const INTERACTION_CONTEXT_PROPERTY_INTERACTION_UI_FEEDBACK = INTERACTION_CONTEXT_PROPERTY.INTERACTION_UI_FEEDBACK;
pub const INTERACTION_CONTEXT_PROPERTY_FILTER_POINTERS = INTERACTION_CONTEXT_PROPERTY.FILTER_POINTERS;
pub const INTERACTION_CONTEXT_PROPERTY_MAX = INTERACTION_CONTEXT_PROPERTY.MAX;
pub const CROSS_SLIDE_THRESHOLD = extern enum(i32) {
SELECT_START = 0,
SPEED_BUMP_START = 1,
SPEED_BUMP_END = 2,
REARRANGE_START = 3,
COUNT = 4,
MAX = -1,
};
pub const CROSS_SLIDE_THRESHOLD_SELECT_START = CROSS_SLIDE_THRESHOLD.SELECT_START;
pub const CROSS_SLIDE_THRESHOLD_SPEED_BUMP_START = CROSS_SLIDE_THRESHOLD.SPEED_BUMP_START;
pub const CROSS_SLIDE_THRESHOLD_SPEED_BUMP_END = CROSS_SLIDE_THRESHOLD.SPEED_BUMP_END;
pub const CROSS_SLIDE_THRESHOLD_REARRANGE_START = CROSS_SLIDE_THRESHOLD.REARRANGE_START;
pub const CROSS_SLIDE_THRESHOLD_COUNT = CROSS_SLIDE_THRESHOLD.COUNT;
pub const CROSS_SLIDE_THRESHOLD_MAX = CROSS_SLIDE_THRESHOLD.MAX;
// TODO: This Enum is marked as [Flags], what do I do with this?
pub const CROSS_SLIDE_FLAGS = extern enum(u32) {
NONE = 0,
SELECT = 1,
SPEED_BUMP = 2,
REARRANGE = 4,
MAX = 4294967295,
_,
};
pub const CROSS_SLIDE_FLAGS_NONE = CROSS_SLIDE_FLAGS.NONE;
pub const CROSS_SLIDE_FLAGS_SELECT = CROSS_SLIDE_FLAGS.SELECT;
pub const CROSS_SLIDE_FLAGS_SPEED_BUMP = CROSS_SLIDE_FLAGS.SPEED_BUMP;
pub const CROSS_SLIDE_FLAGS_REARRANGE = CROSS_SLIDE_FLAGS.REARRANGE;
pub const CROSS_SLIDE_FLAGS_MAX = CROSS_SLIDE_FLAGS.MAX;
pub const MOUSE_WHEEL_PARAMETER = extern enum(i32) {
CHAR_TRANSLATION_X = 1,
CHAR_TRANSLATION_Y = 2,
DELTA_SCALE = 3,
DELTA_ROTATION = 4,
PAGE_TRANSLATION_X = 5,
PAGE_TRANSLATION_Y = 6,
MAX = -1,
};
pub const MOUSE_WHEEL_PARAMETER_CHAR_TRANSLATION_X = MOUSE_WHEEL_PARAMETER.CHAR_TRANSLATION_X;
pub const MOUSE_WHEEL_PARAMETER_CHAR_TRANSLATION_Y = MOUSE_WHEEL_PARAMETER.CHAR_TRANSLATION_Y;
pub const MOUSE_WHEEL_PARAMETER_DELTA_SCALE = MOUSE_WHEEL_PARAMETER.DELTA_SCALE;
pub const MOUSE_WHEEL_PARAMETER_DELTA_ROTATION = MOUSE_WHEEL_PARAMETER.DELTA_ROTATION;
pub const MOUSE_WHEEL_PARAMETER_PAGE_TRANSLATION_X = MOUSE_WHEEL_PARAMETER.PAGE_TRANSLATION_X;
pub const MOUSE_WHEEL_PARAMETER_PAGE_TRANSLATION_Y = MOUSE_WHEEL_PARAMETER.PAGE_TRANSLATION_Y;
pub const MOUSE_WHEEL_PARAMETER_MAX = MOUSE_WHEEL_PARAMETER.MAX;
pub const TAP_PARAMETER = extern enum(i32) {
IN_CONTACT_COUNT = 0,
AX_CONTACT_COUNT = 1,
AX = -1,
};
pub const TAP_PARAMETER_MIN_CONTACT_COUNT = TAP_PARAMETER.IN_CONTACT_COUNT;
pub const TAP_PARAMETER_MAX_CONTACT_COUNT = TAP_PARAMETER.AX_CONTACT_COUNT;
pub const TAP_PARAMETER_MAX = TAP_PARAMETER.AX;
pub const HOLD_PARAMETER = extern enum(i32) {
MIN_CONTACT_COUNT = 0,
MAX_CONTACT_COUNT = 1,
THRESHOLD_RADIUS = 2,
THRESHOLD_START_DELAY = 3,
MAX = -1,
};
pub const HOLD_PARAMETER_MIN_CONTACT_COUNT = HOLD_PARAMETER.MIN_CONTACT_COUNT;
pub const HOLD_PARAMETER_MAX_CONTACT_COUNT = HOLD_PARAMETER.MAX_CONTACT_COUNT;
pub const HOLD_PARAMETER_THRESHOLD_RADIUS = HOLD_PARAMETER.THRESHOLD_RADIUS;
pub const HOLD_PARAMETER_THRESHOLD_START_DELAY = HOLD_PARAMETER.THRESHOLD_START_DELAY;
pub const HOLD_PARAMETER_MAX = HOLD_PARAMETER.MAX;
pub const TRANSLATION_PARAMETER = extern enum(i32) {
IN_CONTACT_COUNT = 0,
AX_CONTACT_COUNT = 1,
AX = -1,
};
pub const TRANSLATION_PARAMETER_MIN_CONTACT_COUNT = TRANSLATION_PARAMETER.IN_CONTACT_COUNT;
pub const TRANSLATION_PARAMETER_MAX_CONTACT_COUNT = TRANSLATION_PARAMETER.AX_CONTACT_COUNT;
pub const TRANSLATION_PARAMETER_MAX = TRANSLATION_PARAMETER.AX;
pub const MANIPULATION_RAILS_STATE = extern enum(i32) {
UNDECIDED = 0,
FREE = 1,
RAILED = 2,
MAX = -1,
};
pub const MANIPULATION_RAILS_STATE_UNDECIDED = MANIPULATION_RAILS_STATE.UNDECIDED;
pub const MANIPULATION_RAILS_STATE_FREE = MANIPULATION_RAILS_STATE.FREE;
pub const MANIPULATION_RAILS_STATE_RAILED = MANIPULATION_RAILS_STATE.RAILED;
pub const MANIPULATION_RAILS_STATE_MAX = MANIPULATION_RAILS_STATE.MAX;
pub const MANIPULATION_TRANSFORM = extern struct {
translationX: f32,
translationY: f32,
scale: f32,
expansion: f32,
rotation: f32,
};
pub const MANIPULATION_VELOCITY = extern struct {
velocityX: f32,
velocityY: f32,
velocityExpansion: f32,
velocityAngular: f32,
};
pub const INTERACTION_ARGUMENTS_MANIPULATION = extern struct {
delta: MANIPULATION_TRANSFORM,
cumulative: MANIPULATION_TRANSFORM,
velocity: MANIPULATION_VELOCITY,
railsState: MANIPULATION_RAILS_STATE,
};
pub const INTERACTION_ARGUMENTS_TAP = extern struct {
count: u32,
};
pub const INTERACTION_ARGUMENTS_CROSS_SLIDE = extern struct {
flags: CROSS_SLIDE_FLAGS,
};
pub const INTERACTION_CONTEXT_OUTPUT = extern struct {
interactionId: INTERACTION_ID,
interactionFlags: INTERACTION_FLAGS,
inputType: POINTER_INPUT_TYPE,
x: f32,
y: f32,
arguments: _arguments_e__Union,
const _arguments_e__Union = u32; // TODO: generate this nested type!
};
pub const INTERACTION_CONTEXT_OUTPUT2 = extern struct {
interactionId: INTERACTION_ID,
interactionFlags: INTERACTION_FLAGS,
inputType: POINTER_INPUT_TYPE,
contactCount: u32,
currentContactCount: u32,
x: f32,
y: f32,
arguments: _arguments_e__Union,
const _arguments_e__Union = u32; // TODO: generate this nested type!
};
pub const INTERACTION_CONTEXT_CONFIGURATION = extern struct {
interactionId: INTERACTION_ID,
enable: INTERACTION_CONFIGURATION_FLAGS,
};
pub const CROSS_SLIDE_PARAMETER = extern struct {
threshold: CROSS_SLIDE_THRESHOLD,
distance: f32,
};
pub const INTERACTION_CONTEXT_OUTPUT_CALLBACK = fn(
clientData: ?*c_void,
output: *const INTERACTION_CONTEXT_OUTPUT,
) callconv(@import("std").os.windows.WINAPI) void;
pub const INTERACTION_CONTEXT_OUTPUT_CALLBACK2 = fn(
clientData: ?*c_void,
output: *const INTERACTION_CONTEXT_OUTPUT2,
) callconv(@import("std").os.windows.WINAPI) void;
//--------------------------------------------------------------------------------
// Section: Functions (30)
//--------------------------------------------------------------------------------
// TODO: this type is limited to platform 'windows8.0'
pub extern "NInput" fn CreateInteractionContext(
interactionContext: *HINTERACTIONCONTEXT,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows8.0'
pub extern "NInput" fn DestroyInteractionContext(
interactionContext: HINTERACTIONCONTEXT,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows8.0'
pub extern "NInput" fn RegisterOutputCallbackInteractionContext(
interactionContext: HINTERACTIONCONTEXT,
outputCallback: INTERACTION_CONTEXT_OUTPUT_CALLBACK,
clientData: ?*c_void,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "NInput" fn RegisterOutputCallbackInteractionContext2(
interactionContext: HINTERACTIONCONTEXT,
outputCallback: INTERACTION_CONTEXT_OUTPUT_CALLBACK2,
clientData: ?*c_void,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows8.0'
pub extern "NInput" fn SetInteractionConfigurationInteractionContext(
interactionContext: HINTERACTIONCONTEXT,
configurationCount: u32,
configuration: [*]const INTERACTION_CONTEXT_CONFIGURATION,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows8.0'
pub extern "NInput" fn GetInteractionConfigurationInteractionContext(
interactionContext: HINTERACTIONCONTEXT,
configurationCount: u32,
configuration: [*]INTERACTION_CONTEXT_CONFIGURATION,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows8.0'
pub extern "NInput" fn SetPropertyInteractionContext(
interactionContext: HINTERACTIONCONTEXT,
contextProperty: INTERACTION_CONTEXT_PROPERTY,
value: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows8.0'
pub extern "NInput" fn GetPropertyInteractionContext(
interactionContext: HINTERACTIONCONTEXT,
contextProperty: INTERACTION_CONTEXT_PROPERTY,
value: *u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows8.0'
pub extern "NInput" fn SetInertiaParameterInteractionContext(
interactionContext: HINTERACTIONCONTEXT,
inertiaParameter: INERTIA_PARAMETER,
value: f32,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows8.0'
pub extern "NInput" fn GetInertiaParameterInteractionContext(
interactionContext: HINTERACTIONCONTEXT,
inertiaParameter: INERTIA_PARAMETER,
value: *f32,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows8.0'
pub extern "NInput" fn SetCrossSlideParametersInteractionContext(
interactionContext: HINTERACTIONCONTEXT,
parameterCount: u32,
crossSlideParameters: [*]CROSS_SLIDE_PARAMETER,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows8.0'
pub extern "NInput" fn GetCrossSlideParameterInteractionContext(
interactionContext: HINTERACTIONCONTEXT,
threshold: CROSS_SLIDE_THRESHOLD,
distance: *f32,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "NInput" fn SetTapParameterInteractionContext(
interactionContext: HINTERACTIONCONTEXT,
parameter: TAP_PARAMETER,
value: f32,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "NInput" fn GetTapParameterInteractionContext(
interactionContext: HINTERACTIONCONTEXT,
parameter: TAP_PARAMETER,
value: *f32,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "NInput" fn SetHoldParameterInteractionContext(
interactionContext: HINTERACTIONCONTEXT,
parameter: HOLD_PARAMETER,
value: f32,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "NInput" fn GetHoldParameterInteractionContext(
interactionContext: HINTERACTIONCONTEXT,
parameter: HOLD_PARAMETER,
value: *f32,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "NInput" fn SetTranslationParameterInteractionContext(
interactionContext: HINTERACTIONCONTEXT,
parameter: TRANSLATION_PARAMETER,
value: f32,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "NInput" fn GetTranslationParameterInteractionContext(
interactionContext: HINTERACTIONCONTEXT,
parameter: TRANSLATION_PARAMETER,
value: *f32,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows8.0'
pub extern "NInput" fn SetMouseWheelParameterInteractionContext(
interactionContext: HINTERACTIONCONTEXT,
parameter: MOUSE_WHEEL_PARAMETER,
value: f32,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows8.0'
pub extern "NInput" fn GetMouseWheelParameterInteractionContext(
interactionContext: HINTERACTIONCONTEXT,
parameter: MOUSE_WHEEL_PARAMETER,
value: *f32,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows8.0'
pub extern "NInput" fn ResetInteractionContext(
interactionContext: HINTERACTIONCONTEXT,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows8.0'
pub extern "NInput" fn GetStateInteractionContext(
interactionContext: HINTERACTIONCONTEXT,
pointerInfo: ?*const POINTER_INFO,
state: *INTERACTION_STATE,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows8.0'
pub extern "NInput" fn AddPointerInteractionContext(
interactionContext: HINTERACTIONCONTEXT,
pointerId: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows8.0'
pub extern "NInput" fn RemovePointerInteractionContext(
interactionContext: HINTERACTIONCONTEXT,
pointerId: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows8.0'
pub extern "NInput" fn ProcessPointerFramesInteractionContext(
interactionContext: HINTERACTIONCONTEXT,
entriesCount: u32,
pointerCount: u32,
pointerInfo: *const POINTER_INFO,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows8.0'
pub extern "NInput" fn BufferPointerPacketsInteractionContext(
interactionContext: HINTERACTIONCONTEXT,
entriesCount: u32,
pointerInfo: [*]const POINTER_INFO,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows8.0'
pub extern "NInput" fn ProcessBufferedPacketsInteractionContext(
interactionContext: HINTERACTIONCONTEXT,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows8.0'
pub extern "NInput" fn ProcessInertiaInteractionContext(
interactionContext: HINTERACTIONCONTEXT,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows8.0'
pub extern "NInput" fn StopInteractionContext(
interactionContext: HINTERACTIONCONTEXT,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows8.0'
pub extern "NInput" fn SetPivotInteractionContext(
interactionContext: HINTERACTIONCONTEXT,
x: f32,
y: f32,
radius: f32,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
//--------------------------------------------------------------------------------
// Section: Unicode Aliases (0)
//--------------------------------------------------------------------------------
pub usingnamespace switch (@import("../zig.zig").unicode_mode) {
.ansi => struct {
},
.wide => struct {
},
.unspecified => if (@import("builtin").is_test) struct {
} else struct {
},
};
//--------------------------------------------------------------------------------
// Section: Imports (3)
//--------------------------------------------------------------------------------
const POINTER_INFO = @import("pointer_input.zig").POINTER_INFO;
const POINTER_INPUT_TYPE = @import("windows_and_messaging.zig").POINTER_INPUT_TYPE;
const HRESULT = @import("com.zig").HRESULT;
test {
// The following '_ = <FuncPtrType>' lines are a workaround for https://github.com/ziglang/zig/issues/4476
if (@hasDecl(@This(), "INTERACTION_CONTEXT_OUTPUT_CALLBACK")) { _ = INTERACTION_CONTEXT_OUTPUT_CALLBACK; }
if (@hasDecl(@This(), "INTERACTION_CONTEXT_OUTPUT_CALLBACK2")) { _ = INTERACTION_CONTEXT_OUTPUT_CALLBACK2; }
@setEvalBranchQuota(
@import("std").meta.declarations(@This()).len * 3
);
// reference all the pub declarations
if (!@import("std").builtin.is_test) return;
inline for (@import("std").meta.declarations(@This())) |decl| {
if (decl.is_pub) {
_ = decl;
}
}
}

File diff suppressed because it is too large Load Diff

18364
src/win32/api/intl.zig Normal file

File diff suppressed because it is too large Load Diff

2875
src/win32/api/ip_helper.zig Normal file

File diff suppressed because it is too large Load Diff

71
src/win32/api/ipc.zig Normal file
View File

@ -0,0 +1,71 @@
//! NOTE: this file is autogenerated, DO NOT MODIFY
//--------------------------------------------------------------------------------
// Section: Constants (0)
//--------------------------------------------------------------------------------
//--------------------------------------------------------------------------------
// Section: Types (0)
//--------------------------------------------------------------------------------
//--------------------------------------------------------------------------------
// Section: Functions (2)
//--------------------------------------------------------------------------------
pub extern "KERNEL32" fn CreateNamedPipeA(
lpName: [*:0]const u8,
dwOpenMode: u32,
dwPipeMode: u32,
nMaxInstances: u32,
nOutBufferSize: u32,
nInBufferSize: u32,
nDefaultTimeOut: u32,
lpSecurityAttributes: ?*SECURITY_ATTRIBUTES,
) callconv(@import("std").os.windows.WINAPI) HANDLE;
pub extern "KERNEL32" fn WaitNamedPipeA(
lpNamedPipeName: [*:0]const u8,
nTimeOut: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
//--------------------------------------------------------------------------------
// Section: Unicode Aliases (0)
//--------------------------------------------------------------------------------
pub usingnamespace switch (@import("../zig.zig").unicode_mode) {
.ansi => struct {
},
.wide => struct {
},
.unspecified => if (@import("builtin").is_test) struct {
} else struct {
},
};
//--------------------------------------------------------------------------------
// Section: Imports (4)
//--------------------------------------------------------------------------------
const SECURITY_ATTRIBUTES = @import("system_services.zig").SECURITY_ATTRIBUTES;
const HANDLE = @import("system_services.zig").HANDLE;
const PSTR = @import("system_services.zig").PSTR;
const BOOL = @import("system_services.zig").BOOL;
test {
const constant_export_count = 0;
const type_export_count = 0;
const enum_value_export_count = 0;
const com_iface_id_export_count = 0;
const com_class_id_export_count = 0;
const func_export_count = 2;
const unicode_alias_count = 0;
const import_count = 4;
@setEvalBranchQuota(
constant_export_count +
type_export_count +
enum_value_export_count +
com_iface_id_export_count * 2 + // * 2 for value and ptr
com_class_id_export_count * 2 + // * 2 for value and ptr
func_export_count +
unicode_alias_count +
import_count +
2 // TODO: why do I need these extra 2?
);
@import("std").testing.refAllDecls(@This());
}

1926
src/win32/api/iscsi_disc.zig Normal file

File diff suppressed because it is too large Load Diff

677
src/win32/api/js.zig Normal file
View File

@ -0,0 +1,677 @@
//! NOTE: this file is autogenerated, DO NOT MODIFY
//--------------------------------------------------------------------------------
// Section: Constants (2)
//--------------------------------------------------------------------------------
pub const JS_SOURCE_CONTEXT_NONE = @as(u64, 18446744073709551615);
pub const JsRuntimeVersionEdge = @import("../zig.zig").typedConst(JsRuntimeVersion, @as(i32, -1));
//--------------------------------------------------------------------------------
// Section: Types (11)
//--------------------------------------------------------------------------------
pub const JsRuntimeVersion = extern enum(i32) {
@"10" = 0,
@"11" = 1,
Edge = -1,
};
// TODO: enum 'JsRuntimeVersion' has known issues with its value aliases
pub const JsErrorCode = extern enum(u32) {
NoError = 0,
ErrorCategoryUsage = 65536,
ErrorInvalidArgument = 65537,
ErrorNullArgument = 65538,
ErrorNoCurrentContext = 65539,
ErrorInExceptionState = 65540,
ErrorNotImplemented = 65541,
ErrorWrongThread = 65542,
ErrorRuntimeInUse = 65543,
ErrorBadSerializedScript = 65544,
ErrorInDisabledState = 65545,
ErrorCannotDisableExecution = 65546,
ErrorHeapEnumInProgress = 65547,
ErrorArgumentNotObject = 65548,
ErrorInProfileCallback = 65549,
ErrorInThreadServiceCallback = 65550,
ErrorCannotSerializeDebugScript = 65551,
ErrorAlreadyDebuggingContext = 65552,
ErrorAlreadyProfilingContext = 65553,
ErrorIdleNotEnabled = 65554,
ErrorCategoryEngine = 131072,
ErrorOutOfMemory = 131073,
ErrorCategoryScript = 196608,
ErrorScriptException = 196609,
ErrorScriptCompile = 196610,
ErrorScriptTerminated = 196611,
ErrorScriptEvalDisabled = 196612,
ErrorCategoryFatal = 262144,
ErrorFatal = 262145,
};
pub const JsNoError = JsErrorCode.NoError;
pub const JsErrorCategoryUsage = JsErrorCode.ErrorCategoryUsage;
pub const JsErrorInvalidArgument = JsErrorCode.ErrorInvalidArgument;
pub const JsErrorNullArgument = JsErrorCode.ErrorNullArgument;
pub const JsErrorNoCurrentContext = JsErrorCode.ErrorNoCurrentContext;
pub const JsErrorInExceptionState = JsErrorCode.ErrorInExceptionState;
pub const JsErrorNotImplemented = JsErrorCode.ErrorNotImplemented;
pub const JsErrorWrongThread = JsErrorCode.ErrorWrongThread;
pub const JsErrorRuntimeInUse = JsErrorCode.ErrorRuntimeInUse;
pub const JsErrorBadSerializedScript = JsErrorCode.ErrorBadSerializedScript;
pub const JsErrorInDisabledState = JsErrorCode.ErrorInDisabledState;
pub const JsErrorCannotDisableExecution = JsErrorCode.ErrorCannotDisableExecution;
pub const JsErrorHeapEnumInProgress = JsErrorCode.ErrorHeapEnumInProgress;
pub const JsErrorArgumentNotObject = JsErrorCode.ErrorArgumentNotObject;
pub const JsErrorInProfileCallback = JsErrorCode.ErrorInProfileCallback;
pub const JsErrorInThreadServiceCallback = JsErrorCode.ErrorInThreadServiceCallback;
pub const JsErrorCannotSerializeDebugScript = JsErrorCode.ErrorCannotSerializeDebugScript;
pub const JsErrorAlreadyDebuggingContext = JsErrorCode.ErrorAlreadyDebuggingContext;
pub const JsErrorAlreadyProfilingContext = JsErrorCode.ErrorAlreadyProfilingContext;
pub const JsErrorIdleNotEnabled = JsErrorCode.ErrorIdleNotEnabled;
pub const JsErrorCategoryEngine = JsErrorCode.ErrorCategoryEngine;
pub const JsErrorOutOfMemory = JsErrorCode.ErrorOutOfMemory;
pub const JsErrorCategoryScript = JsErrorCode.ErrorCategoryScript;
pub const JsErrorScriptException = JsErrorCode.ErrorScriptException;
pub const JsErrorScriptCompile = JsErrorCode.ErrorScriptCompile;
pub const JsErrorScriptTerminated = JsErrorCode.ErrorScriptTerminated;
pub const JsErrorScriptEvalDisabled = JsErrorCode.ErrorScriptEvalDisabled;
pub const JsErrorCategoryFatal = JsErrorCode.ErrorCategoryFatal;
pub const JsErrorFatal = JsErrorCode.ErrorFatal;
pub const JsRuntimeAttributes = extern enum(i32) {
None = 0,
DisableBackgroundWork = 1,
AllowScriptInterrupt = 2,
EnableIdleProcessing = 4,
DisableNativeCodeGeneration = 8,
DisableEval = 16,
};
pub const JsRuntimeAttributeNone = JsRuntimeAttributes.None;
pub const JsRuntimeAttributeDisableBackgroundWork = JsRuntimeAttributes.DisableBackgroundWork;
pub const JsRuntimeAttributeAllowScriptInterrupt = JsRuntimeAttributes.AllowScriptInterrupt;
pub const JsRuntimeAttributeEnableIdleProcessing = JsRuntimeAttributes.EnableIdleProcessing;
pub const JsRuntimeAttributeDisableNativeCodeGeneration = JsRuntimeAttributes.DisableNativeCodeGeneration;
pub const JsRuntimeAttributeDisableEval = JsRuntimeAttributes.DisableEval;
pub const JsMemoryEventType = extern enum(i32) {
Allocate = 0,
Free = 1,
Failure = 2,
};
pub const JsMemoryAllocate = JsMemoryEventType.Allocate;
pub const JsMemoryFree = JsMemoryEventType.Free;
pub const JsMemoryFailure = JsMemoryEventType.Failure;
pub const JsMemoryAllocationCallback = fn(
callbackState: ?*c_void,
allocationEvent: JsMemoryEventType,
allocationSize: usize,
) callconv(@import("std").os.windows.WINAPI) bool;
pub const JsBeforeCollectCallback = fn(
callbackState: ?*c_void,
) callconv(@import("std").os.windows.WINAPI) void;
pub const JsBackgroundWorkItemCallback = fn(
callbackState: ?*c_void,
) callconv(@import("std").os.windows.WINAPI) void;
pub const JsThreadServiceCallback = fn(
callback: JsBackgroundWorkItemCallback,
callbackState: ?*c_void,
) callconv(@import("std").os.windows.WINAPI) bool;
pub const JsValueType = extern enum(i32) {
Undefined = 0,
Null = 1,
Number = 2,
String = 3,
Boolean = 4,
Object = 5,
Function = 6,
Error = 7,
Array = 8,
};
pub const JsUndefined = JsValueType.Undefined;
pub const JsNull = JsValueType.Null;
pub const JsNumber = JsValueType.Number;
pub const JsString = JsValueType.String;
pub const JsBoolean = JsValueType.Boolean;
pub const JsObject = JsValueType.Object;
pub const JsFunction = JsValueType.Function;
pub const JsError = JsValueType.Error;
pub const JsArray = JsValueType.Array;
pub const JsFinalizeCallback = fn(
data: ?*c_void,
) callconv(@import("std").os.windows.WINAPI) void;
pub const JsNativeFunction = fn(
callee: *c_void,
isConstructCall: bool,
arguments: **c_void,
argumentCount: u16,
callbackState: ?*c_void,
) callconv(@import("std").os.windows.WINAPI) *c_void;
//--------------------------------------------------------------------------------
// Section: Functions (87)
//--------------------------------------------------------------------------------
pub usingnamespace switch (@import("../zig.zig").arch) {
.X64, .Arm64 => struct {
pub extern "chakra" fn JsCreateContext(
runtime: *c_void,
debugApplication: *IDebugApplication64,
newContext: **c_void,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
}, else => struct { } };
pub usingnamespace switch (@import("../zig.zig").arch) {
.X64, .Arm64 => struct {
pub extern "chakra" fn JsStartDebugging(
debugApplication: *IDebugApplication64,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
}, else => struct { } };
pub usingnamespace switch (@import("../zig.zig").arch) {
.X86 => struct {
pub extern "chakra" fn JsCreateContext(
runtime: *c_void,
debugApplication: *IDebugApplication32,
newContext: **c_void,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
}, else => struct { } };
pub usingnamespace switch (@import("../zig.zig").arch) {
.X86 => struct {
pub extern "chakra" fn JsStartDebugging(
debugApplication: *IDebugApplication32,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
}, else => struct { } };
pub extern "chakra" fn JsCreateRuntime(
attributes: JsRuntimeAttributes,
runtimeVersion: JsRuntimeVersion,
threadService: ?JsThreadServiceCallback,
runtime: **c_void,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsCollectGarbage(
runtime: *c_void,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsDisposeRuntime(
runtime: *c_void,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsGetRuntimeMemoryUsage(
runtime: *c_void,
memoryUsage: *usize,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsGetRuntimeMemoryLimit(
runtime: *c_void,
memoryLimit: *usize,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsSetRuntimeMemoryLimit(
runtime: *c_void,
memoryLimit: usize,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsSetRuntimeMemoryAllocationCallback(
runtime: *c_void,
callbackState: ?*c_void,
allocationCallback: JsMemoryAllocationCallback,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsSetRuntimeBeforeCollectCallback(
runtime: *c_void,
callbackState: ?*c_void,
beforeCollectCallback: JsBeforeCollectCallback,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsAddRef(
ref: *c_void,
count: ?*u32,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsRelease(
ref: *c_void,
count: ?*u32,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsGetCurrentContext(
currentContext: **c_void,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsSetCurrentContext(
context: *c_void,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsGetRuntime(
context: *c_void,
runtime: **c_void,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsIdle(
nextIdleTick: ?*u32,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsParseScript(
script: [*:0]const u16,
sourceContext: usize,
sourceUrl: [*:0]const u16,
result: **c_void,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsRunScript(
script: [*:0]const u16,
sourceContext: usize,
sourceUrl: [*:0]const u16,
result: **c_void,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsSerializeScript(
script: [*:0]const u16,
buffer: ?[*:0]u8,
bufferSize: *u32,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsParseSerializedScript(
script: [*:0]const u16,
buffer: *u8,
sourceContext: usize,
sourceUrl: [*:0]const u16,
result: **c_void,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsRunSerializedScript(
script: [*:0]const u16,
buffer: *u8,
sourceContext: usize,
sourceUrl: [*:0]const u16,
result: **c_void,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsGetPropertyIdFromName(
name: [*:0]const u16,
propertyId: **c_void,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsGetPropertyNameFromId(
propertyId: *c_void,
name: *const *const u16,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsGetUndefinedValue(
undefinedValue: **c_void,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsGetNullValue(
nullValue: **c_void,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsGetTrueValue(
trueValue: **c_void,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsGetFalseValue(
falseValue: **c_void,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsBoolToBoolean(
value: u8,
booleanValue: **c_void,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsBooleanToBool(
value: *c_void,
boolValue: *bool,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsConvertValueToBoolean(
value: *c_void,
booleanValue: **c_void,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsGetValueType(
value: *c_void,
type: *JsValueType,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsDoubleToNumber(
doubleValue: f64,
value: **c_void,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsIntToNumber(
intValue: i32,
value: **c_void,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsNumberToDouble(
value: *c_void,
doubleValue: *f64,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsConvertValueToNumber(
value: *c_void,
numberValue: **c_void,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsGetStringLength(
stringValue: *c_void,
length: *i32,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsPointerToString(
stringValue: [*:0]const u16,
stringLength: usize,
value: **c_void,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsStringToPointer(
value: *c_void,
stringValue: *const *const u16,
stringLength: *usize,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsConvertValueToString(
value: *c_void,
stringValue: **c_void,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsVariantToValue(
variant: *VARIANT,
value: **c_void,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsValueToVariant(
object: *c_void,
variant: *VARIANT,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsGetGlobalObject(
globalObject: **c_void,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsCreateObject(
object: **c_void,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsCreateExternalObject(
data: ?*c_void,
finalizeCallback: ?JsFinalizeCallback,
object: **c_void,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsConvertValueToObject(
value: *c_void,
object: **c_void,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsGetPrototype(
object: *c_void,
prototypeObject: **c_void,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsSetPrototype(
object: *c_void,
prototypeObject: *c_void,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsGetExtensionAllowed(
object: *c_void,
value: *bool,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsPreventExtension(
object: *c_void,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsGetProperty(
object: *c_void,
propertyId: *c_void,
value: **c_void,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsGetOwnPropertyDescriptor(
object: *c_void,
propertyId: *c_void,
propertyDescriptor: **c_void,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsGetOwnPropertyNames(
object: *c_void,
propertyNames: **c_void,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsSetProperty(
object: *c_void,
propertyId: *c_void,
value: *c_void,
useStrictRules: u8,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsHasProperty(
object: *c_void,
propertyId: *c_void,
hasProperty: *bool,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsDeleteProperty(
object: *c_void,
propertyId: *c_void,
useStrictRules: u8,
result: **c_void,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsDefineProperty(
object: *c_void,
propertyId: *c_void,
propertyDescriptor: *c_void,
result: *bool,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsHasIndexedProperty(
object: *c_void,
index: *c_void,
result: *bool,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsGetIndexedProperty(
object: *c_void,
index: *c_void,
result: **c_void,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsSetIndexedProperty(
object: *c_void,
index: *c_void,
value: *c_void,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsDeleteIndexedProperty(
object: *c_void,
index: *c_void,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsEquals(
object1: *c_void,
object2: *c_void,
result: *bool,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsStrictEquals(
object1: *c_void,
object2: *c_void,
result: *bool,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsHasExternalData(
object: *c_void,
value: *bool,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsGetExternalData(
object: *c_void,
externalData: **c_void,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsSetExternalData(
object: *c_void,
externalData: ?*c_void,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsCreateArray(
length: u32,
result: **c_void,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsCallFunction(
function: *c_void,
arguments: [*]*c_void,
argumentCount: u16,
result: ?*?*c_void,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsConstructObject(
function: *c_void,
arguments: [*]*c_void,
argumentCount: u16,
result: **c_void,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsCreateFunction(
nativeFunction: JsNativeFunction,
callbackState: ?*c_void,
function: **c_void,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsCreateError(
message: *c_void,
@"error": **c_void,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsCreateRangeError(
message: *c_void,
@"error": **c_void,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsCreateReferenceError(
message: *c_void,
@"error": **c_void,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsCreateSyntaxError(
message: *c_void,
@"error": **c_void,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsCreateTypeError(
message: *c_void,
@"error": **c_void,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsCreateURIError(
message: *c_void,
@"error": **c_void,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsHasException(
hasException: *bool,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsGetAndClearException(
exception: **c_void,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsSetException(
exception: *c_void,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsDisableRuntimeExecution(
runtime: *c_void,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsEnableRuntimeExecution(
runtime: *c_void,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsIsRuntimeExecutionDisabled(
runtime: *c_void,
isDisabled: *bool,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsStartProfiling(
callback: *IActiveScriptProfilerCallback,
eventMask: PROFILER_EVENT_MASK,
context: u32,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsStopProfiling(
reason: HRESULT,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsEnumerateHeap(
enumerator: **IActiveScriptProfilerHeapEnum,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
pub extern "chakra" fn JsIsEnumeratingHeap(
isEnumeratingHeap: *bool,
) callconv(@import("std").os.windows.WINAPI) JsErrorCode;
//--------------------------------------------------------------------------------
// Section: Unicode Aliases (0)
//--------------------------------------------------------------------------------
pub usingnamespace switch (@import("../zig.zig").unicode_mode) {
.ansi => struct {
},
.wide => struct {
},
.unspecified => if (@import("builtin").is_test) struct {
} else struct {
},
};
//--------------------------------------------------------------------------------
// Section: Imports (8)
//--------------------------------------------------------------------------------
const IDebugApplication64 = @import("debug.zig").IDebugApplication64;
const PWSTR = @import("system_services.zig").PWSTR;
const VARIANT = @import("automation.zig").VARIANT;
const HRESULT = @import("com.zig").HRESULT;
const IActiveScriptProfilerCallback = @import("debug.zig").IActiveScriptProfilerCallback;
const IActiveScriptProfilerHeapEnum = @import("debug.zig").IActiveScriptProfilerHeapEnum;
const PROFILER_EVENT_MASK = @import("debug.zig").PROFILER_EVENT_MASK;
const IDebugApplication32 = @import("debug.zig").IDebugApplication32;
test {
// The following '_ = <FuncPtrType>' lines are a workaround for https://github.com/ziglang/zig/issues/4476
if (@hasDecl(@This(), "JsMemoryAllocationCallback")) { _ = JsMemoryAllocationCallback; }
if (@hasDecl(@This(), "JsBeforeCollectCallback")) { _ = JsBeforeCollectCallback; }
if (@hasDecl(@This(), "JsBackgroundWorkItemCallback")) { _ = JsBackgroundWorkItemCallback; }
if (@hasDecl(@This(), "JsThreadServiceCallback")) { _ = JsThreadServiceCallback; }
if (@hasDecl(@This(), "JsFinalizeCallback")) { _ = JsFinalizeCallback; }
if (@hasDecl(@This(), "JsNativeFunction")) { _ = JsNativeFunction; }
@setEvalBranchQuota(
@import("std").meta.declarations(@This()).len * 3
);
// reference all the pub declarations
if (!@import("std").builtin.is_test) return;
inline for (@import("std").meta.declarations(@This())) |decl| {
if (decl.is_pub) {
_ = decl;
}
}
}

247
src/win32/api/kernel.zig Normal file
View File

@ -0,0 +1,247 @@
//! NOTE: this file is autogenerated, DO NOT MODIFY
//--------------------------------------------------------------------------------
// Section: Constants (17)
//--------------------------------------------------------------------------------
pub const OBJ_HANDLE_TAGBITS = @as(i32, 3);
pub const RTL_BALANCED_NODE_RESERVED_PARENT_MASK = @as(u32, 3);
pub const OBJ_INHERIT = @as(i32, 2);
pub const OBJ_PERMANENT = @as(i32, 16);
pub const OBJ_EXCLUSIVE = @as(i32, 32);
pub const OBJ_CASE_INSENSITIVE = @as(i32, 64);
pub const OBJ_OPENIF = @as(i32, 128);
pub const OBJ_OPENLINK = @as(i32, 256);
pub const OBJ_KERNEL_HANDLE = @as(i32, 512);
pub const OBJ_FORCE_ACCESS_CHECK = @as(i32, 1024);
pub const OBJ_IGNORE_IMPERSONATED_DEVICEMAP = @as(i32, 2048);
pub const OBJ_DONT_REPARSE = @as(i32, 4096);
pub const OBJ_VALID_ATTRIBUTES = @as(i32, 8178);
pub const NULL64 = @as(u32, 0);
pub const MAXUCHAR = @as(u32, 255);
pub const MAXUSHORT = @as(u32, 65535);
pub const MAXULONG = @as(u32, 4294967295);
//--------------------------------------------------------------------------------
// Section: Types (22)
//--------------------------------------------------------------------------------
pub const EXCEPTION_DISPOSITION = extern enum(i32) {
ContinueExecution = 0,
ContinueSearch = 1,
NestedException = 2,
CollidedUnwind = 3,
};
pub const ExceptionContinueExecution = EXCEPTION_DISPOSITION.ContinueExecution;
pub const ExceptionContinueSearch = EXCEPTION_DISPOSITION.ContinueSearch;
pub const ExceptionNestedException = EXCEPTION_DISPOSITION.NestedException;
pub const ExceptionCollidedUnwind = EXCEPTION_DISPOSITION.CollidedUnwind;
pub const COMPARTMENT_ID = extern enum(i32) {
UNSPECIFIED_COMPARTMENT_ID = 0,
DEFAULT_COMPARTMENT_ID = 1,
};
pub const UNSPECIFIED_COMPARTMENT_ID = COMPARTMENT_ID.UNSPECIFIED_COMPARTMENT_ID;
pub const DEFAULT_COMPARTMENT_ID = COMPARTMENT_ID.DEFAULT_COMPARTMENT_ID;
pub const LUID = extern struct {
LowPart: u32,
HighPart: i32,
};
pub const QUAD = extern struct {
Anonymous: _Anonymous_e__Union,
const _Anonymous_e__Union = u32; // TODO: generate this nested type!
};
pub const EVENT_TYPE = extern enum(i32) {
NotificationEvent = 0,
SynchronizationEvent = 1,
};
pub const NotificationEvent = EVENT_TYPE.NotificationEvent;
pub const SynchronizationEvent = EVENT_TYPE.SynchronizationEvent;
pub const TIMER_TYPE = extern enum(i32) {
NotificationTimer = 0,
SynchronizationTimer = 1,
};
pub const NotificationTimer = TIMER_TYPE.NotificationTimer;
pub const SynchronizationTimer = TIMER_TYPE.SynchronizationTimer;
pub const WAIT_TYPE = extern enum(i32) {
All = 0,
Any = 1,
Notification = 2,
Dequeue = 3,
};
pub const WaitAll = WAIT_TYPE.All;
pub const WaitAny = WAIT_TYPE.Any;
pub const WaitNotification = WAIT_TYPE.Notification;
pub const WaitDequeue = WAIT_TYPE.Dequeue;
pub const CSTRING = extern struct {
Length: u16,
MaximumLength: u16,
Buffer: [*:0]const u8,
};
pub const LIST_ENTRY = extern struct {
Flink: *LIST_ENTRY,
Blink: *LIST_ENTRY,
};
pub const RTL_BALANCED_NODE = extern struct {
Anonymous1: _Anonymous1_e__Union,
Anonymous2: _Anonymous2_e__Union,
const _Anonymous2_e__Union = u32; // TODO: generate this nested type!
const _Anonymous1_e__Union = u32; // TODO: generate this nested type!
};
pub const LIST_ENTRY32 = extern struct {
Flink: u32,
Blink: u32,
};
pub const LIST_ENTRY64 = extern struct {
Flink: u64,
Blink: u64,
};
pub const SINGLE_LIST_ENTRY32 = extern struct {
Next: u32,
};
pub const WNF_STATE_NAME = extern struct {
Data: [2]u32,
};
pub const STRING32 = extern struct {
Length: u16,
MaximumLength: u16,
Buffer: u32,
};
pub const STRING64 = extern struct {
Length: u16,
MaximumLength: u16,
Buffer: u64,
};
pub const OBJECT_ATTRIBUTES64 = extern struct {
Length: u32,
RootDirectory: u64,
ObjectName: u64,
Attributes: u32,
SecurityDescriptor: u64,
SecurityQualityOfService: u64,
};
pub const OBJECT_ATTRIBUTES32 = extern struct {
Length: u32,
RootDirectory: u32,
ObjectName: u32,
Attributes: u32,
SecurityDescriptor: u32,
SecurityQualityOfService: u32,
};
pub const OBJECTID = extern struct {
Lineage: Guid,
Uniquifier: u32,
};
pub const EXCEPTION_ROUTINE = fn(
ExceptionRecord: *EXCEPTION_RECORD,
EstablisherFrame: *c_void,
ContextRecord: *CONTEXT,
DispatcherContext: *c_void,
) callconv(@import("std").os.windows.WINAPI) EXCEPTION_DISPOSITION;
pub const NT_PRODUCT_TYPE = extern enum(i32) {
WinNt = 1,
LanManNt = 2,
Server = 3,
};
pub const NtProductWinNt = NT_PRODUCT_TYPE.WinNt;
pub const NtProductLanManNt = NT_PRODUCT_TYPE.LanManNt;
pub const NtProductServer = NT_PRODUCT_TYPE.Server;
pub const SUITE_TYPE = extern enum(i32) {
SmallBusiness = 0,
Enterprise = 1,
BackOffice = 2,
CommunicationServer = 3,
TerminalServer = 4,
SmallBusinessRestricted = 5,
EmbeddedNT = 6,
DataCenter = 7,
SingleUserTS = 8,
Personal = 9,
Blade = 10,
EmbeddedRestricted = 11,
SecurityAppliance = 12,
StorageServer = 13,
ComputeServer = 14,
WHServer = 15,
PhoneNT = 16,
MultiUserTS = 17,
MaxSuiteType = 18,
};
pub const SmallBusiness = SUITE_TYPE.SmallBusiness;
pub const Enterprise = SUITE_TYPE.Enterprise;
pub const BackOffice = SUITE_TYPE.BackOffice;
pub const CommunicationServer = SUITE_TYPE.CommunicationServer;
pub const TerminalServer = SUITE_TYPE.TerminalServer;
pub const SmallBusinessRestricted = SUITE_TYPE.SmallBusinessRestricted;
pub const EmbeddedNT = SUITE_TYPE.EmbeddedNT;
pub const DataCenter = SUITE_TYPE.DataCenter;
pub const SingleUserTS = SUITE_TYPE.SingleUserTS;
pub const Personal = SUITE_TYPE.Personal;
pub const Blade = SUITE_TYPE.Blade;
pub const EmbeddedRestricted = SUITE_TYPE.EmbeddedRestricted;
pub const SecurityAppliance = SUITE_TYPE.SecurityAppliance;
pub const StorageServer = SUITE_TYPE.StorageServer;
pub const ComputeServer = SUITE_TYPE.ComputeServer;
pub const WHServer = SUITE_TYPE.WHServer;
pub const PhoneNT = SUITE_TYPE.PhoneNT;
pub const MultiUserTS = SUITE_TYPE.MultiUserTS;
pub const MaxSuiteType = SUITE_TYPE.MaxSuiteType;
//--------------------------------------------------------------------------------
// Section: Functions (0)
//--------------------------------------------------------------------------------
//--------------------------------------------------------------------------------
// Section: Unicode Aliases (0)
//--------------------------------------------------------------------------------
pub usingnamespace switch (@import("../zig.zig").unicode_mode) {
.ansi => struct {
},
.wide => struct {
},
.unspecified => if (@import("builtin").is_test) struct {
} else struct {
},
};
//--------------------------------------------------------------------------------
// Section: Imports (4)
//--------------------------------------------------------------------------------
const Guid = @import("../zig.zig").Guid;
const CONTEXT = @import("debug.zig").CONTEXT;
const PSTR = @import("system_services.zig").PSTR;
const EXCEPTION_RECORD = @import("debug.zig").EXCEPTION_RECORD;
test {
// The following '_ = <FuncPtrType>' lines are a workaround for https://github.com/ziglang/zig/issues/4476
if (@hasDecl(@This(), "EXCEPTION_ROUTINE")) { _ = EXCEPTION_ROUTINE; }
@setEvalBranchQuota(
@import("std").meta.declarations(@This()).len * 3
);
// reference all the pub declarations
if (!@import("std").builtin.is_test) return;
inline for (@import("std").meta.declarations(@This())) |decl| {
if (decl.is_pub) {
_ = decl;
}
}
}

View File

@ -0,0 +1,747 @@
//! NOTE: this file is autogenerated, DO NOT MODIFY
//--------------------------------------------------------------------------------
// Section: Constants (0)
//--------------------------------------------------------------------------------
//--------------------------------------------------------------------------------
// Section: Types (30)
//--------------------------------------------------------------------------------
pub const HRAWINPUT = ?*opaque{};
pub const RAW_INPUT_DATA_COMMAND_FLAGS = extern enum(u32) {
HEADER = 268435461,
INPUT = 268435459,
};
pub const RID_HEADER = RAW_INPUT_DATA_COMMAND_FLAGS.HEADER;
pub const RID_INPUT = RAW_INPUT_DATA_COMMAND_FLAGS.INPUT;
// TODO: This Enum is marked as [Flags], what do I do with this?
pub const HOT_KEY_MODIFIERS = extern enum(u32) {
ALT = 1,
CONTROL = 2,
NOREPEAT = 16384,
SHIFT = 4,
WIN = 8,
_,
};
pub const MOD_ALT = HOT_KEY_MODIFIERS.ALT;
pub const MOD_CONTROL = HOT_KEY_MODIFIERS.CONTROL;
pub const MOD_NOREPEAT = HOT_KEY_MODIFIERS.NOREPEAT;
pub const MOD_SHIFT = HOT_KEY_MODIFIERS.SHIFT;
pub const MOD_WIN = HOT_KEY_MODIFIERS.WIN;
pub const RAW_INPUT_DEVICE_INFO_COMMAND = extern enum(u32) {
PREPARSEDDATA = 536870917,
DEVICENAME = 536870919,
DEVICEINFO = 536870923,
};
pub const RIDI_PREPARSEDDATA = RAW_INPUT_DEVICE_INFO_COMMAND.PREPARSEDDATA;
pub const RIDI_DEVICENAME = RAW_INPUT_DEVICE_INFO_COMMAND.DEVICENAME;
pub const RIDI_DEVICEINFO = RAW_INPUT_DEVICE_INFO_COMMAND.DEVICEINFO;
pub const ACTIVATE_KEYBOARD_LAYOUT_FLAGS = extern enum(u32) {
REORDER = 8,
RESET = 1073741824,
SETFORPROCESS = 256,
SHIFTLOCK = 65536,
ACTIVATE = 1,
NOTELLSHELL = 128,
REPLACELANG = 16,
SUBSTITUTE_OK = 2,
};
pub const KLF_REORDER = ACTIVATE_KEYBOARD_LAYOUT_FLAGS.REORDER;
pub const KLF_RESET = ACTIVATE_KEYBOARD_LAYOUT_FLAGS.RESET;
pub const KLF_SETFORPROCESS = ACTIVATE_KEYBOARD_LAYOUT_FLAGS.SETFORPROCESS;
pub const KLF_SHIFTLOCK = ACTIVATE_KEYBOARD_LAYOUT_FLAGS.SHIFTLOCK;
pub const KLF_ACTIVATE = ACTIVATE_KEYBOARD_LAYOUT_FLAGS.ACTIVATE;
pub const KLF_NOTELLSHELL = ACTIVATE_KEYBOARD_LAYOUT_FLAGS.NOTELLSHELL;
pub const KLF_REPLACELANG = ACTIVATE_KEYBOARD_LAYOUT_FLAGS.REPLACELANG;
pub const KLF_SUBSTITUTE_OK = ACTIVATE_KEYBOARD_LAYOUT_FLAGS.SUBSTITUTE_OK;
pub const GET_MOUSE_MOVE_POINTS_EX_RESOLUTION = extern enum(u32) {
DISPLAY_POINTS = 1,
HIGH_RESOLUTION_POINTS = 2,
};
pub const GMMP_USE_DISPLAY_POINTS = GET_MOUSE_MOVE_POINTS_EX_RESOLUTION.DISPLAY_POINTS;
pub const GMMP_USE_HIGH_RESOLUTION_POINTS = GET_MOUSE_MOVE_POINTS_EX_RESOLUTION.HIGH_RESOLUTION_POINTS;
// TODO: This Enum is marked as [Flags], what do I do with this?
pub const KEYBD_EVENT_FLAGS = extern enum(u32) {
EXTENDEDKEY = 1,
KEYUP = 2,
SCANCODE = 8,
UNICODE = 4,
_,
};
pub const KEYEVENTF_EXTENDEDKEY = KEYBD_EVENT_FLAGS.EXTENDEDKEY;
pub const KEYEVENTF_KEYUP = KEYBD_EVENT_FLAGS.KEYUP;
pub const KEYEVENTF_SCANCODE = KEYBD_EVENT_FLAGS.SCANCODE;
pub const KEYEVENTF_UNICODE = KEYBD_EVENT_FLAGS.UNICODE;
// TODO: This Enum is marked as [Flags], what do I do with this?
pub const MOUSE_EVENT_FLAGS = extern enum(u32) {
ABSOLUTE = 32768,
LEFTDOWN = 2,
LEFTUP = 4,
MIDDLEDOWN = 32,
MIDDLEUP = 64,
MOVE = 1,
RIGHTDOWN = 8,
RIGHTUP = 16,
WHEEL = 2048,
XDOWN = 128,
XUP = 256,
HWHEEL = 4096,
MOVE_NOCOALESCE = 8192,
VIRTUALDESK = 16384,
_,
};
pub const MOUSEEVENTF_ABSOLUTE = MOUSE_EVENT_FLAGS.ABSOLUTE;
pub const MOUSEEVENTF_LEFTDOWN = MOUSE_EVENT_FLAGS.LEFTDOWN;
pub const MOUSEEVENTF_LEFTUP = MOUSE_EVENT_FLAGS.LEFTUP;
pub const MOUSEEVENTF_MIDDLEDOWN = MOUSE_EVENT_FLAGS.MIDDLEDOWN;
pub const MOUSEEVENTF_MIDDLEUP = MOUSE_EVENT_FLAGS.MIDDLEUP;
pub const MOUSEEVENTF_MOVE = MOUSE_EVENT_FLAGS.MOVE;
pub const MOUSEEVENTF_RIGHTDOWN = MOUSE_EVENT_FLAGS.RIGHTDOWN;
pub const MOUSEEVENTF_RIGHTUP = MOUSE_EVENT_FLAGS.RIGHTUP;
pub const MOUSEEVENTF_WHEEL = MOUSE_EVENT_FLAGS.WHEEL;
pub const MOUSEEVENTF_XDOWN = MOUSE_EVENT_FLAGS.XDOWN;
pub const MOUSEEVENTF_XUP = MOUSE_EVENT_FLAGS.XUP;
pub const MOUSEEVENTF_HWHEEL = MOUSE_EVENT_FLAGS.HWHEEL;
pub const MOUSEEVENTF_MOVE_NOCOALESCE = MOUSE_EVENT_FLAGS.MOVE_NOCOALESCE;
pub const MOUSEEVENTF_VIRTUALDESK = MOUSE_EVENT_FLAGS.VIRTUALDESK;
pub const RID_DEVICE_INFO_TYPE = extern enum(u32) {
MOUSE = 0,
KEYBOARD = 1,
HID = 2,
};
pub const RIM_TYPEMOUSE = RID_DEVICE_INFO_TYPE.MOUSE;
pub const RIM_TYPEKEYBOARD = RID_DEVICE_INFO_TYPE.KEYBOARD;
pub const RIM_TYPEHID = RID_DEVICE_INFO_TYPE.HID;
pub const RAWINPUTDEVICE_FLAGS = extern enum(u32) {
REMOVE = 1,
EXCLUDE = 16,
PAGEONLY = 32,
NOLEGACY = 48,
INPUTSINK = 256,
CAPTUREMOUSE = 512,
NOHOTKEYS = 512,
APPKEYS = 1024,
EXINPUTSINK = 4096,
DEVNOTIFY = 8192,
};
pub const RIDEV_REMOVE = RAWINPUTDEVICE_FLAGS.REMOVE;
pub const RIDEV_EXCLUDE = RAWINPUTDEVICE_FLAGS.EXCLUDE;
pub const RIDEV_PAGEONLY = RAWINPUTDEVICE_FLAGS.PAGEONLY;
pub const RIDEV_NOLEGACY = RAWINPUTDEVICE_FLAGS.NOLEGACY;
pub const RIDEV_INPUTSINK = RAWINPUTDEVICE_FLAGS.INPUTSINK;
pub const RIDEV_CAPTUREMOUSE = RAWINPUTDEVICE_FLAGS.CAPTUREMOUSE;
pub const RIDEV_NOHOTKEYS = RAWINPUTDEVICE_FLAGS.NOHOTKEYS;
pub const RIDEV_APPKEYS = RAWINPUTDEVICE_FLAGS.APPKEYS;
pub const RIDEV_EXINPUTSINK = RAWINPUTDEVICE_FLAGS.EXINPUTSINK;
pub const RIDEV_DEVNOTIFY = RAWINPUTDEVICE_FLAGS.DEVNOTIFY;
pub const INPUT_TYPE = extern enum(u32) {
MOUSE = 0,
KEYBOARD = 1,
HARDWARE = 2,
};
pub const INPUT_MOUSE = INPUT_TYPE.MOUSE;
pub const INPUT_KEYBOARD = INPUT_TYPE.KEYBOARD;
pub const INPUT_HARDWARE = INPUT_TYPE.HARDWARE;
// TODO: This Enum is marked as [Flags], what do I do with this?
pub const TRACKMOUSEEVENT_FLAGS = extern enum(u32) {
CANCEL = 2147483648,
HOVER = 1,
LEAVE = 2,
NONCLIENT = 16,
QUERY = 1073741824,
_,
};
pub const TME_CANCEL = TRACKMOUSEEVENT_FLAGS.CANCEL;
pub const TME_HOVER = TRACKMOUSEEVENT_FLAGS.HOVER;
pub const TME_LEAVE = TRACKMOUSEEVENT_FLAGS.LEAVE;
pub const TME_NONCLIENT = TRACKMOUSEEVENT_FLAGS.NONCLIENT;
pub const TME_QUERY = TRACKMOUSEEVENT_FLAGS.QUERY;
pub const MOUSEMOVEPOINT = extern struct {
x: i32,
y: i32,
time: u32,
dwExtraInfo: usize,
};
pub const TRACKMOUSEEVENT = extern struct {
cbSize: u32,
dwFlags: TRACKMOUSEEVENT_FLAGS,
hwndTrack: HWND,
dwHoverTime: u32,
};
pub const MOUSEINPUT = extern struct {
dx: i32,
dy: i32,
mouseData: u32,
dwFlags: MOUSE_EVENT_FLAGS,
time: u32,
dwExtraInfo: usize,
};
pub const KEYBDINPUT = extern struct {
wVk: u16,
wScan: u16,
dwFlags: KEYBD_EVENT_FLAGS,
time: u32,
dwExtraInfo: usize,
};
pub const HARDWAREINPUT = extern struct {
uMsg: u32,
wParamL: u16,
wParamH: u16,
};
pub const INPUT = extern struct {
type: INPUT_TYPE,
Anonymous: _Anonymous_e__Union,
const _Anonymous_e__Union = u32; // TODO: generate this nested type!
};
pub const LASTINPUTINFO = extern struct {
cbSize: u32,
dwTime: u32,
};
pub const RAWINPUTHEADER = extern struct {
dwType: u32,
dwSize: u32,
hDevice: HANDLE,
wParam: WPARAM,
};
pub const RAWMOUSE = extern struct {
usFlags: u16,
Anonymous: _Anonymous_e__Union,
ulRawButtons: u32,
lLastX: i32,
lLastY: i32,
ulExtraInformation: u32,
const _Anonymous_e__Union = u32; // TODO: generate this nested type!
};
pub const RAWKEYBOARD = extern struct {
MakeCode: u16,
Flags: u16,
Reserved: u16,
VKey: u16,
Message: u32,
ExtraInformation: u32,
};
pub const RAWHID = extern struct {
dwSizeHid: u32,
dwCount: u32,
bRawData: [1]u8,
};
pub const RAWINPUT = extern struct {
header: RAWINPUTHEADER,
data: _data_e__Union,
const _data_e__Union = u32; // TODO: generate this nested type!
};
pub const RID_DEVICE_INFO_MOUSE = extern struct {
dwId: u32,
dwNumberOfButtons: u32,
dwSampleRate: u32,
fHasHorizontalWheel: BOOL,
};
pub const RID_DEVICE_INFO_KEYBOARD = extern struct {
dwType: u32,
dwSubType: u32,
dwKeyboardMode: u32,
dwNumberOfFunctionKeys: u32,
dwNumberOfIndicators: u32,
dwNumberOfKeysTotal: u32,
};
pub const RID_DEVICE_INFO_HID = extern struct {
dwVendorId: u32,
dwProductId: u32,
dwVersionNumber: u32,
usUsagePage: u16,
usUsage: u16,
};
pub const RID_DEVICE_INFO = extern struct {
cbSize: u32,
dwType: RID_DEVICE_INFO_TYPE,
Anonymous: _Anonymous_e__Union,
const _Anonymous_e__Union = u32; // TODO: generate this nested type!
};
pub const RAWINPUTDEVICE = extern struct {
usUsagePage: u16,
usUsage: u16,
dwFlags: RAWINPUTDEVICE_FLAGS,
hwndTarget: HWND,
};
pub const RAWINPUTDEVICELIST = extern struct {
hDevice: HANDLE,
dwType: RID_DEVICE_INFO_TYPE,
};
//--------------------------------------------------------------------------------
// Section: Functions (60)
//--------------------------------------------------------------------------------
// TODO: this type is limited to platform 'windows5.0'
pub extern "COMCTL32" fn _TrackMouseEvent(
lpEventTrack: *TRACKMOUSEEVENT,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn LoadKeyboardLayoutA(
pwszKLID: [*:0]const u8,
Flags: ACTIVATE_KEYBOARD_LAYOUT_FLAGS,
) callconv(@import("std").os.windows.WINAPI) HKL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn LoadKeyboardLayoutW(
pwszKLID: [*:0]const u16,
Flags: ACTIVATE_KEYBOARD_LAYOUT_FLAGS,
) callconv(@import("std").os.windows.WINAPI) HKL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn ActivateKeyboardLayout(
hkl: HKL,
Flags: ACTIVATE_KEYBOARD_LAYOUT_FLAGS,
) callconv(@import("std").os.windows.WINAPI) HKL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn ToUnicodeEx(
wVirtKey: u32,
wScanCode: u32,
lpKeyState: *[256]u8,
pwszBuff: [*:0]u16,
cchBuff: i32,
wFlags: u32,
dwhkl: HKL,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn UnloadKeyboardLayout(
hkl: HKL,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn GetKeyboardLayoutNameA(
pwszKLID: *[9]u8,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn GetKeyboardLayoutNameW(
pwszKLID: *[9]u16,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn GetKeyboardLayoutList(
nBuff: i32,
lpList: ?[*]HKL,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn GetKeyboardLayout(
idThread: u32,
) callconv(@import("std").os.windows.WINAPI) HKL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn GetMouseMovePointsEx(
cbSize: u32,
lppt: *MOUSEMOVEPOINT,
lpptBuf: [*]MOUSEMOVEPOINT,
nBufPoints: i32,
resolution: GET_MOUSE_MOVE_POINTS_EX_RESOLUTION,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn TrackMouseEvent(
lpEventTrack: *TRACKMOUSEEVENT,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "USER32" fn RegisterHotKey(
hWnd: HWND,
id: i32,
fsModifiers: HOT_KEY_MODIFIERS,
vk: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn UnregisterHotKey(
hWnd: HWND,
id: i32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn SwapMouseButton(
fSwap: BOOL,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn GetDoubleClickTime(
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn SetDoubleClickTime(
param0: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn SetFocus(
hWnd: HWND,
) callconv(@import("std").os.windows.WINAPI) HWND;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn GetActiveWindow(
) callconv(@import("std").os.windows.WINAPI) HWND;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn GetFocus(
) callconv(@import("std").os.windows.WINAPI) HWND;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn GetKBCodePage(
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn GetKeyState(
nVirtKey: i32,
) callconv(@import("std").os.windows.WINAPI) i16;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn GetAsyncKeyState(
vKey: i32,
) callconv(@import("std").os.windows.WINAPI) i16;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn GetKeyboardState(
lpKeyState: *[256]u8,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn SetKeyboardState(
lpKeyState: *[256]u8,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn GetKeyNameTextA(
lParam: i32,
lpString: [*:0]u8,
cchSize: i32,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn GetKeyNameTextW(
lParam: i32,
lpString: [*:0]u16,
cchSize: i32,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn GetKeyboardType(
nTypeFlag: i32,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn ToAscii(
uVirtKey: u32,
uScanCode: u32,
lpKeyState: ?*[256]u8,
lpChar: *u16,
uFlags: u32,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn ToAsciiEx(
uVirtKey: u32,
uScanCode: u32,
lpKeyState: ?*[256]u8,
lpChar: *u16,
uFlags: u32,
dwhkl: HKL,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn ToUnicode(
wVirtKey: u32,
wScanCode: u32,
lpKeyState: ?*[256]u8,
pwszBuff: [*:0]u16,
cchBuff: i32,
wFlags: u32,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn OemKeyScan(
wOemChar: u16,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn VkKeyScanA(
ch: CHAR,
) callconv(@import("std").os.windows.WINAPI) i16;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn VkKeyScanW(
ch: u16,
) callconv(@import("std").os.windows.WINAPI) i16;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn VkKeyScanExA(
ch: CHAR,
dwhkl: HKL,
) callconv(@import("std").os.windows.WINAPI) i16;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn VkKeyScanExW(
ch: u16,
dwhkl: HKL,
) callconv(@import("std").os.windows.WINAPI) i16;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn keybd_event(
bVk: u8,
bScan: u8,
dwFlags: KEYBD_EVENT_FLAGS,
dwExtraInfo: usize,
) callconv(@import("std").os.windows.WINAPI) void;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn mouse_event(
dwFlags: MOUSE_EVENT_FLAGS,
dx: i32,
dy: i32,
dwData: u32,
dwExtraInfo: usize,
) callconv(@import("std").os.windows.WINAPI) void;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn SendInput(
cInputs: u32,
pInputs: [*]INPUT,
cbSize: i32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn GetLastInputInfo(
plii: *LASTINPUTINFO,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn MapVirtualKeyA(
uCode: u32,
uMapType: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn MapVirtualKeyW(
uCode: u32,
uMapType: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn MapVirtualKeyExA(
uCode: u32,
uMapType: u32,
dwhkl: HKL,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn MapVirtualKeyExW(
uCode: u32,
uMapType: u32,
dwhkl: HKL,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn GetCapture(
) callconv(@import("std").os.windows.WINAPI) HWND;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn SetCapture(
hWnd: HWND,
) callconv(@import("std").os.windows.WINAPI) HWND;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn ReleaseCapture(
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn EnableWindow(
hWnd: HWND,
bEnable: BOOL,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn IsWindowEnabled(
hWnd: HWND,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn DragDetect(
hwnd: HWND,
pt: POINT,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn SetActiveWindow(
hWnd: HWND,
) callconv(@import("std").os.windows.WINAPI) HWND;
// TODO: this type is limited to platform 'windows5.0'
pub extern "USER32" fn BlockInput(
fBlockIt: BOOL,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "USER32" fn GetRawInputData(
hRawInput: HRAWINPUT,
uiCommand: RAW_INPUT_DATA_COMMAND_FLAGS,
// TODO: what to do with BytesParamIndex 3?
pData: ?*c_void,
pcbSize: *u32,
cbSizeHeader: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "USER32" fn GetRawInputDeviceInfoA(
hDevice: HANDLE,
uiCommand: RAW_INPUT_DEVICE_INFO_COMMAND,
// TODO: what to do with BytesParamIndex 3?
pData: ?*c_void,
pcbSize: *u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "USER32" fn GetRawInputDeviceInfoW(
hDevice: HANDLE,
uiCommand: RAW_INPUT_DEVICE_INFO_COMMAND,
// TODO: what to do with BytesParamIndex 3?
pData: ?*c_void,
pcbSize: *u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "USER32" fn GetRawInputBuffer(
// TODO: what to do with BytesParamIndex 1?
pData: ?*RAWINPUT,
pcbSize: *u32,
cbSizeHeader: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "USER32" fn RegisterRawInputDevices(
pRawInputDevices: [*]RAWINPUTDEVICE,
uiNumDevices: u32,
cbSize: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "USER32" fn GetRegisteredRawInputDevices(
pRawInputDevices: ?[*]RAWINPUTDEVICE,
puiNumDevices: *u32,
cbSize: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "USER32" fn GetRawInputDeviceList(
pRawInputDeviceList: ?[*]RAWINPUTDEVICELIST,
puiNumDevices: *u32,
cbSize: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "USER32" fn DefRawInputProc(
paRawInput: [*]*RAWINPUT,
nInput: i32,
cbSizeHeader: u32,
) callconv(@import("std").os.windows.WINAPI) LRESULT;
//--------------------------------------------------------------------------------
// Section: Unicode Aliases (8)
//--------------------------------------------------------------------------------
pub usingnamespace switch (@import("../zig.zig").unicode_mode) {
.ansi => struct {
pub const LoadKeyboardLayout = LoadKeyboardLayoutA;
pub const GetKeyboardLayoutName = GetKeyboardLayoutNameA;
pub const GetKeyNameText = GetKeyNameTextA;
pub const VkKeyScan = VkKeyScanA;
pub const VkKeyScanEx = VkKeyScanExA;
pub const MapVirtualKey = MapVirtualKeyA;
pub const MapVirtualKeyEx = MapVirtualKeyExA;
pub const GetRawInputDeviceInfo = GetRawInputDeviceInfoA;
},
.wide => struct {
pub const LoadKeyboardLayout = LoadKeyboardLayoutW;
pub const GetKeyboardLayoutName = GetKeyboardLayoutNameW;
pub const GetKeyNameText = GetKeyNameTextW;
pub const VkKeyScan = VkKeyScanW;
pub const VkKeyScanEx = VkKeyScanExW;
pub const MapVirtualKey = MapVirtualKeyW;
pub const MapVirtualKeyEx = MapVirtualKeyExW;
pub const GetRawInputDeviceInfo = GetRawInputDeviceInfoW;
},
.unspecified => if (@import("builtin").is_test) struct {
pub const LoadKeyboardLayout = *opaque{};
pub const GetKeyboardLayoutName = *opaque{};
pub const GetKeyNameText = *opaque{};
pub const VkKeyScan = *opaque{};
pub const VkKeyScanEx = *opaque{};
pub const MapVirtualKey = *opaque{};
pub const MapVirtualKeyEx = *opaque{};
pub const GetRawInputDeviceInfo = *opaque{};
} else struct {
pub const LoadKeyboardLayout = @compileError("'LoadKeyboardLayout' requires that UNICODE be set to true or false in the root module");
pub const GetKeyboardLayoutName = @compileError("'GetKeyboardLayoutName' requires that UNICODE be set to true or false in the root module");
pub const GetKeyNameText = @compileError("'GetKeyNameText' requires that UNICODE be set to true or false in the root module");
pub const VkKeyScan = @compileError("'VkKeyScan' requires that UNICODE be set to true or false in the root module");
pub const VkKeyScanEx = @compileError("'VkKeyScanEx' requires that UNICODE be set to true or false in the root module");
pub const MapVirtualKey = @compileError("'MapVirtualKey' requires that UNICODE be set to true or false in the root module");
pub const MapVirtualKeyEx = @compileError("'MapVirtualKeyEx' requires that UNICODE be set to true or false in the root module");
pub const GetRawInputDeviceInfo = @compileError("'GetRawInputDeviceInfo' requires that UNICODE be set to true or false in the root module");
},
};
//--------------------------------------------------------------------------------
// Section: Imports (10)
//--------------------------------------------------------------------------------
const WPARAM = @import("windows_and_messaging.zig").WPARAM;
const PWSTR = @import("system_services.zig").PWSTR;
const LRESULT = @import("system_services.zig").LRESULT;
const CHAR = @import("system_services.zig").CHAR;
const HANDLE = @import("system_services.zig").HANDLE;
const PSTR = @import("system_services.zig").PSTR;
const HKL = @import("text_services.zig").HKL;
const BOOL = @import("system_services.zig").BOOL;
const HWND = @import("windows_and_messaging.zig").HWND;
const POINT = @import("display_devices.zig").POINT;
test {
@setEvalBranchQuota(
@import("std").meta.declarations(@This()).len * 3
);
// reference all the pub declarations
if (!@import("std").builtin.is_test) return;
inline for (@import("std").meta.declarations(@This())) |decl| {
if (decl.is_pub) {
_ = decl;
}
}
}

2453
src/win32/api/ldap.zig Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,393 @@
//! NOTE: this file is autogenerated, DO NOT MODIFY
//--------------------------------------------------------------------------------
// Section: Constants (11)
//--------------------------------------------------------------------------------
pub const EVCF_HASSETTINGS = @as(u32, 1);
pub const EVCF_ENABLEBYDEFAULT = @as(u32, 2);
pub const EVCF_REMOVEFROMLIST = @as(u32, 4);
pub const EVCF_ENABLEBYDEFAULT_AUTO = @as(u32, 8);
pub const EVCF_DONTSHOWIFZERO = @as(u32, 16);
pub const EVCF_SETTINGSMODE = @as(u32, 32);
pub const EVCF_OUTOFDISKSPACE = @as(u32, 64);
pub const EVCF_USERCONSENTOBTAINED = @as(u32, 128);
pub const EVCF_SYSTEMAUTORUN = @as(u32, 256);
pub const EVCCBF_LASTNOTIFICATION = @as(u32, 1);
pub const STATEBITS_FLAT = @as(u32, 1);
//--------------------------------------------------------------------------------
// Section: Types (10)
//--------------------------------------------------------------------------------
// TODO: this type is limited to platform 'windows5.0'
const IID_IEmptyVolumeCacheCallBack_Value = @import("../zig.zig").Guid.initString("6e793361-73c6-11d0-8469-00aa00442901");
pub const IID_IEmptyVolumeCacheCallBack = &IID_IEmptyVolumeCacheCallBack_Value;
pub const IEmptyVolumeCacheCallBack = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
ScanProgress: fn(
self: *const IEmptyVolumeCacheCallBack,
dwlSpaceUsed: u64,
dwFlags: u32,
pcwszStatus: [*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
PurgeProgress: fn(
self: *const IEmptyVolumeCacheCallBack,
dwlSpaceFreed: u64,
dwlSpaceToFree: u64,
dwFlags: u32,
pcwszStatus: [*:0]const u16,
) 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 IEmptyVolumeCacheCallBack_ScanProgress(self: *const T, dwlSpaceUsed: u64, dwFlags: u32, pcwszStatus: [*:0]const u16) callconv(.Inline) HRESULT {
return @ptrCast(*const IEmptyVolumeCacheCallBack.VTable, self.vtable).ScanProgress(@ptrCast(*const IEmptyVolumeCacheCallBack, self), dwlSpaceUsed, dwFlags, pcwszStatus);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IEmptyVolumeCacheCallBack_PurgeProgress(self: *const T, dwlSpaceFreed: u64, dwlSpaceToFree: u64, dwFlags: u32, pcwszStatus: [*:0]const u16) callconv(.Inline) HRESULT {
return @ptrCast(*const IEmptyVolumeCacheCallBack.VTable, self.vtable).PurgeProgress(@ptrCast(*const IEmptyVolumeCacheCallBack, self), dwlSpaceFreed, dwlSpaceToFree, dwFlags, pcwszStatus);
}
};}
pub usingnamespace MethodMixin(@This());
};
// TODO: this type is limited to platform 'windows5.0'
const IID_IEmptyVolumeCache_Value = @import("../zig.zig").Guid.initString("8fce5227-04da-11d1-a004-00805f8abe06");
pub const IID_IEmptyVolumeCache = &IID_IEmptyVolumeCache_Value;
pub const IEmptyVolumeCache = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
Initialize: fn(
self: *const IEmptyVolumeCache,
hkRegKey: HKEY,
pcwszVolume: [*:0]const u16,
ppwszDisplayName: *PWSTR,
ppwszDescription: *PWSTR,
pdwFlags: *u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
GetSpaceUsed: fn(
self: *const IEmptyVolumeCache,
pdwlSpaceUsed: *u64,
picb: *IEmptyVolumeCacheCallBack,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
Purge: fn(
self: *const IEmptyVolumeCache,
dwlSpaceToFree: u64,
picb: *IEmptyVolumeCacheCallBack,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
ShowProperties: fn(
self: *const IEmptyVolumeCache,
hwnd: HWND,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
Deactivate: fn(
self: *const IEmptyVolumeCache,
pdwFlags: *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 IEmptyVolumeCache_Initialize(self: *const T, hkRegKey: HKEY, pcwszVolume: [*:0]const u16, ppwszDisplayName: *PWSTR, ppwszDescription: *PWSTR, pdwFlags: *u32) callconv(.Inline) HRESULT {
return @ptrCast(*const IEmptyVolumeCache.VTable, self.vtable).Initialize(@ptrCast(*const IEmptyVolumeCache, self), hkRegKey, pcwszVolume, ppwszDisplayName, ppwszDescription, pdwFlags);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IEmptyVolumeCache_GetSpaceUsed(self: *const T, pdwlSpaceUsed: *u64, picb: *IEmptyVolumeCacheCallBack) callconv(.Inline) HRESULT {
return @ptrCast(*const IEmptyVolumeCache.VTable, self.vtable).GetSpaceUsed(@ptrCast(*const IEmptyVolumeCache, self), pdwlSpaceUsed, picb);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IEmptyVolumeCache_Purge(self: *const T, dwlSpaceToFree: u64, picb: *IEmptyVolumeCacheCallBack) callconv(.Inline) HRESULT {
return @ptrCast(*const IEmptyVolumeCache.VTable, self.vtable).Purge(@ptrCast(*const IEmptyVolumeCache, self), dwlSpaceToFree, picb);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IEmptyVolumeCache_ShowProperties(self: *const T, hwnd: HWND) callconv(.Inline) HRESULT {
return @ptrCast(*const IEmptyVolumeCache.VTable, self.vtable).ShowProperties(@ptrCast(*const IEmptyVolumeCache, self), hwnd);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IEmptyVolumeCache_Deactivate(self: *const T, pdwFlags: *u32) callconv(.Inline) HRESULT {
return @ptrCast(*const IEmptyVolumeCache.VTable, self.vtable).Deactivate(@ptrCast(*const IEmptyVolumeCache, self), pdwFlags);
}
};}
pub usingnamespace MethodMixin(@This());
};
// TODO: this type is limited to platform 'windows5.0'
const IID_IEmptyVolumeCache2_Value = @import("../zig.zig").Guid.initString("02b7e3ba-4db3-11d2-b2d9-00c04f8eec8c");
pub const IID_IEmptyVolumeCache2 = &IID_IEmptyVolumeCache2_Value;
pub const IEmptyVolumeCache2 = extern struct {
pub const VTable = extern struct {
base: IEmptyVolumeCache.VTable,
InitializeEx: fn(
self: *const IEmptyVolumeCache2,
hkRegKey: HKEY,
pcwszVolume: [*:0]const u16,
pcwszKeyName: [*:0]const u16,
ppwszDisplayName: *PWSTR,
ppwszDescription: *PWSTR,
ppwszBtnText: *PWSTR,
pdwFlags: *u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IEmptyVolumeCache.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IEmptyVolumeCache2_InitializeEx(self: *const T, hkRegKey: HKEY, pcwszVolume: [*:0]const u16, pcwszKeyName: [*:0]const u16, ppwszDisplayName: *PWSTR, ppwszDescription: *PWSTR, ppwszBtnText: *PWSTR, pdwFlags: *u32) callconv(.Inline) HRESULT {
return @ptrCast(*const IEmptyVolumeCache2.VTable, self.vtable).InitializeEx(@ptrCast(*const IEmptyVolumeCache2, self), hkRegKey, pcwszVolume, pcwszKeyName, ppwszDisplayName, ppwszDescription, ppwszBtnText, pdwFlags);
}
};}
pub usingnamespace MethodMixin(@This());
};
// TODO: this type is limited to platform 'windows5.1.2600'
const IID_IReconcileInitiator_Value = @import("../zig.zig").Guid.initString("99180161-da16-101a-935c-444553540000");
pub const IID_IReconcileInitiator = &IID_IReconcileInitiator_Value;
pub const IReconcileInitiator = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
SetAbortCallback: fn(
self: *const IReconcileInitiator,
punkForAbort: ?*IUnknown,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
SetProgressFeedback: fn(
self: *const IReconcileInitiator,
ulProgress: u32,
ulProgressMax: 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 IReconcileInitiator_SetAbortCallback(self: *const T, punkForAbort: ?*IUnknown) callconv(.Inline) HRESULT {
return @ptrCast(*const IReconcileInitiator.VTable, self.vtable).SetAbortCallback(@ptrCast(*const IReconcileInitiator, self), punkForAbort);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IReconcileInitiator_SetProgressFeedback(self: *const T, ulProgress: u32, ulProgressMax: u32) callconv(.Inline) HRESULT {
return @ptrCast(*const IReconcileInitiator.VTable, self.vtable).SetProgressFeedback(@ptrCast(*const IReconcileInitiator, self), ulProgress, ulProgressMax);
}
};}
pub usingnamespace MethodMixin(@This());
};
pub const _reconcilef = extern enum(i32) {
RECONCILEF_MAYBOTHERUSER = 1,
RECONCILEF_FEEDBACKWINDOWVALID = 2,
RECONCILEF_NORESIDUESOK = 4,
RECONCILEF_OMITSELFRESIDUE = 8,
RECONCILEF_RESUMERECONCILIATION = 16,
RECONCILEF_YOUMAYDOTHEUPDATES = 32,
RECONCILEF_ONLYYOUWERECHANGED = 64,
ALL_RECONCILE_FLAGS = 127,
};
pub const RECONCILEF_MAYBOTHERUSER = _reconcilef.RECONCILEF_MAYBOTHERUSER;
pub const RECONCILEF_FEEDBACKWINDOWVALID = _reconcilef.RECONCILEF_FEEDBACKWINDOWVALID;
pub const RECONCILEF_NORESIDUESOK = _reconcilef.RECONCILEF_NORESIDUESOK;
pub const RECONCILEF_OMITSELFRESIDUE = _reconcilef.RECONCILEF_OMITSELFRESIDUE;
pub const RECONCILEF_RESUMERECONCILIATION = _reconcilef.RECONCILEF_RESUMERECONCILIATION;
pub const RECONCILEF_YOUMAYDOTHEUPDATES = _reconcilef.RECONCILEF_YOUMAYDOTHEUPDATES;
pub const RECONCILEF_ONLYYOUWERECHANGED = _reconcilef.RECONCILEF_ONLYYOUWERECHANGED;
pub const ALL_RECONCILE_FLAGS = _reconcilef.ALL_RECONCILE_FLAGS;
// TODO: this type is limited to platform 'windows5.1.2600'
const IID_IReconcilableObject_Value = @import("../zig.zig").Guid.initString("99180162-da16-101a-935c-444553540000");
pub const IID_IReconcilableObject = &IID_IReconcilableObject_Value;
pub const IReconcilableObject = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
Reconcile: fn(
self: *const IReconcilableObject,
pInitiator: *IReconcileInitiator,
dwFlags: u32,
hwndOwner: HWND,
hwndProgressFeedback: HWND,
ulcInput: u32,
rgpmkOtherInput: [*]*IMoniker,
plOutIndex: *i32,
pstgNewResidues: *IStorage,
pvReserved: *c_void,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
GetProgressFeedbackMaxEstimate: fn(
self: *const IReconcilableObject,
pulProgressMax: *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 IReconcilableObject_Reconcile(self: *const T, pInitiator: *IReconcileInitiator, dwFlags: u32, hwndOwner: HWND, hwndProgressFeedback: HWND, ulcInput: u32, rgpmkOtherInput: [*]*IMoniker, plOutIndex: *i32, pstgNewResidues: *IStorage, pvReserved: *c_void) callconv(.Inline) HRESULT {
return @ptrCast(*const IReconcilableObject.VTable, self.vtable).Reconcile(@ptrCast(*const IReconcilableObject, self), pInitiator, dwFlags, hwndOwner, hwndProgressFeedback, ulcInput, rgpmkOtherInput, plOutIndex, pstgNewResidues, pvReserved);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IReconcilableObject_GetProgressFeedbackMaxEstimate(self: *const T, pulProgressMax: *u32) callconv(.Inline) HRESULT {
return @ptrCast(*const IReconcilableObject.VTable, self.vtable).GetProgressFeedbackMaxEstimate(@ptrCast(*const IReconcilableObject, self), pulProgressMax);
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IBriefcaseInitiator_Value = @import("../zig.zig").Guid.initString("99180164-da16-101a-935c-444553540000");
pub const IID_IBriefcaseInitiator = &IID_IBriefcaseInitiator_Value;
pub const IBriefcaseInitiator = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
IsMonikerInBriefcase: fn(
self: *const IBriefcaseInitiator,
pmk: *IMoniker,
) 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 IBriefcaseInitiator_IsMonikerInBriefcase(self: *const T, pmk: *IMoniker) callconv(.Inline) HRESULT {
return @ptrCast(*const IBriefcaseInitiator.VTable, self.vtable).IsMonikerInBriefcase(@ptrCast(*const IBriefcaseInitiator, self), pmk);
}
};}
pub usingnamespace MethodMixin(@This());
};
pub const _ColumnSortOrder = extern enum(i32) {
Ascending = 0,
Descending = 1,
};
pub const SortOrder_Ascending = _ColumnSortOrder.Ascending;
pub const SortOrder_Descending = _ColumnSortOrder.Descending;
// TODO: this type is limited to platform 'windows5.0'
const IID_IActiveDesktopP_Value = @import("../zig.zig").Guid.initString("52502ee0-ec80-11d0-89ab-00c04fc2972d");
pub const IID_IActiveDesktopP = &IID_IActiveDesktopP_Value;
pub const IActiveDesktopP = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
SetSafeMode: fn(
self: *const IActiveDesktopP,
dwFlags: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
EnsureUpdateHTML: fn(
self: *const IActiveDesktopP,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
SetScheme: fn(
self: *const IActiveDesktopP,
pwszSchemeName: [*:0]const u16,
dwFlags: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
GetScheme: fn(
self: *const IActiveDesktopP,
pwszSchemeName: [*:0]u16,
pdwcchBuffer: *u32,
dwFlags: 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 IActiveDesktopP_SetSafeMode(self: *const T, dwFlags: u32) callconv(.Inline) HRESULT {
return @ptrCast(*const IActiveDesktopP.VTable, self.vtable).SetSafeMode(@ptrCast(*const IActiveDesktopP, self), dwFlags);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IActiveDesktopP_EnsureUpdateHTML(self: *const T) callconv(.Inline) HRESULT {
return @ptrCast(*const IActiveDesktopP.VTable, self.vtable).EnsureUpdateHTML(@ptrCast(*const IActiveDesktopP, self));
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IActiveDesktopP_SetScheme(self: *const T, pwszSchemeName: [*:0]const u16, dwFlags: u32) callconv(.Inline) HRESULT {
return @ptrCast(*const IActiveDesktopP.VTable, self.vtable).SetScheme(@ptrCast(*const IActiveDesktopP, self), pwszSchemeName, dwFlags);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IActiveDesktopP_GetScheme(self: *const T, pwszSchemeName: [*:0]u16, pdwcchBuffer: *u32, dwFlags: u32) callconv(.Inline) HRESULT {
return @ptrCast(*const IActiveDesktopP.VTable, self.vtable).GetScheme(@ptrCast(*const IActiveDesktopP, self), pwszSchemeName, pdwcchBuffer, dwFlags);
}
};}
pub usingnamespace MethodMixin(@This());
};
// TODO: this type is limited to platform 'windows5.0'
const IID_IADesktopP2_Value = @import("../zig.zig").Guid.initString("b22754e2-4574-11d1-9888-006097deacf9");
pub const IID_IADesktopP2 = &IID_IADesktopP2_Value;
pub const IADesktopP2 = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
ReReadWallpaper: fn(
self: *const IADesktopP2,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
GetADObjectFlags: fn(
self: *const IADesktopP2,
pdwFlags: *u32,
dwMask: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
UpdateAllDesktopSubscriptions: fn(
self: *const IADesktopP2,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
MakeDynamicChanges: fn(
self: *const IADesktopP2,
pOleObj: *IOleObject,
) 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 IADesktopP2_ReReadWallpaper(self: *const T) callconv(.Inline) HRESULT {
return @ptrCast(*const IADesktopP2.VTable, self.vtable).ReReadWallpaper(@ptrCast(*const IADesktopP2, self));
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IADesktopP2_GetADObjectFlags(self: *const T, pdwFlags: *u32, dwMask: u32) callconv(.Inline) HRESULT {
return @ptrCast(*const IADesktopP2.VTable, self.vtable).GetADObjectFlags(@ptrCast(*const IADesktopP2, self), pdwFlags, dwMask);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IADesktopP2_UpdateAllDesktopSubscriptions(self: *const T) callconv(.Inline) HRESULT {
return @ptrCast(*const IADesktopP2.VTable, self.vtable).UpdateAllDesktopSubscriptions(@ptrCast(*const IADesktopP2, self));
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IADesktopP2_MakeDynamicChanges(self: *const T, pOleObj: *IOleObject) callconv(.Inline) HRESULT {
return @ptrCast(*const IADesktopP2.VTable, self.vtable).MakeDynamicChanges(@ptrCast(*const IADesktopP2, self), pOleObj);
}
};}
pub usingnamespace MethodMixin(@This());
};
//--------------------------------------------------------------------------------
// Section: Functions (0)
//--------------------------------------------------------------------------------
//--------------------------------------------------------------------------------
// Section: Unicode Aliases (0)
//--------------------------------------------------------------------------------
pub usingnamespace switch (@import("../zig.zig").unicode_mode) {
.ansi => struct {
},
.wide => struct {
},
.unspecified => if (@import("builtin").is_test) struct {
} else struct {
},
};
//--------------------------------------------------------------------------------
// Section: Imports (8)
//--------------------------------------------------------------------------------
const HKEY = @import("windows_programming.zig").HKEY;
const PWSTR = @import("system_services.zig").PWSTR;
const IUnknown = @import("com.zig").IUnknown;
const HRESULT = @import("com.zig").HRESULT;
const IMoniker = @import("com.zig").IMoniker;
const IStorage = @import("structured_storage.zig").IStorage;
const HWND = @import("windows_and_messaging.zig").HWND;
const IOleObject = @import("com.zig").IOleObject;
test {
@setEvalBranchQuota(
@import("std").meta.declarations(@This()).len * 3
);
// reference all the pub declarations
if (!@import("std").builtin.is_test) return;
inline for (@import("std").meta.declarations(@This())) |decl| {
if (decl.is_pub) {
_ = decl;
}
}
}

746
src/win32/api/location.zig Normal file
View File

@ -0,0 +1,746 @@
//! NOTE: this file is autogenerated, DO NOT MODIFY
//--------------------------------------------------------------------------------
// Section: Constants (1)
//--------------------------------------------------------------------------------
pub const LOCATION_API_VERSION = @as(u32, 1);
//--------------------------------------------------------------------------------
// Section: Types (23)
//--------------------------------------------------------------------------------
const CLSID_Location_Value = @import("../zig.zig").Guid.initString("e5b8e079-ee6d-4e33-a438-c87f2e959254");
pub const CLSID_Location = &CLSID_Location_Value;
const CLSID_DefaultLocation_Value = @import("../zig.zig").Guid.initString("8b7fbfe0-5cd7-494a-af8c-283a65707506");
pub const CLSID_DefaultLocation = &CLSID_DefaultLocation_Value;
const CLSID_LatLongReport_Value = @import("../zig.zig").Guid.initString("ed81c073-1f84-4ca8-a161-183c776bc651");
pub const CLSID_LatLongReport = &CLSID_LatLongReport_Value;
const CLSID_CivicAddressReport_Value = @import("../zig.zig").Guid.initString("d39e7bdd-7d05-46b8-8721-80cf035f57d7");
pub const CLSID_CivicAddressReport = &CLSID_CivicAddressReport_Value;
const CLSID_LatLongReportFactory_Value = @import("../zig.zig").Guid.initString("9dcc3cc8-8609-4863-bad4-03601f4c65e8");
pub const CLSID_LatLongReportFactory = &CLSID_LatLongReportFactory_Value;
const CLSID_CivicAddressReportFactory_Value = @import("../zig.zig").Guid.initString("2a11f42c-3e81-4ad4-9cbe-45579d89671a");
pub const CLSID_CivicAddressReportFactory = &CLSID_CivicAddressReportFactory_Value;
const CLSID_DispLatLongReport_Value = @import("../zig.zig").Guid.initString("7a7c3277-8f84-4636-95b2-ebb5507ff77e");
pub const CLSID_DispLatLongReport = &CLSID_DispLatLongReport_Value;
const CLSID_DispCivicAddressReport_Value = @import("../zig.zig").Guid.initString("4c596aec-8544-4082-ba9f-eb0a7d8e65c6");
pub const CLSID_DispCivicAddressReport = &CLSID_DispCivicAddressReport_Value;
pub const LOCATION_REPORT_STATUS = extern enum(i32) {
NOT_SUPPORTED = 0,
ERROR = 1,
ACCESS_DENIED = 2,
INITIALIZING = 3,
RUNNING = 4,
};
pub const REPORT_NOT_SUPPORTED = LOCATION_REPORT_STATUS.NOT_SUPPORTED;
pub const REPORT_ERROR = LOCATION_REPORT_STATUS.ERROR;
pub const REPORT_ACCESS_DENIED = LOCATION_REPORT_STATUS.ACCESS_DENIED;
pub const REPORT_INITIALIZING = LOCATION_REPORT_STATUS.INITIALIZING;
pub const REPORT_RUNNING = LOCATION_REPORT_STATUS.RUNNING;
// TODO: this type is limited to platform 'windows6.1'
const IID_ILocationReport_Value = @import("../zig.zig").Guid.initString("c8b7f7ee-75d0-4db9-b62d-7a0f369ca456");
pub const IID_ILocationReport = &IID_ILocationReport_Value;
pub const ILocationReport = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
GetSensorID: fn(
self: *const ILocationReport,
pSensorID: *Guid,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
GetTimestamp: fn(
self: *const ILocationReport,
pCreationTime: *SYSTEMTIME,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
GetValue: fn(
self: *const ILocationReport,
pKey: *const PROPERTYKEY,
pValue: *PROPVARIANT,
) 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 ILocationReport_GetSensorID(self: *const T, pSensorID: *Guid) callconv(.Inline) HRESULT {
return @ptrCast(*const ILocationReport.VTable, self.vtable).GetSensorID(@ptrCast(*const ILocationReport, self), pSensorID);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ILocationReport_GetTimestamp(self: *const T, pCreationTime: *SYSTEMTIME) callconv(.Inline) HRESULT {
return @ptrCast(*const ILocationReport.VTable, self.vtable).GetTimestamp(@ptrCast(*const ILocationReport, self), pCreationTime);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ILocationReport_GetValue(self: *const T, pKey: *const PROPERTYKEY, pValue: *PROPVARIANT) callconv(.Inline) HRESULT {
return @ptrCast(*const ILocationReport.VTable, self.vtable).GetValue(@ptrCast(*const ILocationReport, self), pKey, pValue);
}
};}
pub usingnamespace MethodMixin(@This());
};
// TODO: this type is limited to platform 'windows6.1'
const IID_ILatLongReport_Value = @import("../zig.zig").Guid.initString("7fed806d-0ef8-4f07-80ac-36a0beae3134");
pub const IID_ILatLongReport = &IID_ILatLongReport_Value;
pub const ILatLongReport = extern struct {
pub const VTable = extern struct {
base: ILocationReport.VTable,
GetLatitude: fn(
self: *const ILatLongReport,
pLatitude: *f64,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
GetLongitude: fn(
self: *const ILatLongReport,
pLongitude: *f64,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
GetErrorRadius: fn(
self: *const ILatLongReport,
pErrorRadius: *f64,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
GetAltitude: fn(
self: *const ILatLongReport,
pAltitude: *f64,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
GetAltitudeError: fn(
self: *const ILatLongReport,
pAltitudeError: *f64,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace ILocationReport.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ILatLongReport_GetLatitude(self: *const T, pLatitude: *f64) callconv(.Inline) HRESULT {
return @ptrCast(*const ILatLongReport.VTable, self.vtable).GetLatitude(@ptrCast(*const ILatLongReport, self), pLatitude);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ILatLongReport_GetLongitude(self: *const T, pLongitude: *f64) callconv(.Inline) HRESULT {
return @ptrCast(*const ILatLongReport.VTable, self.vtable).GetLongitude(@ptrCast(*const ILatLongReport, self), pLongitude);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ILatLongReport_GetErrorRadius(self: *const T, pErrorRadius: *f64) callconv(.Inline) HRESULT {
return @ptrCast(*const ILatLongReport.VTable, self.vtable).GetErrorRadius(@ptrCast(*const ILatLongReport, self), pErrorRadius);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ILatLongReport_GetAltitude(self: *const T, pAltitude: *f64) callconv(.Inline) HRESULT {
return @ptrCast(*const ILatLongReport.VTable, self.vtable).GetAltitude(@ptrCast(*const ILatLongReport, self), pAltitude);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ILatLongReport_GetAltitudeError(self: *const T, pAltitudeError: *f64) callconv(.Inline) HRESULT {
return @ptrCast(*const ILatLongReport.VTable, self.vtable).GetAltitudeError(@ptrCast(*const ILatLongReport, self), pAltitudeError);
}
};}
pub usingnamespace MethodMixin(@This());
};
// TODO: this type is limited to platform 'windows6.1'
const IID_ICivicAddressReport_Value = @import("../zig.zig").Guid.initString("c0b19f70-4adf-445d-87f2-cad8fd711792");
pub const IID_ICivicAddressReport = &IID_ICivicAddressReport_Value;
pub const ICivicAddressReport = extern struct {
pub const VTable = extern struct {
base: ILocationReport.VTable,
GetAddressLine1: fn(
self: *const ICivicAddressReport,
pbstrAddress1: ?*BSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
GetAddressLine2: fn(
self: *const ICivicAddressReport,
pbstrAddress2: ?*BSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
GetCity: fn(
self: *const ICivicAddressReport,
pbstrCity: ?*BSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
GetStateProvince: fn(
self: *const ICivicAddressReport,
pbstrStateProvince: ?*BSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
GetPostalCode: fn(
self: *const ICivicAddressReport,
pbstrPostalCode: ?*BSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
GetCountryRegion: fn(
self: *const ICivicAddressReport,
pbstrCountryRegion: ?*BSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
GetDetailLevel: fn(
self: *const ICivicAddressReport,
pDetailLevel: *u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace ILocationReport.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ICivicAddressReport_GetAddressLine1(self: *const T, pbstrAddress1: ?*BSTR) callconv(.Inline) HRESULT {
return @ptrCast(*const ICivicAddressReport.VTable, self.vtable).GetAddressLine1(@ptrCast(*const ICivicAddressReport, self), pbstrAddress1);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ICivicAddressReport_GetAddressLine2(self: *const T, pbstrAddress2: ?*BSTR) callconv(.Inline) HRESULT {
return @ptrCast(*const ICivicAddressReport.VTable, self.vtable).GetAddressLine2(@ptrCast(*const ICivicAddressReport, self), pbstrAddress2);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ICivicAddressReport_GetCity(self: *const T, pbstrCity: ?*BSTR) callconv(.Inline) HRESULT {
return @ptrCast(*const ICivicAddressReport.VTable, self.vtable).GetCity(@ptrCast(*const ICivicAddressReport, self), pbstrCity);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ICivicAddressReport_GetStateProvince(self: *const T, pbstrStateProvince: ?*BSTR) callconv(.Inline) HRESULT {
return @ptrCast(*const ICivicAddressReport.VTable, self.vtable).GetStateProvince(@ptrCast(*const ICivicAddressReport, self), pbstrStateProvince);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ICivicAddressReport_GetPostalCode(self: *const T, pbstrPostalCode: ?*BSTR) callconv(.Inline) HRESULT {
return @ptrCast(*const ICivicAddressReport.VTable, self.vtable).GetPostalCode(@ptrCast(*const ICivicAddressReport, self), pbstrPostalCode);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ICivicAddressReport_GetCountryRegion(self: *const T, pbstrCountryRegion: ?*BSTR) callconv(.Inline) HRESULT {
return @ptrCast(*const ICivicAddressReport.VTable, self.vtable).GetCountryRegion(@ptrCast(*const ICivicAddressReport, self), pbstrCountryRegion);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ICivicAddressReport_GetDetailLevel(self: *const T, pDetailLevel: *u32) callconv(.Inline) HRESULT {
return @ptrCast(*const ICivicAddressReport.VTable, self.vtable).GetDetailLevel(@ptrCast(*const ICivicAddressReport, self), pDetailLevel);
}
};}
pub usingnamespace MethodMixin(@This());
};
// TODO: this type is limited to platform 'windows6.1'
const IID_ILocation_Value = @import("../zig.zig").Guid.initString("ab2ece69-56d9-4f28-b525-de1b0ee44237");
pub const IID_ILocation = &IID_ILocation_Value;
pub const ILocation = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
RegisterForReport: fn(
self: *const ILocation,
pEvents: ?*ILocationEvents,
reportType: *const Guid,
dwRequestedReportInterval: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
UnregisterForReport: fn(
self: *const ILocation,
reportType: *const Guid,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
GetReport: fn(
self: *const ILocation,
reportType: *const Guid,
ppLocationReport: ?*?*ILocationReport,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
GetReportStatus: fn(
self: *const ILocation,
reportType: *const Guid,
pStatus: *LOCATION_REPORT_STATUS,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
GetReportInterval: fn(
self: *const ILocation,
reportType: *const Guid,
pMilliseconds: *u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
SetReportInterval: fn(
self: *const ILocation,
reportType: *const Guid,
millisecondsRequested: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
GetDesiredAccuracy: fn(
self: *const ILocation,
reportType: *const Guid,
pDesiredAccuracy: *LOCATION_DESIRED_ACCURACY,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
SetDesiredAccuracy: fn(
self: *const ILocation,
reportType: *const Guid,
desiredAccuracy: LOCATION_DESIRED_ACCURACY,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
RequestPermissions: fn(
self: *const ILocation,
hParent: HWND,
pReportTypes: [*]Guid,
count: u32,
fModal: 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 ILocation_RegisterForReport(self: *const T, pEvents: ?*ILocationEvents, reportType: *const Guid, dwRequestedReportInterval: u32) callconv(.Inline) HRESULT {
return @ptrCast(*const ILocation.VTable, self.vtable).RegisterForReport(@ptrCast(*const ILocation, self), pEvents, reportType, dwRequestedReportInterval);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ILocation_UnregisterForReport(self: *const T, reportType: *const Guid) callconv(.Inline) HRESULT {
return @ptrCast(*const ILocation.VTable, self.vtable).UnregisterForReport(@ptrCast(*const ILocation, self), reportType);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ILocation_GetReport(self: *const T, reportType: *const Guid, ppLocationReport: ?*?*ILocationReport) callconv(.Inline) HRESULT {
return @ptrCast(*const ILocation.VTable, self.vtable).GetReport(@ptrCast(*const ILocation, self), reportType, ppLocationReport);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ILocation_GetReportStatus(self: *const T, reportType: *const Guid, pStatus: *LOCATION_REPORT_STATUS) callconv(.Inline) HRESULT {
return @ptrCast(*const ILocation.VTable, self.vtable).GetReportStatus(@ptrCast(*const ILocation, self), reportType, pStatus);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ILocation_GetReportInterval(self: *const T, reportType: *const Guid, pMilliseconds: *u32) callconv(.Inline) HRESULT {
return @ptrCast(*const ILocation.VTable, self.vtable).GetReportInterval(@ptrCast(*const ILocation, self), reportType, pMilliseconds);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ILocation_SetReportInterval(self: *const T, reportType: *const Guid, millisecondsRequested: u32) callconv(.Inline) HRESULT {
return @ptrCast(*const ILocation.VTable, self.vtable).SetReportInterval(@ptrCast(*const ILocation, self), reportType, millisecondsRequested);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ILocation_GetDesiredAccuracy(self: *const T, reportType: *const Guid, pDesiredAccuracy: *LOCATION_DESIRED_ACCURACY) callconv(.Inline) HRESULT {
return @ptrCast(*const ILocation.VTable, self.vtable).GetDesiredAccuracy(@ptrCast(*const ILocation, self), reportType, pDesiredAccuracy);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ILocation_SetDesiredAccuracy(self: *const T, reportType: *const Guid, desiredAccuracy: LOCATION_DESIRED_ACCURACY) callconv(.Inline) HRESULT {
return @ptrCast(*const ILocation.VTable, self.vtable).SetDesiredAccuracy(@ptrCast(*const ILocation, self), reportType, desiredAccuracy);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ILocation_RequestPermissions(self: *const T, hParent: HWND, pReportTypes: [*]Guid, count: u32, fModal: BOOL) callconv(.Inline) HRESULT {
return @ptrCast(*const ILocation.VTable, self.vtable).RequestPermissions(@ptrCast(*const ILocation, self), hParent, pReportTypes, count, fModal);
}
};}
pub usingnamespace MethodMixin(@This());
};
// TODO: this type is limited to platform 'windows8.0'
const IID_ILocationPower_Value = @import("../zig.zig").Guid.initString("193e7729-ab6b-4b12-8617-7596e1bb191c");
pub const IID_ILocationPower = &IID_ILocationPower_Value;
pub const ILocationPower = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
Connect: fn(
self: *const ILocationPower,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
Disconnect: fn(
self: *const ILocationPower,
) 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 ILocationPower_Connect(self: *const T) callconv(.Inline) HRESULT {
return @ptrCast(*const ILocationPower.VTable, self.vtable).Connect(@ptrCast(*const ILocationPower, self));
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ILocationPower_Disconnect(self: *const T) callconv(.Inline) HRESULT {
return @ptrCast(*const ILocationPower.VTable, self.vtable).Disconnect(@ptrCast(*const ILocationPower, self));
}
};}
pub usingnamespace MethodMixin(@This());
};
// TODO: this type is limited to platform 'windows6.1'
const IID_IDefaultLocation_Value = @import("../zig.zig").Guid.initString("a65af77e-969a-4a2e-8aca-33bb7cbb1235");
pub const IID_IDefaultLocation = &IID_IDefaultLocation_Value;
pub const IDefaultLocation = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
SetReport: fn(
self: *const IDefaultLocation,
reportType: *const Guid,
pLocationReport: ?*ILocationReport,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
GetReport: fn(
self: *const IDefaultLocation,
reportType: *const Guid,
ppLocationReport: ?*?*ILocationReport,
) 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 IDefaultLocation_SetReport(self: *const T, reportType: *const Guid, pLocationReport: ?*ILocationReport) callconv(.Inline) HRESULT {
return @ptrCast(*const IDefaultLocation.VTable, self.vtable).SetReport(@ptrCast(*const IDefaultLocation, self), reportType, pLocationReport);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IDefaultLocation_GetReport(self: *const T, reportType: *const Guid, ppLocationReport: ?*?*ILocationReport) callconv(.Inline) HRESULT {
return @ptrCast(*const IDefaultLocation.VTable, self.vtable).GetReport(@ptrCast(*const IDefaultLocation, self), reportType, ppLocationReport);
}
};}
pub usingnamespace MethodMixin(@This());
};
// TODO: this type is limited to platform 'windows6.1'
const IID_ILocationEvents_Value = @import("../zig.zig").Guid.initString("cae02bbf-798b-4508-a207-35a7906dc73d");
pub const IID_ILocationEvents = &IID_ILocationEvents_Value;
pub const ILocationEvents = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
OnLocationChanged: fn(
self: *const ILocationEvents,
reportType: *const Guid,
pLocationReport: ?*ILocationReport,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
OnStatusChanged: fn(
self: *const ILocationEvents,
reportType: *const Guid,
newStatus: LOCATION_REPORT_STATUS,
) 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 ILocationEvents_OnLocationChanged(self: *const T, reportType: *const Guid, pLocationReport: ?*ILocationReport) callconv(.Inline) HRESULT {
return @ptrCast(*const ILocationEvents.VTable, self.vtable).OnLocationChanged(@ptrCast(*const ILocationEvents, self), reportType, pLocationReport);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ILocationEvents_OnStatusChanged(self: *const T, reportType: *const Guid, newStatus: LOCATION_REPORT_STATUS) callconv(.Inline) HRESULT {
return @ptrCast(*const ILocationEvents.VTable, self.vtable).OnStatusChanged(@ptrCast(*const ILocationEvents, self), reportType, newStatus);
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IDispLatLongReport_Value = @import("../zig.zig").Guid.initString("8ae32723-389b-4a11-9957-5bdd48fc9617");
pub const IID_IDispLatLongReport = &IID_IDispLatLongReport_Value;
pub const IDispLatLongReport = extern struct {
pub const VTable = extern struct {
base: IDispatch.VTable,
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_Latitude: fn(
self: *const IDispLatLongReport,
pVal: *f64,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_Longitude: fn(
self: *const IDispLatLongReport,
pVal: *f64,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_ErrorRadius: fn(
self: *const IDispLatLongReport,
pVal: *f64,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_Altitude: fn(
self: *const IDispLatLongReport,
pVal: *f64,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_AltitudeError: fn(
self: *const IDispLatLongReport,
pVal: *f64,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_Timestamp: fn(
self: *const IDispLatLongReport,
pVal: *f64,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IDispatch.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IDispLatLongReport_get_Latitude(self: *const T, pVal: *f64) callconv(.Inline) HRESULT {
return @ptrCast(*const IDispLatLongReport.VTable, self.vtable).get_Latitude(@ptrCast(*const IDispLatLongReport, self), pVal);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IDispLatLongReport_get_Longitude(self: *const T, pVal: *f64) callconv(.Inline) HRESULT {
return @ptrCast(*const IDispLatLongReport.VTable, self.vtable).get_Longitude(@ptrCast(*const IDispLatLongReport, self), pVal);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IDispLatLongReport_get_ErrorRadius(self: *const T, pVal: *f64) callconv(.Inline) HRESULT {
return @ptrCast(*const IDispLatLongReport.VTable, self.vtable).get_ErrorRadius(@ptrCast(*const IDispLatLongReport, self), pVal);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IDispLatLongReport_get_Altitude(self: *const T, pVal: *f64) callconv(.Inline) HRESULT {
return @ptrCast(*const IDispLatLongReport.VTable, self.vtable).get_Altitude(@ptrCast(*const IDispLatLongReport, self), pVal);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IDispLatLongReport_get_AltitudeError(self: *const T, pVal: *f64) callconv(.Inline) HRESULT {
return @ptrCast(*const IDispLatLongReport.VTable, self.vtable).get_AltitudeError(@ptrCast(*const IDispLatLongReport, self), pVal);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IDispLatLongReport_get_Timestamp(self: *const T, pVal: *f64) callconv(.Inline) HRESULT {
return @ptrCast(*const IDispLatLongReport.VTable, self.vtable).get_Timestamp(@ptrCast(*const IDispLatLongReport, self), pVal);
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_IDispCivicAddressReport_Value = @import("../zig.zig").Guid.initString("16ff1a34-9e30-42c3-b44d-e22513b5767a");
pub const IID_IDispCivicAddressReport = &IID_IDispCivicAddressReport_Value;
pub const IDispCivicAddressReport = extern struct {
pub const VTable = extern struct {
base: IDispatch.VTable,
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_AddressLine1: fn(
self: *const IDispCivicAddressReport,
pAddress1: ?*BSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_AddressLine2: fn(
self: *const IDispCivicAddressReport,
pAddress2: ?*BSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_City: fn(
self: *const IDispCivicAddressReport,
pCity: ?*BSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_StateProvince: fn(
self: *const IDispCivicAddressReport,
pStateProvince: ?*BSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_PostalCode: fn(
self: *const IDispCivicAddressReport,
pPostalCode: ?*BSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_CountryRegion: fn(
self: *const IDispCivicAddressReport,
pCountryRegion: ?*BSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_DetailLevel: fn(
self: *const IDispCivicAddressReport,
pDetailLevel: *u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_Timestamp: fn(
self: *const IDispCivicAddressReport,
pVal: *f64,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IDispatch.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IDispCivicAddressReport_get_AddressLine1(self: *const T, pAddress1: ?*BSTR) callconv(.Inline) HRESULT {
return @ptrCast(*const IDispCivicAddressReport.VTable, self.vtable).get_AddressLine1(@ptrCast(*const IDispCivicAddressReport, self), pAddress1);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IDispCivicAddressReport_get_AddressLine2(self: *const T, pAddress2: ?*BSTR) callconv(.Inline) HRESULT {
return @ptrCast(*const IDispCivicAddressReport.VTable, self.vtable).get_AddressLine2(@ptrCast(*const IDispCivicAddressReport, self), pAddress2);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IDispCivicAddressReport_get_City(self: *const T, pCity: ?*BSTR) callconv(.Inline) HRESULT {
return @ptrCast(*const IDispCivicAddressReport.VTable, self.vtable).get_City(@ptrCast(*const IDispCivicAddressReport, self), pCity);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IDispCivicAddressReport_get_StateProvince(self: *const T, pStateProvince: ?*BSTR) callconv(.Inline) HRESULT {
return @ptrCast(*const IDispCivicAddressReport.VTable, self.vtable).get_StateProvince(@ptrCast(*const IDispCivicAddressReport, self), pStateProvince);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IDispCivicAddressReport_get_PostalCode(self: *const T, pPostalCode: ?*BSTR) callconv(.Inline) HRESULT {
return @ptrCast(*const IDispCivicAddressReport.VTable, self.vtable).get_PostalCode(@ptrCast(*const IDispCivicAddressReport, self), pPostalCode);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IDispCivicAddressReport_get_CountryRegion(self: *const T, pCountryRegion: ?*BSTR) callconv(.Inline) HRESULT {
return @ptrCast(*const IDispCivicAddressReport.VTable, self.vtable).get_CountryRegion(@ptrCast(*const IDispCivicAddressReport, self), pCountryRegion);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IDispCivicAddressReport_get_DetailLevel(self: *const T, pDetailLevel: *u32) callconv(.Inline) HRESULT {
return @ptrCast(*const IDispCivicAddressReport.VTable, self.vtable).get_DetailLevel(@ptrCast(*const IDispCivicAddressReport, self), pDetailLevel);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IDispCivicAddressReport_get_Timestamp(self: *const T, pVal: *f64) callconv(.Inline) HRESULT {
return @ptrCast(*const IDispCivicAddressReport.VTable, self.vtable).get_Timestamp(@ptrCast(*const IDispCivicAddressReport, self), pVal);
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_ILocationReportFactory_Value = @import("../zig.zig").Guid.initString("2daec322-90b2-47e4-bb08-0da841935a6b");
pub const IID_ILocationReportFactory = &IID_ILocationReportFactory_Value;
pub const ILocationReportFactory = extern struct {
pub const VTable = extern struct {
base: IDispatch.VTable,
ListenForReports: fn(
self: *const ILocationReportFactory,
requestedReportInterval: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
StopListeningForReports: fn(
self: *const ILocationReportFactory,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_Status: fn(
self: *const ILocationReportFactory,
pVal: *u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_ReportInterval: fn(
self: *const ILocationReportFactory,
pMilliseconds: *u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
put_ReportInterval: fn(
self: *const ILocationReportFactory,
millisecondsRequested: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_DesiredAccuracy: fn(
self: *const ILocationReportFactory,
pDesiredAccuracy: *u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
put_DesiredAccuracy: fn(
self: *const ILocationReportFactory,
desiredAccuracy: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
RequestPermissions: fn(
self: *const ILocationReportFactory,
hWnd: *u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IDispatch.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ILocationReportFactory_ListenForReports(self: *const T, requestedReportInterval: u32) callconv(.Inline) HRESULT {
return @ptrCast(*const ILocationReportFactory.VTable, self.vtable).ListenForReports(@ptrCast(*const ILocationReportFactory, self), requestedReportInterval);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ILocationReportFactory_StopListeningForReports(self: *const T) callconv(.Inline) HRESULT {
return @ptrCast(*const ILocationReportFactory.VTable, self.vtable).StopListeningForReports(@ptrCast(*const ILocationReportFactory, self));
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ILocationReportFactory_get_Status(self: *const T, pVal: *u32) callconv(.Inline) HRESULT {
return @ptrCast(*const ILocationReportFactory.VTable, self.vtable).get_Status(@ptrCast(*const ILocationReportFactory, self), pVal);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ILocationReportFactory_get_ReportInterval(self: *const T, pMilliseconds: *u32) callconv(.Inline) HRESULT {
return @ptrCast(*const ILocationReportFactory.VTable, self.vtable).get_ReportInterval(@ptrCast(*const ILocationReportFactory, self), pMilliseconds);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ILocationReportFactory_put_ReportInterval(self: *const T, millisecondsRequested: u32) callconv(.Inline) HRESULT {
return @ptrCast(*const ILocationReportFactory.VTable, self.vtable).put_ReportInterval(@ptrCast(*const ILocationReportFactory, self), millisecondsRequested);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ILocationReportFactory_get_DesiredAccuracy(self: *const T, pDesiredAccuracy: *u32) callconv(.Inline) HRESULT {
return @ptrCast(*const ILocationReportFactory.VTable, self.vtable).get_DesiredAccuracy(@ptrCast(*const ILocationReportFactory, self), pDesiredAccuracy);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ILocationReportFactory_put_DesiredAccuracy(self: *const T, desiredAccuracy: u32) callconv(.Inline) HRESULT {
return @ptrCast(*const ILocationReportFactory.VTable, self.vtable).put_DesiredAccuracy(@ptrCast(*const ILocationReportFactory, self), desiredAccuracy);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ILocationReportFactory_RequestPermissions(self: *const T, hWnd: *u32) callconv(.Inline) HRESULT {
return @ptrCast(*const ILocationReportFactory.VTable, self.vtable).RequestPermissions(@ptrCast(*const ILocationReportFactory, self), hWnd);
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_ILatLongReportFactory_Value = @import("../zig.zig").Guid.initString("3f0804cb-b114-447d-83dd-390174ebb082");
pub const IID_ILatLongReportFactory = &IID_ILatLongReportFactory_Value;
pub const ILatLongReportFactory = extern struct {
pub const VTable = extern struct {
base: ILocationReportFactory.VTable,
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_LatLongReport: fn(
self: *const ILatLongReportFactory,
pVal: ?*?*IDispLatLongReport,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace ILocationReportFactory.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ILatLongReportFactory_get_LatLongReport(self: *const T, pVal: ?*?*IDispLatLongReport) callconv(.Inline) HRESULT {
return @ptrCast(*const ILatLongReportFactory.VTable, self.vtable).get_LatLongReport(@ptrCast(*const ILatLongReportFactory, self), pVal);
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_ICivicAddressReportFactory_Value = @import("../zig.zig").Guid.initString("bf773b93-c64f-4bee-beb2-67c0b8df66e0");
pub const IID_ICivicAddressReportFactory = &IID_ICivicAddressReportFactory_Value;
pub const ICivicAddressReportFactory = extern struct {
pub const VTable = extern struct {
base: ILocationReportFactory.VTable,
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_CivicAddressReport: fn(
self: *const ICivicAddressReportFactory,
pVal: ?*?*IDispCivicAddressReport,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace ILocationReportFactory.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ICivicAddressReportFactory_get_CivicAddressReport(self: *const T, pVal: ?*?*IDispCivicAddressReport) callconv(.Inline) HRESULT {
return @ptrCast(*const ICivicAddressReportFactory.VTable, self.vtable).get_CivicAddressReport(@ptrCast(*const ICivicAddressReportFactory, self), pVal);
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID__ILatLongReportFactoryEvents_Value = @import("../zig.zig").Guid.initString("16ee6cb7-ab3c-424b-849f-269be551fcbc");
pub const IID__ILatLongReportFactoryEvents = &IID__ILatLongReportFactoryEvents_Value;
pub const _ILatLongReportFactoryEvents = extern struct {
pub const VTable = extern struct {
base: IDispatch.VTable,
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IDispatch.MethodMixin(T);
};}
pub usingnamespace MethodMixin(@This());
};
const IID__ICivicAddressReportFactoryEvents_Value = @import("../zig.zig").Guid.initString("c96039ff-72ec-4617-89bd-84d88bedc722");
pub const IID__ICivicAddressReportFactoryEvents = &IID__ICivicAddressReportFactoryEvents_Value;
pub const _ICivicAddressReportFactoryEvents = extern struct {
pub const VTable = extern struct {
base: IDispatch.VTable,
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IDispatch.MethodMixin(T);
};}
pub usingnamespace MethodMixin(@This());
};
//--------------------------------------------------------------------------------
// Section: Functions (0)
//--------------------------------------------------------------------------------
//--------------------------------------------------------------------------------
// Section: Unicode Aliases (0)
//--------------------------------------------------------------------------------
pub usingnamespace switch (@import("../zig.zig").unicode_mode) {
.ansi => struct {
},
.wide => struct {
},
.unspecified => if (@import("builtin").is_test) struct {
} else struct {
},
};
//--------------------------------------------------------------------------------
// Section: Imports (11)
//--------------------------------------------------------------------------------
const Guid = @import("../zig.zig").Guid;
const IDispatch = @import("automation.zig").IDispatch;
const IUnknown = @import("com.zig").IUnknown;
const SYSTEMTIME = @import("windows_programming.zig").SYSTEMTIME;
const HRESULT = @import("com.zig").HRESULT;
const PROPERTYKEY = @import("windows_properties_system.zig").PROPERTYKEY;
const PROPVARIANT = @import("structured_storage.zig").PROPVARIANT;
const BSTR = @import("automation.zig").BSTR;
const LOCATION_DESIRED_ACCURACY = @import("sensors.zig").LOCATION_DESIRED_ACCURACY;
const BOOL = @import("system_services.zig").BOOL;
const HWND = @import("windows_and_messaging.zig").HWND;
test {
@setEvalBranchQuota(
@import("std").meta.declarations(@This()).len * 3
);
// reference all the pub declarations
if (!@import("std").builtin.is_test) return;
inline for (@import("std").meta.declarations(@This())) |decl| {
if (decl.is_pub) {
_ = decl;
}
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,197 @@
//! NOTE: this file is autogenerated, DO NOT MODIFY
//--------------------------------------------------------------------------------
// Section: Constants (5)
//--------------------------------------------------------------------------------
pub const MS_SHOWMAGNIFIEDCURSOR = @as(i32, 1);
pub const MS_CLIPAROUNDCURSOR = @as(i32, 2);
pub const MS_INVERTCOLORS = @as(i32, 4);
pub const MW_FILTERMODE_EXCLUDE = @as(u32, 0);
pub const MW_FILTERMODE_INCLUDE = @as(u32, 1);
//--------------------------------------------------------------------------------
// Section: Types (4)
//--------------------------------------------------------------------------------
pub const MAGTRANSFORM = extern struct {
v: [9]f32,
};
pub const MAGIMAGEHEADER = extern struct {
width: u32,
height: u32,
format: Guid,
stride: u32,
offset: u32,
cbSize: usize,
};
pub const MAGCOLOREFFECT = extern struct {
transform: [25]f32,
};
pub const MagImageScalingCallback = fn(
hwnd: HWND,
srcdata: *c_void,
srcheader: MAGIMAGEHEADER,
destdata: *c_void,
destheader: MAGIMAGEHEADER,
unclipped: RECT,
clipped: RECT,
dirty: HRGN,
) callconv(@import("std").os.windows.WINAPI) BOOL;
//--------------------------------------------------------------------------------
// Section: Functions (19)
//--------------------------------------------------------------------------------
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "MAGNIFICATION" fn MagInitialize(
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "MAGNIFICATION" fn MagUninitialize(
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "MAGNIFICATION" fn MagSetWindowSource(
hwnd: HWND,
rect: RECT,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "MAGNIFICATION" fn MagGetWindowSource(
hwnd: HWND,
pRect: *RECT,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "MAGNIFICATION" fn MagSetWindowTransform(
hwnd: HWND,
pTransform: *MAGTRANSFORM,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "MAGNIFICATION" fn MagGetWindowTransform(
hwnd: HWND,
pTransform: *MAGTRANSFORM,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "MAGNIFICATION" fn MagSetWindowFilterList(
hwnd: HWND,
dwFilterMode: u32,
count: i32,
pHWND: *HWND,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "MAGNIFICATION" fn MagGetWindowFilterList(
hwnd: HWND,
pdwFilterMode: *u32,
count: i32,
pHWND: *HWND,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "MAGNIFICATION" fn MagSetImageScalingCallback(
hwnd: HWND,
callback: MagImageScalingCallback,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "MAGNIFICATION" fn MagGetImageScalingCallback(
hwnd: HWND,
) callconv(@import("std").os.windows.WINAPI) MagImageScalingCallback;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "MAGNIFICATION" fn MagSetColorEffect(
hwnd: HWND,
pEffect: *MAGCOLOREFFECT,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "MAGNIFICATION" fn MagGetColorEffect(
hwnd: HWND,
pEffect: *MAGCOLOREFFECT,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows8.0'
pub extern "MAGNIFICATION" fn MagSetFullscreenTransform(
magLevel: f32,
xOffset: i32,
yOffset: i32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows8.0'
pub extern "MAGNIFICATION" fn MagGetFullscreenTransform(
pMagLevel: *f32,
pxOffset: *i32,
pyOffset: *i32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows8.0'
pub extern "MAGNIFICATION" fn MagSetFullscreenColorEffect(
pEffect: *MAGCOLOREFFECT,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows8.0'
pub extern "MAGNIFICATION" fn MagGetFullscreenColorEffect(
pEffect: *MAGCOLOREFFECT,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows8.0'
pub extern "MAGNIFICATION" fn MagSetInputTransform(
fEnabled: BOOL,
pRectSource: *const RECT,
pRectDest: *const RECT,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows8.0'
pub extern "MAGNIFICATION" fn MagGetInputTransform(
pfEnabled: *BOOL,
pRectSource: *RECT,
pRectDest: *RECT,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows8.0'
pub extern "MAGNIFICATION" fn MagShowSystemCursor(
fShowCursor: BOOL,
) callconv(@import("std").os.windows.WINAPI) BOOL;
//--------------------------------------------------------------------------------
// Section: Unicode Aliases (0)
//--------------------------------------------------------------------------------
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 RECT = @import("display_devices.zig").RECT;
const HRGN = @import("gdi.zig").HRGN;
const BOOL = @import("system_services.zig").BOOL;
const HWND = @import("windows_and_messaging.zig").HWND;
test {
// The following '_ = <FuncPtrType>' lines are a workaround for https://github.com/ziglang/zig/issues/4476
if (@hasDecl(@This(), "MagImageScalingCallback")) { _ = MagImageScalingCallback; }
@setEvalBranchQuota(
@import("std").meta.declarations(@This()).len * 3
);
// reference all the pub declarations
if (!@import("std").builtin.is_test) return;
inline for (@import("std").meta.declarations(@This())) |decl| {
if (decl.is_pub) {
_ = decl;
}
}
}

248
src/win32/api/mapi.zig Normal file
View File

@ -0,0 +1,248 @@
//! NOTE: this file is autogenerated, DO NOT MODIFY
//--------------------------------------------------------------------------------
// Section: Constants (0)
//--------------------------------------------------------------------------------
//--------------------------------------------------------------------------------
// Section: Types (20)
//--------------------------------------------------------------------------------
pub const MapiFileDesc = extern struct {
ulReserved: u32,
flFlags: u32,
nPosition: u32,
lpszPathName: PSTR,
lpszFileName: PSTR,
lpFileType: *c_void,
};
pub const MapiFileDescW = extern struct {
ulReserved: u32,
flFlags: u32,
nPosition: u32,
lpszPathName: PWSTR,
lpszFileName: PWSTR,
lpFileType: *c_void,
};
pub const MapiFileTagExt = extern struct {
ulReserved: u32,
cbTag: u32,
lpTag: *u8,
cbEncoding: u32,
lpEncoding: *u8,
};
pub const MapiRecipDesc = extern struct {
ulReserved: u32,
ulRecipClass: u32,
lpszName: PSTR,
lpszAddress: PSTR,
ulEIDSize: u32,
lpEntryID: *c_void,
};
pub const MapiRecipDescW = extern struct {
ulReserved: u32,
ulRecipClass: u32,
lpszName: PWSTR,
lpszAddress: PWSTR,
ulEIDSize: u32,
lpEntryID: *c_void,
};
pub const MapiMessage = extern struct {
ulReserved: u32,
lpszSubject: PSTR,
lpszNoteText: PSTR,
lpszMessageType: PSTR,
lpszDateReceived: PSTR,
lpszConversationID: PSTR,
flFlags: u32,
lpOriginator: *MapiRecipDesc,
nRecipCount: u32,
lpRecips: *MapiRecipDesc,
nFileCount: u32,
lpFiles: *MapiFileDesc,
};
pub const MapiMessageW = extern struct {
ulReserved: u32,
lpszSubject: PWSTR,
lpszNoteText: PWSTR,
lpszMessageType: PWSTR,
lpszDateReceived: PWSTR,
lpszConversationID: PWSTR,
flFlags: u32,
lpOriginator: *MapiRecipDescW,
nRecipCount: u32,
lpRecips: *MapiRecipDescW,
nFileCount: u32,
lpFiles: *MapiFileDescW,
};
pub const LPMAPILOGON = fn(
ulUIParam: usize,
lpszProfileName: ?PSTR,
lpszPassword: ?PSTR,
flFlags: u32,
ulReserved: u32,
lplhSession: *usize,
) callconv(@import("std").os.windows.WINAPI) u32;
pub const LPMAPILOGOFF = fn(
lhSession: usize,
ulUIParam: usize,
flFlags: u32,
ulReserved: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
pub const LPMAPISENDMAIL = fn(
lhSession: usize,
ulUIParam: usize,
lpMessage: *MapiMessage,
flFlags: u32,
ulReserved: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
pub const LPMAPISENDMAILW = fn(
lhSession: usize,
ulUIParam: usize,
lpMessage: *MapiMessageW,
flFlags: u32,
ulReserved: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
pub const LPMAPISENDDOCUMENTS = fn(
ulUIParam: usize,
lpszDelimChar: PSTR,
lpszFilePaths: PSTR,
lpszFileNames: PSTR,
ulReserved: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
pub const LPMAPIFINDNEXT = fn(
lhSession: usize,
ulUIParam: usize,
lpszMessageType: PSTR,
lpszSeedMessageID: PSTR,
flFlags: u32,
ulReserved: u32,
lpszMessageID: PSTR,
) callconv(@import("std").os.windows.WINAPI) u32;
pub const LPMAPIREADMAIL = fn(
lhSession: usize,
ulUIParam: usize,
lpszMessageID: PSTR,
flFlags: u32,
ulReserved: u32,
lppMessage: **MapiMessage,
) callconv(@import("std").os.windows.WINAPI) u32;
pub const LPMAPISAVEMAIL = fn(
lhSession: usize,
ulUIParam: usize,
lpMessage: *MapiMessage,
flFlags: u32,
ulReserved: u32,
lpszMessageID: PSTR,
) callconv(@import("std").os.windows.WINAPI) u32;
pub const LPMAPIDELETEMAIL = fn(
lhSession: usize,
ulUIParam: usize,
lpszMessageID: PSTR,
flFlags: u32,
ulReserved: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
pub const LPMAPIFREEBUFFER = fn(
pv: *c_void,
) callconv(@import("std").os.windows.WINAPI) u32;
pub const LPMAPIADDRESS = fn(
lhSession: usize,
ulUIParam: usize,
lpszCaption: PSTR,
nEditFields: u32,
lpszLabels: PSTR,
nRecips: u32,
lpRecips: *MapiRecipDesc,
flFlags: u32,
ulReserved: u32,
lpnNewRecips: *u32,
lppNewRecips: **MapiRecipDesc,
) callconv(@import("std").os.windows.WINAPI) u32;
pub const LPMAPIDETAILS = fn(
lhSession: usize,
ulUIParam: usize,
lpRecip: *MapiRecipDesc,
flFlags: u32,
ulReserved: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
pub const LPMAPIRESOLVENAME = fn(
lhSession: usize,
ulUIParam: usize,
lpszName: PSTR,
flFlags: u32,
ulReserved: u32,
lppRecip: **MapiRecipDesc,
) callconv(@import("std").os.windows.WINAPI) u32;
//--------------------------------------------------------------------------------
// Section: Functions (1)
//--------------------------------------------------------------------------------
pub extern "MAPI32" fn MAPIFreeBuffer(
pv: *c_void,
) callconv(@import("std").os.windows.WINAPI) u32;
//--------------------------------------------------------------------------------
// Section: Unicode Aliases (0)
//--------------------------------------------------------------------------------
pub usingnamespace switch (@import("../zig.zig").unicode_mode) {
.ansi => struct {
},
.wide => struct {
},
.unspecified => if (@import("builtin").is_test) struct {
} else struct {
},
};
//--------------------------------------------------------------------------------
// Section: Imports (2)
//--------------------------------------------------------------------------------
const PWSTR = @import("system_services.zig").PWSTR;
const PSTR = @import("system_services.zig").PSTR;
test {
// The following '_ = <FuncPtrType>' lines are a workaround for https://github.com/ziglang/zig/issues/4476
if (@hasDecl(@This(), "LPMAPILOGON")) { _ = LPMAPILOGON; }
if (@hasDecl(@This(), "LPMAPILOGOFF")) { _ = LPMAPILOGOFF; }
if (@hasDecl(@This(), "LPMAPISENDMAIL")) { _ = LPMAPISENDMAIL; }
if (@hasDecl(@This(), "LPMAPISENDMAILW")) { _ = LPMAPISENDMAILW; }
if (@hasDecl(@This(), "LPMAPISENDDOCUMENTS")) { _ = LPMAPISENDDOCUMENTS; }
if (@hasDecl(@This(), "LPMAPIFINDNEXT")) { _ = LPMAPIFINDNEXT; }
if (@hasDecl(@This(), "LPMAPIREADMAIL")) { _ = LPMAPIREADMAIL; }
if (@hasDecl(@This(), "LPMAPISAVEMAIL")) { _ = LPMAPISAVEMAIL; }
if (@hasDecl(@This(), "LPMAPIDELETEMAIL")) { _ = LPMAPIDELETEMAIL; }
if (@hasDecl(@This(), "LPMAPIFREEBUFFER")) { _ = LPMAPIFREEBUFFER; }
if (@hasDecl(@This(), "LPMAPIADDRESS")) { _ = LPMAPIADDRESS; }
if (@hasDecl(@This(), "LPMAPIDETAILS")) { _ = LPMAPIDETAILS; }
if (@hasDecl(@This(), "LPMAPIRESOLVENAME")) { _ = LPMAPIRESOLVENAME; }
@setEvalBranchQuota(
@import("std").meta.declarations(@This()).len * 3
);
// reference all the pub declarations
if (!@import("std").builtin.is_test) return;
inline for (@import("std").meta.declarations(@This())) |decl| {
if (decl.is_pub) {
_ = decl;
}
}
}

132
src/win32/api/mbn.zig Normal file
View File

@ -0,0 +1,132 @@
//! NOTE: this file is autogenerated, DO NOT MODIFY
//--------------------------------------------------------------------------------
// Section: Constants (0)
//--------------------------------------------------------------------------------
//--------------------------------------------------------------------------------
// Section: Types (9)
//--------------------------------------------------------------------------------
const CLSID_MbnConnectionProfileManager_Value = @import("../zig.zig").Guid.initString("bdfee05a-4418-11dd-90ed-001c257ccff1");
pub const CLSID_MbnConnectionProfileManager = &CLSID_MbnConnectionProfileManager_Value;
const CLSID_MbnInterfaceManager_Value = @import("../zig.zig").Guid.initString("bdfee05b-4418-11dd-90ed-001c257ccff1");
pub const CLSID_MbnInterfaceManager = &CLSID_MbnInterfaceManager_Value;
const CLSID_MbnConnectionManager_Value = @import("../zig.zig").Guid.initString("bdfee05c-4418-11dd-90ed-001c257ccff1");
pub const CLSID_MbnConnectionManager = &CLSID_MbnConnectionManager_Value;
const CLSID_MbnDeviceServicesManager_Value = @import("../zig.zig").Guid.initString("2269daa3-2a9f-4165-a501-ce00a6f7a75b");
pub const CLSID_MbnDeviceServicesManager = &CLSID_MbnDeviceServicesManager_Value;
const IID_IDummyMBNUCMExt_Value = @import("../zig.zig").Guid.initString("dcbbbab6-ffff-4bbb-aaee-338e368af6fa");
pub const IID_IDummyMBNUCMExt = &IID_IDummyMBNUCMExt_Value;
pub const IDummyMBNUCMExt = extern struct {
pub const VTable = extern struct {
base: IDispatch.VTable,
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IDispatch.MethodMixin(T);
};}
pub usingnamespace MethodMixin(@This());
};
pub const MBN_DEVICE_SERVICE_SESSIONS_STATE = extern enum(i32) {
D = 0,
};
pub const MBN_DEVICE_SERVICE_SESSIONS_RESTORED = MBN_DEVICE_SERVICE_SESSIONS_STATE.D;
const IID_IMbnDeviceServiceStateEvents_Value = @import("../zig.zig").Guid.initString("5d3ff196-89ee-49d8-8b60-33ffddffc58d");
pub const IID_IMbnDeviceServiceStateEvents = &IID_IMbnDeviceServiceStateEvents_Value;
pub const IMbnDeviceServiceStateEvents = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
OnSessionsStateChange: fn(
self: *const IMbnDeviceServiceStateEvents,
interfaceID: BSTR,
stateChange: MBN_DEVICE_SERVICE_SESSIONS_STATE,
) 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 IMbnDeviceServiceStateEvents_OnSessionsStateChange(self: *const T, interfaceID: BSTR, stateChange: MBN_DEVICE_SERVICE_SESSIONS_STATE) callconv(.Inline) HRESULT {
return @ptrCast(*const IMbnDeviceServiceStateEvents.VTable, self.vtable).OnSessionsStateChange(@ptrCast(*const IMbnDeviceServiceStateEvents, self), interfaceID, stateChange);
}
};}
pub usingnamespace MethodMixin(@This());
};
pub const __mbnapi_ReferenceRemainingTypes__ = extern struct {
bandClass: MBN_BAND_CLASS,
contextConstants: MBN_CONTEXT_CONSTANTS,
ctrlCaps: MBN_CTRL_CAPS,
dataClass: MBN_DATA_CLASS,
interfaceCapsConstants: MBN_INTERFACE_CAPS_CONSTANTS,
pinConstants: MBN_PIN_CONSTANTS,
providerConstants: MBN_PROVIDER_CONSTANTS,
providerState: MBN_PROVIDER_STATE,
registrationConstants: MBN_REGISTRATION_CONSTANTS,
signalConstants: MBN_SIGNAL_CONSTANTS,
smsCaps: MBN_SMS_CAPS,
smsConstants: WWAEXT_SMS_CONSTANTS,
wwaextSmsConstants: WWAEXT_SMS_CONSTANTS,
smsStatusFlag: MBN_SMS_STATUS_FLAG,
};
pub const __DummyPinType__ = extern struct {
pinType: u32,
};
//--------------------------------------------------------------------------------
// Section: Functions (0)
//--------------------------------------------------------------------------------
//--------------------------------------------------------------------------------
// Section: Unicode Aliases (0)
//--------------------------------------------------------------------------------
pub usingnamespace switch (@import("../zig.zig").unicode_mode) {
.ansi => struct {
},
.wide => struct {
},
.unspecified => if (@import("builtin").is_test) struct {
} else struct {
},
};
//--------------------------------------------------------------------------------
// Section: Imports (17)
//--------------------------------------------------------------------------------
const IDispatch = @import("automation.zig").IDispatch;
const MBN_PROVIDER_STATE = @import("mobile_broadband.zig").MBN_PROVIDER_STATE;
const WWAEXT_SMS_CONSTANTS = @import("mobile_broadband.zig").WWAEXT_SMS_CONSTANTS;
const IUnknown = @import("com.zig").IUnknown;
const MBN_SMS_CAPS = @import("mobile_broadband.zig").MBN_SMS_CAPS;
const HRESULT = @import("com.zig").HRESULT;
const MBN_PROVIDER_CONSTANTS = @import("mobile_broadband.zig").MBN_PROVIDER_CONSTANTS;
const BSTR = @import("automation.zig").BSTR;
const MBN_BAND_CLASS = @import("mobile_broadband.zig").MBN_BAND_CLASS;
const MBN_SMS_STATUS_FLAG = @import("mobile_broadband.zig").MBN_SMS_STATUS_FLAG;
const MBN_CTRL_CAPS = @import("mobile_broadband.zig").MBN_CTRL_CAPS;
const MBN_CONTEXT_CONSTANTS = @import("mobile_broadband.zig").MBN_CONTEXT_CONSTANTS;
const MBN_PIN_CONSTANTS = @import("mobile_broadband.zig").MBN_PIN_CONSTANTS;
const MBN_SIGNAL_CONSTANTS = @import("mobile_broadband.zig").MBN_SIGNAL_CONSTANTS;
const MBN_REGISTRATION_CONSTANTS = @import("mobile_broadband.zig").MBN_REGISTRATION_CONSTANTS;
const MBN_INTERFACE_CAPS_CONSTANTS = @import("mobile_broadband.zig").MBN_INTERFACE_CAPS_CONSTANTS;
const MBN_DATA_CLASS = @import("mobile_broadband.zig").MBN_DATA_CLASS;
test {
@setEvalBranchQuota(
@import("std").meta.declarations(@This()).len * 3
);
// reference all the pub declarations
if (!@import("std").builtin.is_test) return;
inline for (@import("std").meta.declarations(@This())) |decl| {
if (decl.is_pub) {
_ = decl;
}
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,69 @@
//! NOTE: this file is autogenerated, DO NOT MODIFY
//--------------------------------------------------------------------------------
// Section: Constants (0)
//--------------------------------------------------------------------------------
//--------------------------------------------------------------------------------
// Section: Types (1)
//--------------------------------------------------------------------------------
const IID_ISystemMediaTransportControlsInterop_Value = @import("../zig.zig").Guid.initString("ddb0472d-c911-4a1f-86d9-dc3d71a95f5a");
pub const IID_ISystemMediaTransportControlsInterop = &IID_ISystemMediaTransportControlsInterop_Value;
pub const ISystemMediaTransportControlsInterop = extern struct {
pub const VTable = extern struct {
base: IInspectable.VTable,
GetForWindow: fn(
self: *const ISystemMediaTransportControlsInterop,
appWindow: HWND,
riid: *const Guid,
mediaTransportControl: **c_void,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IInspectable.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ISystemMediaTransportControlsInterop_GetForWindow(self: *const T, appWindow: HWND, riid: *const Guid, mediaTransportControl: **c_void) callconv(.Inline) HRESULT {
return @ptrCast(*const ISystemMediaTransportControlsInterop.VTable, self.vtable).GetForWindow(@ptrCast(*const ISystemMediaTransportControlsInterop, self), appWindow, riid, mediaTransportControl);
}
};}
pub usingnamespace MethodMixin(@This());
};
//--------------------------------------------------------------------------------
// Section: Functions (0)
//--------------------------------------------------------------------------------
//--------------------------------------------------------------------------------
// Section: Unicode Aliases (0)
//--------------------------------------------------------------------------------
pub usingnamespace switch (@import("../zig.zig").unicode_mode) {
.ansi => struct {
},
.wide => struct {
},
.unspecified => if (@import("builtin").is_test) struct {
} else struct {
},
};
//--------------------------------------------------------------------------------
// Section: Imports (4)
//--------------------------------------------------------------------------------
const Guid = @import("../zig.zig").Guid;
const HRESULT = @import("com.zig").HRESULT;
const HWND = @import("windows_and_messaging.zig").HWND;
const IInspectable = @import("win_rt.zig").IInspectable;
test {
@setEvalBranchQuota(
@import("std").meta.declarations(@This()).len * 3
);
// reference all the pub declarations
if (!@import("std").builtin.is_test) return;
inline for (@import("std").meta.declarations(@This())) |decl| {
if (decl.is_pub) {
_ = decl;
}
}
}

View File

@ -0,0 +1,57 @@
//! NOTE: this file is autogenerated, DO NOT MODIFY
//--------------------------------------------------------------------------------
// Section: Constants (0)
//--------------------------------------------------------------------------------
//--------------------------------------------------------------------------------
// Section: Types (4)
//--------------------------------------------------------------------------------
// TODO: this type has a FreeFunc 'DestroyIcon', what can Zig do with this information?
pub const HICON = ?*opaque{};
// TODO: this type has a FreeFunc 'DestroyMenu', what can Zig do with this information?
pub const HMENU = ?*opaque{};
// TODO: this type has a FreeFunc 'DestroyCursor', what can Zig do with this information?
//TODO: type 'HCURSOR' is "AlsoUsableFor" 'HICON' which means this type is implicitly
// convertible to 'HICON' but not the other way around. I don't know how to do this
// in Zig so for now I'm just defining it as an alias
pub const HCURSOR = HICON;
// TODO: this type has a FreeFunc 'DestroyAcceleratorTable', what can Zig do with this information?
pub const HACCEL = ?*opaque{};
//--------------------------------------------------------------------------------
// Section: Functions (0)
//--------------------------------------------------------------------------------
//--------------------------------------------------------------------------------
// Section: Unicode Aliases (0)
//--------------------------------------------------------------------------------
pub usingnamespace switch (@import("../zig.zig").unicode_mode) {
.ansi => struct {
},
.wide => struct {
},
.unspecified => if (@import("builtin").is_test) struct {
} else struct {
},
};
//--------------------------------------------------------------------------------
// Section: Imports (0)
//--------------------------------------------------------------------------------
test {
@setEvalBranchQuota(
@import("std").meta.declarations(@This()).len * 3
);
// reference all the pub declarations
if (!@import("std").builtin.is_test) return;
inline for (@import("std").meta.declarations(@This())) |decl| {
if (decl.is_pub) {
_ = decl;
}
}
}

1054
src/win32/api/mib.zig Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,94 @@
//! NOTE: this file is autogenerated, DO NOT MODIFY
//--------------------------------------------------------------------------------
// Section: Constants (0)
//--------------------------------------------------------------------------------
//--------------------------------------------------------------------------------
// Section: Types (2)
//--------------------------------------------------------------------------------
// TODO: this type is limited to platform 'windows10.0.15063'
const IID_ISpatialInteractionManagerInterop_Value = @import("../zig.zig").Guid.initString("5c4ee536-6a98-4b86-a170-587013d6fd4b");
pub const IID_ISpatialInteractionManagerInterop = &IID_ISpatialInteractionManagerInterop_Value;
pub const ISpatialInteractionManagerInterop = extern struct {
pub const VTable = extern struct {
base: IInspectable.VTable,
GetForWindow: fn(
self: *const ISpatialInteractionManagerInterop,
window: HWND,
riid: *const Guid,
spatialInteractionManager: **c_void,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IInspectable.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ISpatialInteractionManagerInterop_GetForWindow(self: *const T, window: HWND, riid: *const Guid, spatialInteractionManager: **c_void) callconv(.Inline) HRESULT {
return @ptrCast(*const ISpatialInteractionManagerInterop.VTable, self.vtable).GetForWindow(@ptrCast(*const ISpatialInteractionManagerInterop, self), window, riid, spatialInteractionManager);
}
};}
pub usingnamespace MethodMixin(@This());
};
// TODO: this type is limited to platform 'windows10.0.15063'
const IID_IHolographicSpaceInterop_Value = @import("../zig.zig").Guid.initString("5c4ee536-6a98-4b86-a170-587013d6fd4b");
pub const IID_IHolographicSpaceInterop = &IID_IHolographicSpaceInterop_Value;
pub const IHolographicSpaceInterop = extern struct {
pub const VTable = extern struct {
base: IInspectable.VTable,
CreateForWindow: fn(
self: *const IHolographicSpaceInterop,
window: HWND,
riid: *const Guid,
holographicSpace: **c_void,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IInspectable.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IHolographicSpaceInterop_CreateForWindow(self: *const T, window: HWND, riid: *const Guid, holographicSpace: **c_void) callconv(.Inline) HRESULT {
return @ptrCast(*const IHolographicSpaceInterop.VTable, self.vtable).CreateForWindow(@ptrCast(*const IHolographicSpaceInterop, self), window, riid, holographicSpace);
}
};}
pub usingnamespace MethodMixin(@This());
};
//--------------------------------------------------------------------------------
// Section: Functions (0)
//--------------------------------------------------------------------------------
//--------------------------------------------------------------------------------
// Section: Unicode Aliases (0)
//--------------------------------------------------------------------------------
pub usingnamespace switch (@import("../zig.zig").unicode_mode) {
.ansi => struct {
},
.wide => struct {
},
.unspecified => if (@import("builtin").is_test) struct {
} else struct {
},
};
//--------------------------------------------------------------------------------
// Section: Imports (4)
//--------------------------------------------------------------------------------
const Guid = @import("../zig.zig").Guid;
const HRESULT = @import("com.zig").HRESULT;
const HWND = @import("windows_and_messaging.zig").HWND;
const IInspectable = @import("win_rt.zig").IInspectable;
test {
@setEvalBranchQuota(
@import("std").meta.declarations(@This()).len * 3
);
// reference all the pub declarations
if (!@import("std").builtin.is_test) return;
inline for (@import("std").meta.declarations(@This())) |decl| {
if (decl.is_pub) {
_ = decl;
}
}
}

4453
src/win32/api/mmc.zig Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,138 @@
//! NOTE: this file is autogenerated, DO NOT MODIFY
//--------------------------------------------------------------------------------
// Section: Constants (6)
//--------------------------------------------------------------------------------
pub const MDM_REGISTRATION_FACILITY_CODE = @as(u32, 25);
pub const DEVICE_ENROLLER_FACILITY_CODE = @as(u32, 24);
pub const DEVICEREGISTRATIONTYPE_MDM_ONLY = @as(u32, 0);
pub const DEVICEREGISTRATIONTYPE_MAM = @as(u32, 5);
pub const DEVICEREGISTRATIONTYPE_MDM_DEVICEWIDE_WITH_AAD = @as(u32, 6);
pub const DEVICEREGISTRATIONTYPE_MDM_USERSPECIFIC_WITH_AAD = @as(u32, 13);
//--------------------------------------------------------------------------------
// Section: Types (3)
//--------------------------------------------------------------------------------
pub const MANAGEMENT_SERVICE_INFO = extern struct {
pszMDMServiceUri: PWSTR,
pszAuthenticationUri: PWSTR,
};
pub const MANAGEMENT_REGISTRATION_INFO = extern struct {
fDeviceRegisteredWithManagement: BOOL,
dwDeviceRegistionKind: u32,
pszUPN: PWSTR,
pszMDMServiceUri: PWSTR,
};
pub const REGISTRATION_INFORMATION_CLASS = extern enum(i32) {
DeviceRegistrationBasicInfo = 1,
MaxDeviceInfoClass = 2,
};
pub const DeviceRegistrationBasicInfo = REGISTRATION_INFORMATION_CLASS.DeviceRegistrationBasicInfo;
pub const MaxDeviceInfoClass = REGISTRATION_INFORMATION_CLASS.MaxDeviceInfoClass;
//--------------------------------------------------------------------------------
// Section: Functions (12)
//--------------------------------------------------------------------------------
// TODO: this type is limited to platform 'windows8.0'
pub extern "MDMRegistration" fn GetDeviceRegistrationInfo(
DeviceInformationClass: REGISTRATION_INFORMATION_CLASS,
ppDeviceRegistrationInfo: **c_void,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows8.0'
pub extern "MDMRegistration" fn IsDeviceRegisteredWithManagement(
pfIsDeviceRegisteredWithManagement: *BOOL,
cchUPN: u32,
pszUPN: ?[*:0]u16,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows8.0'
pub extern "MDMRegistration" fn IsManagementRegistrationAllowed(
pfIsManagementRegistrationAllowed: *BOOL,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "MDMRegistration" fn IsMdmUxWithoutAadAllowed(
isEnrollmentAllowed: *BOOL,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows8.0'
pub extern "MDMRegistration" fn SetManagedExternally(
IsManagedExternally: BOOL,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows8.0'
pub extern "MDMRegistration" fn DiscoverManagementService(
pszUPN: [*:0]const u16,
ppMgmtInfo: **MANAGEMENT_SERVICE_INFO,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows8.0'
pub extern "MDMRegistration" fn RegisterDeviceWithManagementUsingAADCredentials(
UserToken: HANDLE,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows8.0'
pub extern "MDMRegistration" fn RegisterDeviceWithManagementUsingAADDeviceCredentials(
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows8.0'
pub extern "MDMRegistration" fn RegisterDeviceWithManagement(
pszUPN: [*:0]const u16,
ppszMDMServiceUri: [*:0]const u16,
ppzsAccessToken: [*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows8.0'
pub extern "MDMRegistration" fn UnregisterDeviceWithManagement(
enrollmentID: ?[*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows8.0'
pub extern "MDMRegistration" fn GetManagementAppHyperlink(
cchHyperlink: u32,
pszHyperlink: [*:0]u16,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows8.0'
pub extern "MDMRegistration" fn DiscoverManagementServiceEx(
pszUPN: [*:0]const u16,
pszDiscoveryServiceCandidate: [*:0]const u16,
ppMgmtInfo: **MANAGEMENT_SERVICE_INFO,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
//--------------------------------------------------------------------------------
// Section: Unicode Aliases (0)
//--------------------------------------------------------------------------------
pub usingnamespace switch (@import("../zig.zig").unicode_mode) {
.ansi => struct {
},
.wide => struct {
},
.unspecified => if (@import("builtin").is_test) struct {
} else struct {
},
};
//--------------------------------------------------------------------------------
// Section: Imports (4)
//--------------------------------------------------------------------------------
const PWSTR = @import("system_services.zig").PWSTR;
const HANDLE = @import("system_services.zig").HANDLE;
const BOOL = @import("system_services.zig").BOOL;
const HRESULT = @import("com.zig").HRESULT;
test {
@setEvalBranchQuota(
@import("std").meta.declarations(@This()).len * 3
);
// reference all the pub declarations
if (!@import("std").builtin.is_test) return;
inline for (@import("std").meta.declarations(@This())) |decl| {
if (decl.is_pub) {
_ = decl;
}
}
}

375
src/win32/api/monitor.zig Normal file
View File

@ -0,0 +1,375 @@
//! NOTE: this file is autogenerated, DO NOT MODIFY
//--------------------------------------------------------------------------------
// Section: Constants (23)
//--------------------------------------------------------------------------------
pub const MC_CAPS_NONE = @as(u32, 0);
pub const MC_CAPS_MONITOR_TECHNOLOGY_TYPE = @as(u32, 1);
pub const MC_CAPS_BRIGHTNESS = @as(u32, 2);
pub const MC_CAPS_CONTRAST = @as(u32, 4);
pub const MC_CAPS_COLOR_TEMPERATURE = @as(u32, 8);
pub const MC_CAPS_RED_GREEN_BLUE_GAIN = @as(u32, 16);
pub const MC_CAPS_RED_GREEN_BLUE_DRIVE = @as(u32, 32);
pub const MC_CAPS_DEGAUSS = @as(u32, 64);
pub const MC_CAPS_DISPLAY_AREA_POSITION = @as(u32, 128);
pub const MC_CAPS_DISPLAY_AREA_SIZE = @as(u32, 256);
pub const MC_CAPS_RESTORE_FACTORY_DEFAULTS = @as(u32, 1024);
pub const MC_CAPS_RESTORE_FACTORY_COLOR_DEFAULTS = @as(u32, 2048);
pub const MC_RESTORE_FACTORY_DEFAULTS_ENABLES_MONITOR_SETTINGS = @as(u32, 4096);
pub const MC_SUPPORTED_COLOR_TEMPERATURE_NONE = @as(u32, 0);
pub const MC_SUPPORTED_COLOR_TEMPERATURE_4000K = @as(u32, 1);
pub const MC_SUPPORTED_COLOR_TEMPERATURE_5000K = @as(u32, 2);
pub const MC_SUPPORTED_COLOR_TEMPERATURE_6500K = @as(u32, 4);
pub const MC_SUPPORTED_COLOR_TEMPERATURE_7500K = @as(u32, 8);
pub const MC_SUPPORTED_COLOR_TEMPERATURE_8200K = @as(u32, 16);
pub const MC_SUPPORTED_COLOR_TEMPERATURE_9300K = @as(u32, 32);
pub const MC_SUPPORTED_COLOR_TEMPERATURE_10000K = @as(u32, 64);
pub const MC_SUPPORTED_COLOR_TEMPERATURE_11500K = @as(u32, 128);
pub const PHYSICAL_MONITOR_DESCRIPTION_SIZE = @as(u32, 128);
//--------------------------------------------------------------------------------
// Section: Types (9)
//--------------------------------------------------------------------------------
pub const PHYSICAL_MONITOR = extern struct {
hPhysicalMonitor: HANDLE,
szPhysicalMonitorDescription: [128]u16,
};
pub const MC_TIMING_REPORT = extern struct {
dwHorizontalFrequencyInHZ: u32,
dwVerticalFrequencyInHZ: u32,
bTimingStatusByte: u8,
};
pub const MC_VCP_CODE_TYPE = extern enum(i32) {
MOMENTARY = 0,
SET_PARAMETER = 1,
};
pub const MC_MOMENTARY = MC_VCP_CODE_TYPE.MOMENTARY;
pub const MC_SET_PARAMETER = MC_VCP_CODE_TYPE.SET_PARAMETER;
pub const MC_DISPLAY_TECHNOLOGY_TYPE = extern enum(i32) {
SHADOW_MASK_CATHODE_RAY_TUBE = 0,
APERTURE_GRILL_CATHODE_RAY_TUBE = 1,
THIN_FILM_TRANSISTOR = 2,
LIQUID_CRYSTAL_ON_SILICON = 3,
PLASMA = 4,
ORGANIC_LIGHT_EMITTING_DIODE = 5,
ELECTROLUMINESCENT = 6,
MICROELECTROMECHANICAL = 7,
FIELD_EMISSION_DEVICE = 8,
};
pub const MC_SHADOW_MASK_CATHODE_RAY_TUBE = MC_DISPLAY_TECHNOLOGY_TYPE.SHADOW_MASK_CATHODE_RAY_TUBE;
pub const MC_APERTURE_GRILL_CATHODE_RAY_TUBE = MC_DISPLAY_TECHNOLOGY_TYPE.APERTURE_GRILL_CATHODE_RAY_TUBE;
pub const MC_THIN_FILM_TRANSISTOR = MC_DISPLAY_TECHNOLOGY_TYPE.THIN_FILM_TRANSISTOR;
pub const MC_LIQUID_CRYSTAL_ON_SILICON = MC_DISPLAY_TECHNOLOGY_TYPE.LIQUID_CRYSTAL_ON_SILICON;
pub const MC_PLASMA = MC_DISPLAY_TECHNOLOGY_TYPE.PLASMA;
pub const MC_ORGANIC_LIGHT_EMITTING_DIODE = MC_DISPLAY_TECHNOLOGY_TYPE.ORGANIC_LIGHT_EMITTING_DIODE;
pub const MC_ELECTROLUMINESCENT = MC_DISPLAY_TECHNOLOGY_TYPE.ELECTROLUMINESCENT;
pub const MC_MICROELECTROMECHANICAL = MC_DISPLAY_TECHNOLOGY_TYPE.MICROELECTROMECHANICAL;
pub const MC_FIELD_EMISSION_DEVICE = MC_DISPLAY_TECHNOLOGY_TYPE.FIELD_EMISSION_DEVICE;
pub const MC_DRIVE_TYPE = extern enum(i32) {
RED_DRIVE = 0,
GREEN_DRIVE = 1,
BLUE_DRIVE = 2,
};
pub const MC_RED_DRIVE = MC_DRIVE_TYPE.RED_DRIVE;
pub const MC_GREEN_DRIVE = MC_DRIVE_TYPE.GREEN_DRIVE;
pub const MC_BLUE_DRIVE = MC_DRIVE_TYPE.BLUE_DRIVE;
pub const MC_GAIN_TYPE = extern enum(i32) {
RED_GAIN = 0,
GREEN_GAIN = 1,
BLUE_GAIN = 2,
};
pub const MC_RED_GAIN = MC_GAIN_TYPE.RED_GAIN;
pub const MC_GREEN_GAIN = MC_GAIN_TYPE.GREEN_GAIN;
pub const MC_BLUE_GAIN = MC_GAIN_TYPE.BLUE_GAIN;
pub const MC_POSITION_TYPE = extern enum(i32) {
HORIZONTAL_POSITION = 0,
VERTICAL_POSITION = 1,
};
pub const MC_HORIZONTAL_POSITION = MC_POSITION_TYPE.HORIZONTAL_POSITION;
pub const MC_VERTICAL_POSITION = MC_POSITION_TYPE.VERTICAL_POSITION;
pub const MC_SIZE_TYPE = extern enum(i32) {
WIDTH = 0,
HEIGHT = 1,
};
pub const MC_WIDTH = MC_SIZE_TYPE.WIDTH;
pub const MC_HEIGHT = MC_SIZE_TYPE.HEIGHT;
pub const MC_COLOR_TEMPERATURE = extern enum(i32) {
UNKNOWN = 0,
@"4000K" = 1,
@"5000K" = 2,
@"6500K" = 3,
@"7500K" = 4,
@"8200K" = 5,
@"9300K" = 6,
@"10000K" = 7,
@"11500K" = 8,
};
pub const MC_COLOR_TEMPERATURE_UNKNOWN = MC_COLOR_TEMPERATURE.UNKNOWN;
pub const MC_COLOR_TEMPERATURE_4000K = MC_COLOR_TEMPERATURE.@"4000K";
pub const MC_COLOR_TEMPERATURE_5000K = MC_COLOR_TEMPERATURE.@"5000K";
pub const MC_COLOR_TEMPERATURE_6500K = MC_COLOR_TEMPERATURE.@"6500K";
pub const MC_COLOR_TEMPERATURE_7500K = MC_COLOR_TEMPERATURE.@"7500K";
pub const MC_COLOR_TEMPERATURE_8200K = MC_COLOR_TEMPERATURE.@"8200K";
pub const MC_COLOR_TEMPERATURE_9300K = MC_COLOR_TEMPERATURE.@"9300K";
pub const MC_COLOR_TEMPERATURE_10000K = MC_COLOR_TEMPERATURE.@"10000K";
pub const MC_COLOR_TEMPERATURE_11500K = MC_COLOR_TEMPERATURE.@"11500K";
//--------------------------------------------------------------------------------
// Section: Functions (32)
//--------------------------------------------------------------------------------
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dxva2" fn GetNumberOfPhysicalMonitorsFromHMONITOR(
hMonitor: HMONITOR,
pdwNumberOfPhysicalMonitors: *u32,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dxva2" fn GetNumberOfPhysicalMonitorsFromIDirect3DDevice9(
pDirect3DDevice9: *IDirect3DDevice9,
pdwNumberOfPhysicalMonitors: *u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dxva2" fn GetPhysicalMonitorsFromHMONITOR(
hMonitor: HMONITOR,
dwPhysicalMonitorArraySize: u32,
pPhysicalMonitorArray: [*]PHYSICAL_MONITOR,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dxva2" fn GetPhysicalMonitorsFromIDirect3DDevice9(
pDirect3DDevice9: *IDirect3DDevice9,
dwPhysicalMonitorArraySize: u32,
pPhysicalMonitorArray: [*]PHYSICAL_MONITOR,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dxva2" fn DestroyPhysicalMonitor(
hMonitor: HANDLE,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dxva2" fn DestroyPhysicalMonitors(
dwPhysicalMonitorArraySize: u32,
pPhysicalMonitorArray: [*]PHYSICAL_MONITOR,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dxva2" fn GetVCPFeatureAndVCPFeatureReply(
hMonitor: HANDLE,
bVCPCode: u8,
pvct: ?*MC_VCP_CODE_TYPE,
pdwCurrentValue: *u32,
pdwMaximumValue: ?*u32,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dxva2" fn SetVCPFeature(
hMonitor: HANDLE,
bVCPCode: u8,
dwNewValue: u32,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dxva2" fn SaveCurrentSettings(
hMonitor: HANDLE,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dxva2" fn GetCapabilitiesStringLength(
hMonitor: HANDLE,
pdwCapabilitiesStringLengthInCharacters: *u32,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dxva2" fn CapabilitiesRequestAndCapabilitiesReply(
hMonitor: HANDLE,
pszASCIICapabilitiesString: [*:0]u8,
dwCapabilitiesStringLengthInCharacters: u32,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dxva2" fn GetTimingReport(
hMonitor: HANDLE,
pmtrMonitorTimingReport: *MC_TIMING_REPORT,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dxva2" fn GetMonitorCapabilities(
hMonitor: HANDLE,
pdwMonitorCapabilities: *u32,
pdwSupportedColorTemperatures: *u32,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dxva2" fn SaveCurrentMonitorSettings(
hMonitor: HANDLE,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dxva2" fn GetMonitorTechnologyType(
hMonitor: HANDLE,
pdtyDisplayTechnologyType: *MC_DISPLAY_TECHNOLOGY_TYPE,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dxva2" fn GetMonitorBrightness(
hMonitor: HANDLE,
pdwMinimumBrightness: *u32,
pdwCurrentBrightness: *u32,
pdwMaximumBrightness: *u32,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dxva2" fn GetMonitorContrast(
hMonitor: HANDLE,
pdwMinimumContrast: *u32,
pdwCurrentContrast: *u32,
pdwMaximumContrast: *u32,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dxva2" fn GetMonitorColorTemperature(
hMonitor: HANDLE,
pctCurrentColorTemperature: *MC_COLOR_TEMPERATURE,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dxva2" fn GetMonitorRedGreenOrBlueDrive(
hMonitor: HANDLE,
dtDriveType: MC_DRIVE_TYPE,
pdwMinimumDrive: *u32,
pdwCurrentDrive: *u32,
pdwMaximumDrive: *u32,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dxva2" fn GetMonitorRedGreenOrBlueGain(
hMonitor: HANDLE,
gtGainType: MC_GAIN_TYPE,
pdwMinimumGain: *u32,
pdwCurrentGain: *u32,
pdwMaximumGain: *u32,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dxva2" fn SetMonitorBrightness(
hMonitor: HANDLE,
dwNewBrightness: u32,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dxva2" fn SetMonitorContrast(
hMonitor: HANDLE,
dwNewContrast: u32,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dxva2" fn SetMonitorColorTemperature(
hMonitor: HANDLE,
ctCurrentColorTemperature: MC_COLOR_TEMPERATURE,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dxva2" fn SetMonitorRedGreenOrBlueDrive(
hMonitor: HANDLE,
dtDriveType: MC_DRIVE_TYPE,
dwNewDrive: u32,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dxva2" fn SetMonitorRedGreenOrBlueGain(
hMonitor: HANDLE,
gtGainType: MC_GAIN_TYPE,
dwNewGain: u32,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dxva2" fn DegaussMonitor(
hMonitor: HANDLE,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dxva2" fn GetMonitorDisplayAreaSize(
hMonitor: HANDLE,
stSizeType: MC_SIZE_TYPE,
pdwMinimumWidthOrHeight: *u32,
pdwCurrentWidthOrHeight: *u32,
pdwMaximumWidthOrHeight: *u32,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dxva2" fn GetMonitorDisplayAreaPosition(
hMonitor: HANDLE,
ptPositionType: MC_POSITION_TYPE,
pdwMinimumPosition: *u32,
pdwCurrentPosition: *u32,
pdwMaximumPosition: *u32,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dxva2" fn SetMonitorDisplayAreaSize(
hMonitor: HANDLE,
stSizeType: MC_SIZE_TYPE,
dwNewDisplayAreaWidthOrHeight: u32,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dxva2" fn SetMonitorDisplayAreaPosition(
hMonitor: HANDLE,
ptPositionType: MC_POSITION_TYPE,
dwNewPosition: u32,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dxva2" fn RestoreMonitorFactoryColorDefaults(
hMonitor: HANDLE,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "dxva2" fn RestoreMonitorFactoryDefaults(
hMonitor: HANDLE,
) callconv(@import("std").os.windows.WINAPI) i32;
//--------------------------------------------------------------------------------
// Section: Unicode Aliases (0)
//--------------------------------------------------------------------------------
pub usingnamespace switch (@import("../zig.zig").unicode_mode) {
.ansi => struct {
},
.wide => struct {
},
.unspecified => if (@import("builtin").is_test) struct {
} else struct {
},
};
//--------------------------------------------------------------------------------
// Section: Imports (4)
//--------------------------------------------------------------------------------
const HMONITOR = @import("gdi.zig").HMONITOR;
const HANDLE = @import("system_services.zig").HANDLE;
const IDirect3DDevice9 = @import("direct3d9.zig").IDirect3DDevice9;
const HRESULT = @import("com.zig").HRESULT;
test {
@setEvalBranchQuota(
@import("std").meta.declarations(@This()).len * 3
);
// reference all the pub declarations
if (!@import("std").builtin.is_test) return;
inline for (@import("std").meta.declarations(@This())) |decl| {
if (decl.is_pub) {
_ = decl;
}
}
}

136
src/win32/api/multicast.zig Normal file
View File

@ -0,0 +1,136 @@
//! NOTE: this file is autogenerated, DO NOT MODIFY
//--------------------------------------------------------------------------------
// Section: Constants (3)
//--------------------------------------------------------------------------------
pub const MCAST_CLIENT_ID_LEN = @as(u32, 17);
pub const MCAST_API_VERSION_0 = @as(i32, 0);
pub const MCAST_API_VERSION_1 = @as(i32, 1);
//--------------------------------------------------------------------------------
// Section: Types (6)
//--------------------------------------------------------------------------------
pub const IPNG_ADDRESS = extern union {
IpAddrV4: u32,
IpAddrV6: [16]u8,
};
pub const MCAST_CLIENT_UID = extern struct {
ClientUID: *u8,
ClientUIDLength: u32,
};
pub const MCAST_SCOPE_CTX = extern struct {
ScopeID: IPNG_ADDRESS,
Interface: IPNG_ADDRESS,
ServerID: IPNG_ADDRESS,
};
pub const MCAST_SCOPE_ENTRY = extern struct {
ScopeCtx: MCAST_SCOPE_CTX,
LastAddr: IPNG_ADDRESS,
TTL: u32,
ScopeDesc: UNICODE_STRING,
};
pub const MCAST_LEASE_REQUEST = extern struct {
LeaseStartTime: i32,
MaxLeaseStartTime: i32,
LeaseDuration: u32,
MinLeaseDuration: u32,
ServerAddress: IPNG_ADDRESS,
MinAddrCount: u16,
AddrCount: u16,
pAddrBuf: *u8,
};
pub const MCAST_LEASE_RESPONSE = extern struct {
LeaseStartTime: i32,
LeaseEndTime: i32,
ServerAddress: IPNG_ADDRESS,
AddrCount: u16,
pAddrBuf: *u8,
};
//--------------------------------------------------------------------------------
// Section: Functions (7)
//--------------------------------------------------------------------------------
// TODO: this type is limited to platform 'windows5.0'
pub extern "dhcpcsvc" fn McastApiStartup(
Version: *u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "dhcpcsvc" fn McastApiCleanup(
) callconv(@import("std").os.windows.WINAPI) void;
// TODO: this type is limited to platform 'windows5.0'
pub extern "dhcpcsvc" fn McastGenUID(
pRequestID: *MCAST_CLIENT_UID,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "dhcpcsvc" fn McastEnumerateScopes(
AddrFamily: u16,
ReQuery: BOOL,
pScopeList: *MCAST_SCOPE_ENTRY,
pScopeLen: *u32,
pScopeCount: *u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "dhcpcsvc" fn McastRequestAddress(
AddrFamily: u16,
pRequestID: *MCAST_CLIENT_UID,
pScopeCtx: *MCAST_SCOPE_CTX,
pAddrRequest: *MCAST_LEASE_REQUEST,
pAddrResponse: *MCAST_LEASE_RESPONSE,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "dhcpcsvc" fn McastRenewAddress(
AddrFamily: u16,
pRequestID: *MCAST_CLIENT_UID,
pRenewRequest: *MCAST_LEASE_REQUEST,
pRenewResponse: *MCAST_LEASE_RESPONSE,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "dhcpcsvc" fn McastReleaseAddress(
AddrFamily: u16,
pRequestID: *MCAST_CLIENT_UID,
pReleaseRequest: *MCAST_LEASE_REQUEST,
) callconv(@import("std").os.windows.WINAPI) u32;
//--------------------------------------------------------------------------------
// Section: Unicode Aliases (0)
//--------------------------------------------------------------------------------
pub usingnamespace switch (@import("../zig.zig").unicode_mode) {
.ansi => struct {
},
.wide => struct {
},
.unspecified => if (@import("builtin").is_test) struct {
} else struct {
},
};
//--------------------------------------------------------------------------------
// Section: Imports (2)
//--------------------------------------------------------------------------------
const UNICODE_STRING = @import("security.zig").UNICODE_STRING;
const BOOL = @import("system_services.zig").BOOL;
test {
@setEvalBranchQuota(
@import("std").meta.declarations(@This()).len * 3
);
// reference all the pub declarations
if (!@import("std").builtin.is_test) return;
inline for (@import("std").meta.declarations(@This())) |decl| {
if (decl.is_pub) {
_ = decl;
}
}
}

8578
src/win32/api/multimedia.zig Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

254
src/win32/api/net_bios.zig Normal file
View File

@ -0,0 +1,254 @@
//! NOTE: this file is autogenerated, DO NOT MODIFY
//--------------------------------------------------------------------------------
// Section: Constants (82)
//--------------------------------------------------------------------------------
pub const NCBNAMSZ = @as(u32, 16);
pub const MAX_LANA = @as(u32, 254);
pub const NAME_FLAGS_MASK = @as(u32, 135);
pub const GROUP_NAME = @as(u32, 128);
pub const UNIQUE_NAME = @as(u32, 0);
pub const REGISTERING = @as(u32, 0);
pub const REGISTERED = @as(u32, 4);
pub const DEREGISTERED = @as(u32, 5);
pub const DUPLICATE = @as(u32, 6);
pub const DUPLICATE_DEREG = @as(u32, 7);
pub const LISTEN_OUTSTANDING = @as(u32, 1);
pub const CALL_PENDING = @as(u32, 2);
pub const SESSION_ESTABLISHED = @as(u32, 3);
pub const HANGUP_PENDING = @as(u32, 4);
pub const HANGUP_COMPLETE = @as(u32, 5);
pub const SESSION_ABORTED = @as(u32, 6);
pub const NCBCALL = @as(u32, 16);
pub const NCBLISTEN = @as(u32, 17);
pub const NCBHANGUP = @as(u32, 18);
pub const NCBSEND = @as(u32, 20);
pub const NCBRECV = @as(u32, 21);
pub const NCBRECVANY = @as(u32, 22);
pub const NCBCHAINSEND = @as(u32, 23);
pub const NCBDGSEND = @as(u32, 32);
pub const NCBDGRECV = @as(u32, 33);
pub const NCBDGSENDBC = @as(u32, 34);
pub const NCBDGRECVBC = @as(u32, 35);
pub const NCBADDNAME = @as(u32, 48);
pub const NCBDELNAME = @as(u32, 49);
pub const NCBRESET = @as(u32, 50);
pub const NCBASTAT = @as(u32, 51);
pub const NCBSSTAT = @as(u32, 52);
pub const NCBCANCEL = @as(u32, 53);
pub const NCBADDGRNAME = @as(u32, 54);
pub const NCBENUM = @as(u32, 55);
pub const NCBUNLINK = @as(u32, 112);
pub const NCBSENDNA = @as(u32, 113);
pub const NCBCHAINSENDNA = @as(u32, 114);
pub const NCBLANSTALERT = @as(u32, 115);
pub const NCBACTION = @as(u32, 119);
pub const NCBFINDNAME = @as(u32, 120);
pub const NCBTRACE = @as(u32, 121);
pub const ASYNCH = @as(u32, 128);
pub const NRC_GOODRET = @as(u32, 0);
pub const NRC_BUFLEN = @as(u32, 1);
pub const NRC_ILLCMD = @as(u32, 3);
pub const NRC_CMDTMO = @as(u32, 5);
pub const NRC_INCOMP = @as(u32, 6);
pub const NRC_BADDR = @as(u32, 7);
pub const NRC_SNUMOUT = @as(u32, 8);
pub const NRC_NORES = @as(u32, 9);
pub const NRC_SCLOSED = @as(u32, 10);
pub const NRC_CMDCAN = @as(u32, 11);
pub const NRC_DUPNAME = @as(u32, 13);
pub const NRC_NAMTFUL = @as(u32, 14);
pub const NRC_ACTSES = @as(u32, 15);
pub const NRC_LOCTFUL = @as(u32, 17);
pub const NRC_REMTFUL = @as(u32, 18);
pub const NRC_ILLNN = @as(u32, 19);
pub const NRC_NOCALL = @as(u32, 20);
pub const NRC_NOWILD = @as(u32, 21);
pub const NRC_INUSE = @as(u32, 22);
pub const NRC_NAMERR = @as(u32, 23);
pub const NRC_SABORT = @as(u32, 24);
pub const NRC_NAMCONF = @as(u32, 25);
pub const NRC_IFBUSY = @as(u32, 33);
pub const NRC_TOOMANY = @as(u32, 34);
pub const NRC_BRIDGE = @as(u32, 35);
pub const NRC_CANOCCR = @as(u32, 36);
pub const NRC_CANCEL = @as(u32, 38);
pub const NRC_DUPENV = @as(u32, 48);
pub const NRC_ENVNOTDEF = @as(u32, 52);
pub const NRC_OSRESNOTAV = @as(u32, 53);
pub const NRC_MAXAPPS = @as(u32, 54);
pub const NRC_NOSAPS = @as(u32, 55);
pub const NRC_NORESOURCES = @as(u32, 56);
pub const NRC_INVADDRESS = @as(u32, 57);
pub const NRC_INVDDID = @as(u32, 59);
pub const NRC_LOCKFAIL = @as(u32, 60);
pub const NRC_OPENERR = @as(u32, 63);
pub const NRC_SYSTEM = @as(u32, 64);
pub const NRC_PENDING = @as(u32, 255);
//--------------------------------------------------------------------------------
// Section: Types (10)
//--------------------------------------------------------------------------------
pub usingnamespace switch (@import("../zig.zig").arch) {
.X64, .Arm64 => struct {
pub const NCB = extern struct {
ncb_command: u8,
ncb_retcode: u8,
ncb_lsn: u8,
ncb_num: u8,
ncb_buffer: *u8,
ncb_length: u16,
ncb_callname: [16]u8,
ncb_name: [16]u8,
ncb_rto: u8,
ncb_sto: u8,
ncb_post: isize,
ncb_lana_num: u8,
ncb_cmd_cplt: u8,
ncb_reserve: [18]u8,
ncb_event: HANDLE,
};
}, else => struct { } };
pub usingnamespace switch (@import("../zig.zig").arch) {
.X86 => struct {
pub const NCB = extern struct {
ncb_command: u8,
ncb_retcode: u8,
ncb_lsn: u8,
ncb_num: u8,
ncb_buffer: *u8,
ncb_length: u16,
ncb_callname: [16]u8,
ncb_name: [16]u8,
ncb_rto: u8,
ncb_sto: u8,
ncb_post: isize,
ncb_lana_num: u8,
ncb_cmd_cplt: u8,
ncb_reserve: [10]u8,
ncb_event: HANDLE,
};
}, else => struct { } };
pub const ADAPTER_STATUS = extern struct {
adapter_address: [6]u8,
rev_major: u8,
reserved0: u8,
adapter_type: u8,
rev_minor: u8,
duration: u16,
frmr_recv: u16,
frmr_xmit: u16,
iframe_recv_err: u16,
xmit_aborts: u16,
xmit_success: u32,
recv_success: u32,
iframe_xmit_err: u16,
recv_buff_unavail: u16,
t1_timeouts: u16,
ti_timeouts: u16,
reserved1: u32,
free_ncbs: u16,
max_cfg_ncbs: u16,
max_ncbs: u16,
xmit_buf_unavail: u16,
max_dgram_size: u16,
pending_sess: u16,
max_cfg_sess: u16,
max_sess: u16,
max_sess_pkt_size: u16,
name_count: u16,
};
pub const NAME_BUFFER = extern struct {
name: [16]u8,
name_num: u8,
name_flags: u8,
};
pub const SESSION_HEADER = extern struct {
sess_name: u8,
num_sess: u8,
rcv_dg_outstanding: u8,
rcv_any_outstanding: u8,
};
pub const SESSION_BUFFER = extern struct {
lsn: u8,
state: u8,
local_name: [16]u8,
remote_name: [16]u8,
rcvs_outstanding: u8,
sends_outstanding: u8,
};
pub const LANA_ENUM = extern struct {
length: u8,
lana: [255]u8,
};
pub const FIND_NAME_HEADER = extern struct {
node_count: u16,
reserved: u8,
unique_group: u8,
};
pub const FIND_NAME_BUFFER = extern struct {
length: u8,
access_control: u8,
frame_control: u8,
destination_addr: [6]u8,
source_addr: [6]u8,
routing_info: [18]u8,
};
pub const ACTION_HEADER = extern struct {
transport_id: u32,
action_code: u16,
reserved: u16,
};
//--------------------------------------------------------------------------------
// Section: Functions (1)
//--------------------------------------------------------------------------------
// TODO: this type is limited to platform 'windows5.0'
pub extern "NETAPI32" fn Netbios(
pncb: *NCB,
) callconv(@import("std").os.windows.WINAPI) u8;
//--------------------------------------------------------------------------------
// Section: Unicode Aliases (0)
//--------------------------------------------------------------------------------
pub usingnamespace switch (@import("../zig.zig").unicode_mode) {
.ansi => struct {
},
.wide => struct {
},
.unspecified => if (@import("builtin").is_test) struct {
} else struct {
},
};
//--------------------------------------------------------------------------------
// Section: Imports (1)
//--------------------------------------------------------------------------------
const HANDLE = @import("system_services.zig").HANDLE;
test {
@setEvalBranchQuota(
@import("std").meta.declarations(@This()).len * 3
);
// reference all the pub declarations
if (!@import("std").builtin.is_test) return;
inline for (@import("std").meta.declarations(@This())) |decl| {
if (decl.is_pub) {
_ = decl;
}
}
}

File diff suppressed because it is too large Load Diff

310
src/win32/api/net_shell.zig Normal file
View File

@ -0,0 +1,310 @@
//! NOTE: this file is autogenerated, DO NOT MODIFY
//--------------------------------------------------------------------------------
// Section: Constants (27)
//--------------------------------------------------------------------------------
pub const NETSH_ERROR_BASE = @as(u32, 15000);
pub const ERROR_NO_ENTRIES = @as(u32, 15000);
pub const ERROR_INVALID_SYNTAX = @as(u32, 15001);
pub const ERROR_PROTOCOL_NOT_IN_TRANSPORT = @as(u32, 15002);
pub const ERROR_NO_CHANGE = @as(u32, 15003);
pub const ERROR_CMD_NOT_FOUND = @as(u32, 15004);
pub const ERROR_ENTRY_PT_NOT_FOUND = @as(u32, 15005);
pub const ERROR_DLL_LOAD_FAILED = @as(u32, 15006);
pub const ERROR_INIT_DISPLAY = @as(u32, 15007);
pub const ERROR_TAG_ALREADY_PRESENT = @as(u32, 15008);
pub const ERROR_INVALID_OPTION_TAG = @as(u32, 15009);
pub const ERROR_NO_TAG = @as(u32, 15010);
pub const ERROR_MISSING_OPTION = @as(u32, 15011);
pub const ERROR_TRANSPORT_NOT_PRESENT = @as(u32, 15012);
pub const ERROR_SHOW_USAGE = @as(u32, 15013);
pub const ERROR_INVALID_OPTION_VALUE = @as(u32, 15014);
pub const ERROR_OKAY = @as(u32, 15015);
pub const ERROR_CONTINUE_IN_PARENT_CONTEXT = @as(u32, 15016);
pub const ERROR_SUPPRESS_OUTPUT = @as(u32, 15017);
pub const ERROR_HELPER_ALREADY_REGISTERED = @as(u32, 15018);
pub const ERROR_CONTEXT_ALREADY_REGISTERED = @as(u32, 15019);
pub const ERROR_PARSING_FAILURE = @as(u32, 15020);
pub const MAX_NAME_LEN = @as(u32, 48);
pub const NETSH_VERSION_50 = @as(u32, 20480);
pub const NETSH_MAX_TOKEN_LENGTH = @as(u32, 64);
pub const NETSH_MAX_CMD_TOKEN_LENGTH = @as(u32, 128);
pub const DEFAULT_CONTEXT_PRIORITY = @as(u32, 100);
//--------------------------------------------------------------------------------
// Section: Types (20)
//--------------------------------------------------------------------------------
pub const NS_CMD_FLAGS = extern enum(i32) {
PRIVATE = 1,
INTERACTIVE = 2,
LOCAL = 8,
ONLINE = 16,
HIDDEN = 32,
LIMIT_MASK = 65535,
PRIORITY = -2147483648,
};
pub const CMD_FLAG_PRIVATE = NS_CMD_FLAGS.PRIVATE;
pub const CMD_FLAG_INTERACTIVE = NS_CMD_FLAGS.INTERACTIVE;
pub const CMD_FLAG_LOCAL = NS_CMD_FLAGS.LOCAL;
pub const CMD_FLAG_ONLINE = NS_CMD_FLAGS.ONLINE;
pub const CMD_FLAG_HIDDEN = NS_CMD_FLAGS.HIDDEN;
pub const CMD_FLAG_LIMIT_MASK = NS_CMD_FLAGS.LIMIT_MASK;
pub const CMD_FLAG_PRIORITY = NS_CMD_FLAGS.PRIORITY;
pub const NS_REQS = extern enum(i32) {
ZERO = 0,
PRESENT = 1,
ALLOW_MULTIPLE = 2,
ONE_OR_MORE = 3,
};
pub const NS_REQ_ZERO = NS_REQS.ZERO;
pub const NS_REQ_PRESENT = NS_REQS.PRESENT;
pub const NS_REQ_ALLOW_MULTIPLE = NS_REQS.ALLOW_MULTIPLE;
pub const NS_REQ_ONE_OR_MORE = NS_REQS.ONE_OR_MORE;
pub const NS_EVENTS = extern enum(i32) {
LOOP = 65536,
LAST_N = 1,
LAST_SECS = 2,
FROM_N = 4,
FROM_START = 8,
};
pub const NS_EVENT_LOOP = NS_EVENTS.LOOP;
pub const NS_EVENT_LAST_N = NS_EVENTS.LAST_N;
pub const NS_EVENT_LAST_SECS = NS_EVENTS.LAST_SECS;
pub const NS_EVENT_FROM_N = NS_EVENTS.FROM_N;
pub const NS_EVENT_FROM_START = NS_EVENTS.FROM_START;
pub const NS_MODE_CHANGE = extern enum(i32) {
COMMIT = 0,
UNCOMMIT = 1,
FLUSH = 2,
COMMIT_STATE = 3,
SAVE = 4,
};
pub const NETSH_COMMIT = NS_MODE_CHANGE.COMMIT;
pub const NETSH_UNCOMMIT = NS_MODE_CHANGE.UNCOMMIT;
pub const NETSH_FLUSH = NS_MODE_CHANGE.FLUSH;
pub const NETSH_COMMIT_STATE = NS_MODE_CHANGE.COMMIT_STATE;
pub const NETSH_SAVE = NS_MODE_CHANGE.SAVE;
pub const TOKEN_VALUE = extern struct {
pwszToken: [*:0]const u16,
dwValue: u32,
};
pub const PGET_RESOURCE_STRING_FN = fn(
dwMsgID: u32,
lpBuffer: PWSTR,
nBufferMax: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
pub const PNS_CONTEXT_COMMIT_FN = fn(
dwAction: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
pub const PNS_CONTEXT_CONNECT_FN = fn(
pwszMachine: [*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) u32;
pub const PNS_CONTEXT_DUMP_FN = fn(
pwszRouter: [*:0]const u16,
ppwcArguments: [*]PWSTR,
dwArgCount: u32,
pvData: *const c_void,
) callconv(@import("std").os.windows.WINAPI) u32;
pub const PNS_DLL_STOP_FN = fn(
dwReserved: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
pub const PNS_HELPER_START_FN = fn(
pguidParent: *const Guid,
dwVersion: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
pub const PNS_HELPER_STOP_FN = fn(
dwReserved: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
pub const PFN_HANDLE_CMD = fn(
pwszMachine: [*:0]const u16,
ppwcArguments: [*]PWSTR,
dwCurrentIndex: u32,
dwArgCount: u32,
dwFlags: u32,
pvData: *const c_void,
pbDone: *BOOL,
) callconv(@import("std").os.windows.WINAPI) u32;
pub const PNS_OSVERSIONCHECK = fn(
CIMOSType: u32,
CIMOSProductSuite: u32,
CIMOSVersion: [*:0]const u16,
CIMOSBuildNumber: [*:0]const u16,
CIMServicePackMajorVersion: [*:0]const u16,
CIMServicePackMinorVersion: [*:0]const u16,
uiReserved: u32,
dwReserved: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub const NS_HELPER_ATTRIBUTES = extern struct {
Anonymous: _Anonymous_e__Union,
guidHelper: Guid,
pfnStart: PNS_HELPER_START_FN,
pfnStop: PNS_HELPER_STOP_FN,
const _Anonymous_e__Union = u32; // TODO: generate this nested type!
};
pub const CMD_ENTRY = extern struct {
pwszCmdToken: [*:0]const u16,
pfnCmdHandler: PFN_HANDLE_CMD,
dwShortCmdHelpToken: u32,
dwCmdHlpToken: u32,
dwFlags: u32,
pOsVersionCheck: PNS_OSVERSIONCHECK,
};
pub const CMD_GROUP_ENTRY = extern struct {
pwszCmdGroupToken: [*:0]const u16,
dwShortCmdHelpToken: u32,
ulCmdGroupSize: u32,
dwFlags: u32,
pCmdGroup: *CMD_ENTRY,
pOsVersionCheck: PNS_OSVERSIONCHECK,
};
pub const NS_CONTEXT_ATTRIBUTES = extern struct {
Anonymous: _Anonymous_e__Union,
pwszContext: PWSTR,
guidHelper: Guid,
dwFlags: u32,
ulPriority: u32,
ulNumTopCmds: u32,
pTopCmds: *CMD_ENTRY,
ulNumGroups: u32,
pCmdGroups: *CMD_GROUP_ENTRY,
pfnCommitFn: PNS_CONTEXT_COMMIT_FN,
pfnDumpFn: PNS_CONTEXT_DUMP_FN,
pfnConnectFn: PNS_CONTEXT_CONNECT_FN,
pReserved: *c_void,
pfnOsVersionCheck: PNS_OSVERSIONCHECK,
const _Anonymous_e__Union = u32; // TODO: generate this nested type!
};
pub const TAG_TYPE = extern struct {
pwszTag: [*:0]const u16,
dwRequired: u32,
bPresent: BOOL,
};
pub const PNS_DLL_INIT_FN = fn(
dwNetshVersion: u32,
pReserved: *c_void,
) callconv(@import("std").os.windows.WINAPI) u32;
//--------------------------------------------------------------------------------
// Section: Functions (8)
//--------------------------------------------------------------------------------
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "NETSH" fn MatchEnumTag(
hModule: HANDLE,
pwcArg: [*:0]const u16,
dwNumArg: u32,
pEnumTable: *const TOKEN_VALUE,
pdwValue: *u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "NETSH" fn MatchToken(
pwszUserToken: [*:0]const u16,
pwszCmdToken: [*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "NETSH" fn PreprocessCommand(
hModule: HANDLE,
ppwcArguments: [*]PWSTR,
dwCurrentIndex: u32,
dwArgCount: u32,
pttTags: ?[*]TAG_TYPE,
dwTagCount: u32,
dwMinArgs: u32,
dwMaxArgs: u32,
pdwTagType: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "NETSH" fn PrintError(
hModule: HANDLE,
dwErrId: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "NETSH" fn PrintMessageFromModule(
hModule: HANDLE,
dwMsgId: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "NETSH" fn PrintMessage(
pwszFormat: [*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "NETSH" fn RegisterContext(
pChildContext: *const NS_CONTEXT_ATTRIBUTES,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "NETSH" fn RegisterHelper(
pguidParentContext: *const Guid,
pfnRegisterSubContext: *const NS_HELPER_ATTRIBUTES,
) callconv(@import("std").os.windows.WINAPI) u32;
//--------------------------------------------------------------------------------
// Section: Unicode Aliases (0)
//--------------------------------------------------------------------------------
pub usingnamespace switch (@import("../zig.zig").unicode_mode) {
.ansi => struct {
},
.wide => struct {
},
.unspecified => if (@import("builtin").is_test) struct {
} else struct {
},
};
//--------------------------------------------------------------------------------
// Section: Imports (4)
//--------------------------------------------------------------------------------
const Guid = @import("../zig.zig").Guid;
const PWSTR = @import("system_services.zig").PWSTR;
const HANDLE = @import("system_services.zig").HANDLE;
const BOOL = @import("system_services.zig").BOOL;
test {
// The following '_ = <FuncPtrType>' lines are a workaround for https://github.com/ziglang/zig/issues/4476
if (@hasDecl(@This(), "PGET_RESOURCE_STRING_FN")) { _ = PGET_RESOURCE_STRING_FN; }
if (@hasDecl(@This(), "PNS_CONTEXT_COMMIT_FN")) { _ = PNS_CONTEXT_COMMIT_FN; }
if (@hasDecl(@This(), "PNS_CONTEXT_CONNECT_FN")) { _ = PNS_CONTEXT_CONNECT_FN; }
if (@hasDecl(@This(), "PNS_CONTEXT_DUMP_FN")) { _ = PNS_CONTEXT_DUMP_FN; }
if (@hasDecl(@This(), "PNS_DLL_STOP_FN")) { _ = PNS_DLL_STOP_FN; }
if (@hasDecl(@This(), "PNS_HELPER_START_FN")) { _ = PNS_HELPER_START_FN; }
if (@hasDecl(@This(), "PNS_HELPER_STOP_FN")) { _ = PNS_HELPER_STOP_FN; }
if (@hasDecl(@This(), "PFN_HANDLE_CMD")) { _ = PFN_HANDLE_CMD; }
if (@hasDecl(@This(), "PNS_OSVERSIONCHECK")) { _ = PNS_OSVERSIONCHECK; }
if (@hasDecl(@This(), "PNS_DLL_INIT_FN")) { _ = PNS_DLL_INIT_FN; }
@setEvalBranchQuota(
@import("std").meta.declarations(@This()).len * 3
);
// reference all the pub declarations
if (!@import("std").builtin.is_test) return;
inline for (@import("std").meta.declarations(@This())) |decl| {
if (decl.is_pub) {
_ = decl;
}
}
}

View File

@ -0,0 +1,669 @@
//! NOTE: this file is autogenerated, DO NOT MODIFY
//--------------------------------------------------------------------------------
// Section: Constants (22)
//--------------------------------------------------------------------------------
pub const NDF_ERROR_START = @as(u32, 63744);
pub const RF_WORKAROUND = @as(u32, 536870912);
pub const RF_USER_ACTION = @as(u32, 268435456);
pub const RF_USER_CONFIRMATION = @as(u32, 134217728);
pub const RF_INFORMATION_ONLY = @as(u32, 33554432);
pub const RF_UI_ONLY = @as(u32, 16777216);
pub const RF_SHOW_EVENTS = @as(u32, 8388608);
pub const RF_VALIDATE_HELPTOPIC = @as(u32, 4194304);
pub const RF_REPRO = @as(u32, 2097152);
pub const RF_CONTACT_ADMIN = @as(u32, 131072);
pub const RF_RESERVED = @as(u32, 1073741824);
pub const RF_RESERVED_CA = @as(u32, 2147483648);
pub const RF_RESERVED_LNI = @as(u32, 65536);
pub const RCF_ISLEAF = @as(u32, 1);
pub const RCF_ISCONFIRMED = @as(u32, 2);
pub const RCF_ISTHIRDPARTY = @as(u32, 4);
pub const DF_IMPERSONATION = @as(u32, 2147483648);
pub const DF_TRACELESS = @as(u32, 1073741824);
pub const NDF_INBOUND_FLAG_EDGETRAVERSAL = @as(u32, 1);
pub const NDF_INBOUND_FLAG_HEALTHCHECK = @as(u32, 2);
pub const NDF_ADD_CAPTURE_TRACE = @as(u32, 1);
pub const NDF_APPLY_INCLUSION_LIST_FILTER = @as(u32, 2);
//--------------------------------------------------------------------------------
// Section: Types (25)
//--------------------------------------------------------------------------------
pub const ATTRIBUTE_TYPE = extern enum(i32) {
INVALID = 0,
BOOLEAN = 1,
INT8 = 2,
UINT8 = 3,
INT16 = 4,
UINT16 = 5,
INT32 = 6,
UINT32 = 7,
INT64 = 8,
UINT64 = 9,
STRING = 10,
GUID = 11,
LIFE_TIME = 12,
SOCKADDR = 13,
OCTET_STRING = 14,
};
pub const AT_INVALID = ATTRIBUTE_TYPE.INVALID;
pub const AT_BOOLEAN = ATTRIBUTE_TYPE.BOOLEAN;
pub const AT_INT8 = ATTRIBUTE_TYPE.INT8;
pub const AT_UINT8 = ATTRIBUTE_TYPE.UINT8;
pub const AT_INT16 = ATTRIBUTE_TYPE.INT16;
pub const AT_UINT16 = ATTRIBUTE_TYPE.UINT16;
pub const AT_INT32 = ATTRIBUTE_TYPE.INT32;
pub const AT_UINT32 = ATTRIBUTE_TYPE.UINT32;
pub const AT_INT64 = ATTRIBUTE_TYPE.INT64;
pub const AT_UINT64 = ATTRIBUTE_TYPE.UINT64;
pub const AT_STRING = ATTRIBUTE_TYPE.STRING;
pub const AT_GUID = ATTRIBUTE_TYPE.GUID;
pub const AT_LIFE_TIME = ATTRIBUTE_TYPE.LIFE_TIME;
pub const AT_SOCKADDR = ATTRIBUTE_TYPE.SOCKADDR;
pub const AT_OCTET_STRING = ATTRIBUTE_TYPE.OCTET_STRING;
pub const OCTET_STRING = extern struct {
dwLength: u32,
lpValue: *u8,
};
pub const LIFE_TIME = extern struct {
startTime: FILETIME,
endTime: FILETIME,
};
pub const DIAG_SOCKADDR = extern struct {
family: u16,
data: [126]CHAR,
};
pub const HELPER_ATTRIBUTE = extern struct {
pwszName: PWSTR,
type: ATTRIBUTE_TYPE,
Anonymous: _Anonymous_e__Union,
const _Anonymous_e__Union = u32; // TODO: generate this nested type!
};
pub const REPAIR_SCOPE = extern enum(i32) {
SYSTEM = 0,
USER = 1,
APPLICATION = 2,
PROCESS = 3,
};
pub const RS_SYSTEM = REPAIR_SCOPE.SYSTEM;
pub const RS_USER = REPAIR_SCOPE.USER;
pub const RS_APPLICATION = REPAIR_SCOPE.APPLICATION;
pub const RS_PROCESS = REPAIR_SCOPE.PROCESS;
pub const REPAIR_RISK = extern enum(i32) {
NOROLLBACK = 0,
ROLLBACK = 1,
NORISK = 2,
};
pub const RR_NOROLLBACK = REPAIR_RISK.NOROLLBACK;
pub const RR_ROLLBACK = REPAIR_RISK.ROLLBACK;
pub const RR_NORISK = REPAIR_RISK.NORISK;
pub const UI_INFO_TYPE = extern enum(i32) {
INVALID = 0,
NONE = 1,
SHELL_COMMAND = 2,
HELP_PANE = 3,
DUI = 4,
};
pub const UIT_INVALID = UI_INFO_TYPE.INVALID;
pub const UIT_NONE = UI_INFO_TYPE.NONE;
pub const UIT_SHELL_COMMAND = UI_INFO_TYPE.SHELL_COMMAND;
pub const UIT_HELP_PANE = UI_INFO_TYPE.HELP_PANE;
pub const UIT_DUI = UI_INFO_TYPE.DUI;
pub const ShellCommandInfo = extern struct {
pwszOperation: PWSTR,
pwszFile: PWSTR,
pwszParameters: PWSTR,
pwszDirectory: PWSTR,
nShowCmd: u32,
};
pub const UiInfo = extern struct {
type: UI_INFO_TYPE,
Anonymous: _Anonymous_e__Union,
const _Anonymous_e__Union = u32; // TODO: generate this nested type!
};
pub const RepairInfo = extern struct {
guid: Guid,
pwszClassName: PWSTR,
pwszDescription: PWSTR,
sidType: u32,
cost: i32,
flags: u32,
scope: REPAIR_SCOPE,
risk: REPAIR_RISK,
UiInfo: UiInfo,
rootCauseIndex: i32,
};
pub const RepairInfoEx = extern struct {
repair: RepairInfo,
repairRank: u16,
};
pub const RootCauseInfo = extern struct {
pwszDescription: PWSTR,
rootCauseID: Guid,
rootCauseFlags: u32,
networkInterfaceID: Guid,
pRepairs: *RepairInfoEx,
repairCount: u16,
};
pub const DIAGNOSIS_STATUS = extern enum(i32) {
NOT_IMPLEMENTED = 0,
CONFIRMED = 1,
REJECTED = 2,
INDETERMINATE = 3,
DEFERRED = 4,
PASSTHROUGH = 5,
};
pub const DS_NOT_IMPLEMENTED = DIAGNOSIS_STATUS.NOT_IMPLEMENTED;
pub const DS_CONFIRMED = DIAGNOSIS_STATUS.CONFIRMED;
pub const DS_REJECTED = DIAGNOSIS_STATUS.REJECTED;
pub const DS_INDETERMINATE = DIAGNOSIS_STATUS.INDETERMINATE;
pub const DS_DEFERRED = DIAGNOSIS_STATUS.DEFERRED;
pub const DS_PASSTHROUGH = DIAGNOSIS_STATUS.PASSTHROUGH;
pub const REPAIR_STATUS = extern enum(i32) {
NOT_IMPLEMENTED = 0,
REPAIRED = 1,
UNREPAIRED = 2,
DEFERRED = 3,
USER_ACTION = 4,
};
pub const RS_NOT_IMPLEMENTED = REPAIR_STATUS.NOT_IMPLEMENTED;
pub const RS_REPAIRED = REPAIR_STATUS.REPAIRED;
pub const RS_UNREPAIRED = REPAIR_STATUS.UNREPAIRED;
pub const RS_DEFERRED = REPAIR_STATUS.DEFERRED;
pub const RS_USER_ACTION = REPAIR_STATUS.USER_ACTION;
pub const PROBLEM_TYPE = extern enum(i32) {
INVALID = 0,
LOW_HEALTH = 1,
LOWER_HEALTH = 2,
DOWN_STREAM_HEALTH = 4,
HIGH_UTILIZATION = 8,
HIGHER_UTILIZATION = 16,
UP_STREAM_UTILIZATION = 32,
};
pub const PT_INVALID = PROBLEM_TYPE.INVALID;
pub const PT_LOW_HEALTH = PROBLEM_TYPE.LOW_HEALTH;
pub const PT_LOWER_HEALTH = PROBLEM_TYPE.LOWER_HEALTH;
pub const PT_DOWN_STREAM_HEALTH = PROBLEM_TYPE.DOWN_STREAM_HEALTH;
pub const PT_HIGH_UTILIZATION = PROBLEM_TYPE.HIGH_UTILIZATION;
pub const PT_HIGHER_UTILIZATION = PROBLEM_TYPE.HIGHER_UTILIZATION;
pub const PT_UP_STREAM_UTILIZATION = PROBLEM_TYPE.UP_STREAM_UTILIZATION;
pub const HYPOTHESIS = extern struct {
pwszClassName: PWSTR,
pwszDescription: PWSTR,
celt: u32,
rgAttributes: *HELPER_ATTRIBUTE,
};
pub const HelperAttributeInfo = extern struct {
pwszName: PWSTR,
type: ATTRIBUTE_TYPE,
};
pub const DiagnosticsInfo = extern struct {
cost: i32,
flags: u32,
};
// TODO: this type is limited to platform 'windows6.0.6000'
const IID_INetDiagHelper_Value = @import("../zig.zig").Guid.initString("c0b35746-ebf5-11d8-bbe9-505054503030");
pub const IID_INetDiagHelper = &IID_INetDiagHelper_Value;
pub const INetDiagHelper = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
Initialize: fn(
self: *const INetDiagHelper,
celt: u32,
rgAttributes: [*]HELPER_ATTRIBUTE,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
GetDiagnosticsInfo: fn(
self: *const INetDiagHelper,
ppInfo: **DiagnosticsInfo,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
GetKeyAttributes: fn(
self: *const INetDiagHelper,
pcelt: *u32,
pprgAttributes: [*]*HELPER_ATTRIBUTE,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
LowHealth: fn(
self: *const INetDiagHelper,
pwszInstanceDescription: [*:0]const u16,
ppwszDescription: *PWSTR,
pDeferredTime: *i32,
pStatus: *DIAGNOSIS_STATUS,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
HighUtilization: fn(
self: *const INetDiagHelper,
pwszInstanceDescription: [*:0]const u16,
ppwszDescription: *PWSTR,
pDeferredTime: *i32,
pStatus: *DIAGNOSIS_STATUS,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
GetLowerHypotheses: fn(
self: *const INetDiagHelper,
pcelt: *u32,
pprgHypotheses: [*]*HYPOTHESIS,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
GetDownStreamHypotheses: fn(
self: *const INetDiagHelper,
pcelt: *u32,
pprgHypotheses: [*]*HYPOTHESIS,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
GetHigherHypotheses: fn(
self: *const INetDiagHelper,
pcelt: *u32,
pprgHypotheses: [*]*HYPOTHESIS,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
GetUpStreamHypotheses: fn(
self: *const INetDiagHelper,
pcelt: *u32,
pprgHypotheses: [*]*HYPOTHESIS,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
Repair: fn(
self: *const INetDiagHelper,
pInfo: *RepairInfo,
pDeferredTime: *i32,
pStatus: *REPAIR_STATUS,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
Validate: fn(
self: *const INetDiagHelper,
problem: PROBLEM_TYPE,
pDeferredTime: *i32,
pStatus: *REPAIR_STATUS,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
GetRepairInfo: fn(
self: *const INetDiagHelper,
problem: PROBLEM_TYPE,
pcelt: *u32,
ppInfo: [*]*RepairInfo,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
GetLifeTime: fn(
self: *const INetDiagHelper,
pLifeTime: *LIFE_TIME,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
SetLifeTime: fn(
self: *const INetDiagHelper,
lifeTime: LIFE_TIME,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
GetCacheTime: fn(
self: *const INetDiagHelper,
pCacheTime: *FILETIME,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
GetAttributes: fn(
self: *const INetDiagHelper,
pcelt: *u32,
pprgAttributes: [*]*HELPER_ATTRIBUTE,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
Cancel: fn(
self: *const INetDiagHelper,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
Cleanup: fn(
self: *const INetDiagHelper,
) 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 INetDiagHelper_Initialize(self: *const T, celt: u32, rgAttributes: [*]HELPER_ATTRIBUTE) callconv(.Inline) HRESULT {
return @ptrCast(*const INetDiagHelper.VTable, self.vtable).Initialize(@ptrCast(*const INetDiagHelper, self), celt, rgAttributes);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn INetDiagHelper_GetDiagnosticsInfo(self: *const T, ppInfo: **DiagnosticsInfo) callconv(.Inline) HRESULT {
return @ptrCast(*const INetDiagHelper.VTable, self.vtable).GetDiagnosticsInfo(@ptrCast(*const INetDiagHelper, self), ppInfo);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn INetDiagHelper_GetKeyAttributes(self: *const T, pcelt: *u32, pprgAttributes: [*]*HELPER_ATTRIBUTE) callconv(.Inline) HRESULT {
return @ptrCast(*const INetDiagHelper.VTable, self.vtable).GetKeyAttributes(@ptrCast(*const INetDiagHelper, self), pcelt, pprgAttributes);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn INetDiagHelper_LowHealth(self: *const T, pwszInstanceDescription: [*:0]const u16, ppwszDescription: *PWSTR, pDeferredTime: *i32, pStatus: *DIAGNOSIS_STATUS) callconv(.Inline) HRESULT {
return @ptrCast(*const INetDiagHelper.VTable, self.vtable).LowHealth(@ptrCast(*const INetDiagHelper, self), pwszInstanceDescription, ppwszDescription, pDeferredTime, pStatus);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn INetDiagHelper_HighUtilization(self: *const T, pwszInstanceDescription: [*:0]const u16, ppwszDescription: *PWSTR, pDeferredTime: *i32, pStatus: *DIAGNOSIS_STATUS) callconv(.Inline) HRESULT {
return @ptrCast(*const INetDiagHelper.VTable, self.vtable).HighUtilization(@ptrCast(*const INetDiagHelper, self), pwszInstanceDescription, ppwszDescription, pDeferredTime, pStatus);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn INetDiagHelper_GetLowerHypotheses(self: *const T, pcelt: *u32, pprgHypotheses: [*]*HYPOTHESIS) callconv(.Inline) HRESULT {
return @ptrCast(*const INetDiagHelper.VTable, self.vtable).GetLowerHypotheses(@ptrCast(*const INetDiagHelper, self), pcelt, pprgHypotheses);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn INetDiagHelper_GetDownStreamHypotheses(self: *const T, pcelt: *u32, pprgHypotheses: [*]*HYPOTHESIS) callconv(.Inline) HRESULT {
return @ptrCast(*const INetDiagHelper.VTable, self.vtable).GetDownStreamHypotheses(@ptrCast(*const INetDiagHelper, self), pcelt, pprgHypotheses);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn INetDiagHelper_GetHigherHypotheses(self: *const T, pcelt: *u32, pprgHypotheses: [*]*HYPOTHESIS) callconv(.Inline) HRESULT {
return @ptrCast(*const INetDiagHelper.VTable, self.vtable).GetHigherHypotheses(@ptrCast(*const INetDiagHelper, self), pcelt, pprgHypotheses);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn INetDiagHelper_GetUpStreamHypotheses(self: *const T, pcelt: *u32, pprgHypotheses: [*]*HYPOTHESIS) callconv(.Inline) HRESULT {
return @ptrCast(*const INetDiagHelper.VTable, self.vtable).GetUpStreamHypotheses(@ptrCast(*const INetDiagHelper, self), pcelt, pprgHypotheses);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn INetDiagHelper_Repair(self: *const T, pInfo: *RepairInfo, pDeferredTime: *i32, pStatus: *REPAIR_STATUS) callconv(.Inline) HRESULT {
return @ptrCast(*const INetDiagHelper.VTable, self.vtable).Repair(@ptrCast(*const INetDiagHelper, self), pInfo, pDeferredTime, pStatus);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn INetDiagHelper_Validate(self: *const T, problem: PROBLEM_TYPE, pDeferredTime: *i32, pStatus: *REPAIR_STATUS) callconv(.Inline) HRESULT {
return @ptrCast(*const INetDiagHelper.VTable, self.vtable).Validate(@ptrCast(*const INetDiagHelper, self), problem, pDeferredTime, pStatus);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn INetDiagHelper_GetRepairInfo(self: *const T, problem: PROBLEM_TYPE, pcelt: *u32, ppInfo: [*]*RepairInfo) callconv(.Inline) HRESULT {
return @ptrCast(*const INetDiagHelper.VTable, self.vtable).GetRepairInfo(@ptrCast(*const INetDiagHelper, self), problem, pcelt, ppInfo);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn INetDiagHelper_GetLifeTime(self: *const T, pLifeTime: *LIFE_TIME) callconv(.Inline) HRESULT {
return @ptrCast(*const INetDiagHelper.VTable, self.vtable).GetLifeTime(@ptrCast(*const INetDiagHelper, self), pLifeTime);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn INetDiagHelper_SetLifeTime(self: *const T, lifeTime: LIFE_TIME) callconv(.Inline) HRESULT {
return @ptrCast(*const INetDiagHelper.VTable, self.vtable).SetLifeTime(@ptrCast(*const INetDiagHelper, self), lifeTime);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn INetDiagHelper_GetCacheTime(self: *const T, pCacheTime: *FILETIME) callconv(.Inline) HRESULT {
return @ptrCast(*const INetDiagHelper.VTable, self.vtable).GetCacheTime(@ptrCast(*const INetDiagHelper, self), pCacheTime);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn INetDiagHelper_GetAttributes(self: *const T, pcelt: *u32, pprgAttributes: [*]*HELPER_ATTRIBUTE) callconv(.Inline) HRESULT {
return @ptrCast(*const INetDiagHelper.VTable, self.vtable).GetAttributes(@ptrCast(*const INetDiagHelper, self), pcelt, pprgAttributes);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn INetDiagHelper_Cancel(self: *const T) callconv(.Inline) HRESULT {
return @ptrCast(*const INetDiagHelper.VTable, self.vtable).Cancel(@ptrCast(*const INetDiagHelper, self));
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn INetDiagHelper_Cleanup(self: *const T) callconv(.Inline) HRESULT {
return @ptrCast(*const INetDiagHelper.VTable, self.vtable).Cleanup(@ptrCast(*const INetDiagHelper, self));
}
};}
pub usingnamespace MethodMixin(@This());
};
pub const HypothesisResult = extern struct {
hypothesis: HYPOTHESIS,
pathStatus: DIAGNOSIS_STATUS,
};
// TODO: this type is limited to platform 'windows6.1'
const IID_INetDiagHelperUtilFactory_Value = @import("../zig.zig").Guid.initString("104613fb-bc57-4178-95ba-88809698354a");
pub const IID_INetDiagHelperUtilFactory = &IID_INetDiagHelperUtilFactory_Value;
pub const INetDiagHelperUtilFactory = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
CreateUtilityInstance: fn(
self: *const INetDiagHelperUtilFactory,
riid: *const Guid,
ppvObject: **c_void,
) 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 INetDiagHelperUtilFactory_CreateUtilityInstance(self: *const T, riid: *const Guid, ppvObject: **c_void) callconv(.Inline) HRESULT {
return @ptrCast(*const INetDiagHelperUtilFactory.VTable, self.vtable).CreateUtilityInstance(@ptrCast(*const INetDiagHelperUtilFactory, self), riid, ppvObject);
}
};}
pub usingnamespace MethodMixin(@This());
};
// TODO: this type is limited to platform 'windows6.1'
const IID_INetDiagHelperEx_Value = @import("../zig.zig").Guid.initString("972dab4d-e4e3-4fc6-ae54-5f65ccde4a15");
pub const IID_INetDiagHelperEx = &IID_INetDiagHelperEx_Value;
pub const INetDiagHelperEx = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
ReconfirmLowHealth: fn(
self: *const INetDiagHelperEx,
celt: u32,
pResults: [*]HypothesisResult,
ppwszUpdatedDescription: *PWSTR,
pUpdatedStatus: *DIAGNOSIS_STATUS,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
SetUtilities: fn(
self: *const INetDiagHelperEx,
pUtilities: *INetDiagHelperUtilFactory,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
ReproduceFailure: fn(
self: *const INetDiagHelperEx,
) 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 INetDiagHelperEx_ReconfirmLowHealth(self: *const T, celt: u32, pResults: [*]HypothesisResult, ppwszUpdatedDescription: *PWSTR, pUpdatedStatus: *DIAGNOSIS_STATUS) callconv(.Inline) HRESULT {
return @ptrCast(*const INetDiagHelperEx.VTable, self.vtable).ReconfirmLowHealth(@ptrCast(*const INetDiagHelperEx, self), celt, pResults, ppwszUpdatedDescription, pUpdatedStatus);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn INetDiagHelperEx_SetUtilities(self: *const T, pUtilities: *INetDiagHelperUtilFactory) callconv(.Inline) HRESULT {
return @ptrCast(*const INetDiagHelperEx.VTable, self.vtable).SetUtilities(@ptrCast(*const INetDiagHelperEx, self), pUtilities);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn INetDiagHelperEx_ReproduceFailure(self: *const T) callconv(.Inline) HRESULT {
return @ptrCast(*const INetDiagHelperEx.VTable, self.vtable).ReproduceFailure(@ptrCast(*const INetDiagHelperEx, self));
}
};}
pub usingnamespace MethodMixin(@This());
};
// TODO: this type is limited to platform 'windows6.0.6000'
const IID_INetDiagHelperInfo_Value = @import("../zig.zig").Guid.initString("c0b35747-ebf5-11d8-bbe9-505054503030");
pub const IID_INetDiagHelperInfo = &IID_INetDiagHelperInfo_Value;
pub const INetDiagHelperInfo = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
GetAttributeInfo: fn(
self: *const INetDiagHelperInfo,
pcelt: *u32,
pprgAttributeInfos: [*]*HelperAttributeInfo,
) 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 INetDiagHelperInfo_GetAttributeInfo(self: *const T, pcelt: *u32, pprgAttributeInfos: [*]*HelperAttributeInfo) callconv(.Inline) HRESULT {
return @ptrCast(*const INetDiagHelperInfo.VTable, self.vtable).GetAttributeInfo(@ptrCast(*const INetDiagHelperInfo, self), pcelt, pprgAttributeInfos);
}
};}
pub usingnamespace MethodMixin(@This());
};
const IID_INetDiagExtensibleHelper_Value = @import("../zig.zig").Guid.initString("c0b35748-ebf5-11d8-bbe9-505054503030");
pub const IID_INetDiagExtensibleHelper = &IID_INetDiagExtensibleHelper_Value;
pub const INetDiagExtensibleHelper = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
ResolveAttributes: fn(
self: *const INetDiagExtensibleHelper,
celt: u32,
rgKeyAttributes: [*]HELPER_ATTRIBUTE,
pcelt: *u32,
prgMatchValues: [*]*HELPER_ATTRIBUTE,
) 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 INetDiagExtensibleHelper_ResolveAttributes(self: *const T, celt: u32, rgKeyAttributes: [*]HELPER_ATTRIBUTE, pcelt: *u32, prgMatchValues: [*]*HELPER_ATTRIBUTE) callconv(.Inline) HRESULT {
return @ptrCast(*const INetDiagExtensibleHelper.VTable, self.vtable).ResolveAttributes(@ptrCast(*const INetDiagExtensibleHelper, self), celt, rgKeyAttributes, pcelt, prgMatchValues);
}
};}
pub usingnamespace MethodMixin(@This());
};
//--------------------------------------------------------------------------------
// Section: Functions (16)
//--------------------------------------------------------------------------------
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "NDFAPI" fn NdfCreateIncident(
helperClassName: [*:0]const u16,
celt: u32,
attributes: [*]HELPER_ATTRIBUTE,
handle: **c_void,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "NDFAPI" fn NdfCreateWinSockIncident(
sock: usize,
host: ?[*:0]const u16,
port: u16,
appId: ?[*:0]const u16,
userId: ?*SID,
handle: **c_void,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "NDFAPI" fn NdfCreateWebIncident(
url: [*:0]const u16,
handle: **c_void,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "NDFAPI" fn NdfCreateWebIncidentEx(
url: [*:0]const u16,
useWinHTTP: BOOL,
moduleName: ?PWSTR,
handle: **c_void,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "NDFAPI" fn NdfCreateSharingIncident(
UNCPath: [*:0]const u16,
handle: **c_void,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "NDFAPI" fn NdfCreateDNSIncident(
hostname: [*:0]const u16,
queryType: u16,
handle: **c_void,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "NDFAPI" fn NdfCreateConnectivityIncident(
handle: **c_void,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows8.0'
pub extern "NDFAPI" fn NdfCreateNetConnectionIncident(
handle: **c_void,
id: Guid,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows6.1'
pub extern "NDFAPI" fn NdfCreatePnrpIncident(
cloudname: [*:0]const u16,
peername: ?[*:0]const u16,
diagnosePublish: BOOL,
appId: ?[*:0]const u16,
handle: **c_void,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows6.1'
pub extern "NDFAPI" fn NdfCreateGroupingIncident(
CloudName: ?[*:0]const u16,
GroupName: ?[*:0]const u16,
Identity: ?[*:0]const u16,
Invitation: ?[*:0]const u16,
Addresses: ?*SOCKET_ADDRESS_LIST,
appId: ?[*:0]const u16,
handle: **c_void,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "NDFAPI" fn NdfExecuteDiagnosis(
handle: *c_void,
hwnd: HWND,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "NDFAPI" fn NdfCloseIncident(
handle: *c_void,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows6.1'
pub extern "NDFAPI" fn NdfDiagnoseIncident(
Handle: *c_void,
RootCauseCount: *u32,
RootCauses: **RootCauseInfo,
dwWait: u32,
dwFlags: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows6.1'
pub extern "NDFAPI" fn NdfRepairIncident(
Handle: *c_void,
RepairEx: *RepairInfoEx,
dwWait: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows6.1'
pub extern "NDFAPI" fn NdfCancelIncident(
Handle: *c_void,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows6.1'
pub extern "NDFAPI" fn NdfGetTraceFile(
Handle: *c_void,
TraceFileLocation: *PWSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
//--------------------------------------------------------------------------------
// Section: Unicode Aliases (0)
//--------------------------------------------------------------------------------
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 FILETIME = @import("windows_programming.zig").FILETIME;
const PWSTR = @import("system_services.zig").PWSTR;
const CHAR = @import("system_services.zig").CHAR;
const IUnknown = @import("com.zig").IUnknown;
const SID = @import("security.zig").SID;
const HRESULT = @import("com.zig").HRESULT;
const SOCKET_ADDRESS_LIST = @import("network_drivers.zig").SOCKET_ADDRESS_LIST;
const BOOL = @import("system_services.zig").BOOL;
const HWND = @import("windows_and_messaging.zig").HWND;
test {
@setEvalBranchQuota(
@import("std").meta.declarations(@This()).len * 3
);
// reference all the pub declarations
if (!@import("std").builtin.is_test) return;
inline for (@import("std").meta.declarations(@This())) |decl| {
if (decl.is_pub) {
_ = decl;
}
}
}

View File

@ -0,0 +1,459 @@
//! NOTE: this file is autogenerated, DO NOT MODIFY
//--------------------------------------------------------------------------------
// Section: Constants (0)
//--------------------------------------------------------------------------------
//--------------------------------------------------------------------------------
// Section: Types (23)
//--------------------------------------------------------------------------------
pub const SOCKET_ADDRESS_LIST = extern struct {
iAddressCount: i32,
Address: [1]SOCKET_ADDRESS,
};
pub const SOCKADDR_STORAGE_XP = extern struct {
ss_family: i16,
__ss_pad1: [6]CHAR,
__ss_align: i64,
__ss_pad2: [112]CHAR,
};
pub const IN6_ADDR = extern struct {
u: _u_e__Union,
const _u_e__Union = u32; // TODO: generate this nested type!
};
pub const SOCKADDR_IN6_W2KSP1 = extern struct {
sin6_family: i16,
sin6_port: u16,
sin6_flowinfo: u32,
sin6_addr: IN6_ADDR,
sin6_scope_id: u32,
};
pub const NL_ROUTE_PROTOCOL = extern enum(i32) {
RouteProtocolOther = 1,
RouteProtocolLocal = 2,
RouteProtocolNetMgmt = 3,
RouteProtocolIcmp = 4,
RouteProtocolEgp = 5,
RouteProtocolGgp = 6,
RouteProtocolHello = 7,
RouteProtocolRip = 8,
RouteProtocolIsIs = 9,
RouteProtocolEsIs = 10,
RouteProtocolCisco = 11,
RouteProtocolBbn = 12,
RouteProtocolOspf = 13,
RouteProtocolBgp = 14,
RouteProtocolIdpr = 15,
RouteProtocolEigrp = 16,
RouteProtocolDvmrp = 17,
RouteProtocolRpl = 18,
RouteProtocolDhcp = 19,
MIB_IPPROTO_OTHER = 1,
PROTO_IP_OTHER = 1,
MIB_IPPROTO_LOCAL = 2,
PROTO_IP_LOCAL = 2,
MIB_IPPROTO_NETMGMT = 3,
PROTO_IP_NETMGMT = 3,
MIB_IPPROTO_ICMP = 4,
PROTO_IP_ICMP = 4,
MIB_IPPROTO_EGP = 5,
PROTO_IP_EGP = 5,
MIB_IPPROTO_GGP = 6,
PROTO_IP_GGP = 6,
MIB_IPPROTO_HELLO = 7,
PROTO_IP_HELLO = 7,
MIB_IPPROTO_RIP = 8,
PROTO_IP_RIP = 8,
MIB_IPPROTO_IS_IS = 9,
PROTO_IP_IS_IS = 9,
MIB_IPPROTO_ES_IS = 10,
PROTO_IP_ES_IS = 10,
MIB_IPPROTO_CISCO = 11,
PROTO_IP_CISCO = 11,
MIB_IPPROTO_BBN = 12,
PROTO_IP_BBN = 12,
MIB_IPPROTO_OSPF = 13,
PROTO_IP_OSPF = 13,
MIB_IPPROTO_BGP = 14,
PROTO_IP_BGP = 14,
MIB_IPPROTO_IDPR = 15,
PROTO_IP_IDPR = 15,
MIB_IPPROTO_EIGRP = 16,
PROTO_IP_EIGRP = 16,
MIB_IPPROTO_DVMRP = 17,
PROTO_IP_DVMRP = 17,
MIB_IPPROTO_RPL = 18,
PROTO_IP_RPL = 18,
MIB_IPPROTO_DHCP = 19,
PROTO_IP_DHCP = 19,
MIB_IPPROTO_NT_AUTOSTATIC = 10002,
PROTO_IP_NT_AUTOSTATIC = 10002,
MIB_IPPROTO_NT_STATIC = 10006,
PROTO_IP_NT_STATIC = 10006,
MIB_IPPROTO_NT_STATIC_NON_DOD = 10007,
PROTO_IP_NT_STATIC_NON_DOD = 10007,
};
pub const RouteProtocolOther = NL_ROUTE_PROTOCOL.RouteProtocolOther;
pub const RouteProtocolLocal = NL_ROUTE_PROTOCOL.RouteProtocolLocal;
pub const RouteProtocolNetMgmt = NL_ROUTE_PROTOCOL.RouteProtocolNetMgmt;
pub const RouteProtocolIcmp = NL_ROUTE_PROTOCOL.RouteProtocolIcmp;
pub const RouteProtocolEgp = NL_ROUTE_PROTOCOL.RouteProtocolEgp;
pub const RouteProtocolGgp = NL_ROUTE_PROTOCOL.RouteProtocolGgp;
pub const RouteProtocolHello = NL_ROUTE_PROTOCOL.RouteProtocolHello;
pub const RouteProtocolRip = NL_ROUTE_PROTOCOL.RouteProtocolRip;
pub const RouteProtocolIsIs = NL_ROUTE_PROTOCOL.RouteProtocolIsIs;
pub const RouteProtocolEsIs = NL_ROUTE_PROTOCOL.RouteProtocolEsIs;
pub const RouteProtocolCisco = NL_ROUTE_PROTOCOL.RouteProtocolCisco;
pub const RouteProtocolBbn = NL_ROUTE_PROTOCOL.RouteProtocolBbn;
pub const RouteProtocolOspf = NL_ROUTE_PROTOCOL.RouteProtocolOspf;
pub const RouteProtocolBgp = NL_ROUTE_PROTOCOL.RouteProtocolBgp;
pub const RouteProtocolIdpr = NL_ROUTE_PROTOCOL.RouteProtocolIdpr;
pub const RouteProtocolEigrp = NL_ROUTE_PROTOCOL.RouteProtocolEigrp;
pub const RouteProtocolDvmrp = NL_ROUTE_PROTOCOL.RouteProtocolDvmrp;
pub const RouteProtocolRpl = NL_ROUTE_PROTOCOL.RouteProtocolRpl;
pub const RouteProtocolDhcp = NL_ROUTE_PROTOCOL.RouteProtocolDhcp;
pub const MIB_IPPROTO_OTHER = NL_ROUTE_PROTOCOL.MIB_IPPROTO_OTHER;
pub const PROTO_IP_OTHER = NL_ROUTE_PROTOCOL.PROTO_IP_OTHER;
pub const MIB_IPPROTO_LOCAL = NL_ROUTE_PROTOCOL.MIB_IPPROTO_LOCAL;
pub const PROTO_IP_LOCAL = NL_ROUTE_PROTOCOL.PROTO_IP_LOCAL;
pub const MIB_IPPROTO_NETMGMT = NL_ROUTE_PROTOCOL.MIB_IPPROTO_NETMGMT;
pub const PROTO_IP_NETMGMT = NL_ROUTE_PROTOCOL.PROTO_IP_NETMGMT;
pub const MIB_IPPROTO_ICMP = NL_ROUTE_PROTOCOL.MIB_IPPROTO_ICMP;
pub const PROTO_IP_ICMP = NL_ROUTE_PROTOCOL.PROTO_IP_ICMP;
pub const MIB_IPPROTO_EGP = NL_ROUTE_PROTOCOL.MIB_IPPROTO_EGP;
pub const PROTO_IP_EGP = NL_ROUTE_PROTOCOL.PROTO_IP_EGP;
pub const MIB_IPPROTO_GGP = NL_ROUTE_PROTOCOL.MIB_IPPROTO_GGP;
pub const PROTO_IP_GGP = NL_ROUTE_PROTOCOL.PROTO_IP_GGP;
pub const MIB_IPPROTO_HELLO = NL_ROUTE_PROTOCOL.MIB_IPPROTO_HELLO;
pub const PROTO_IP_HELLO = NL_ROUTE_PROTOCOL.PROTO_IP_HELLO;
pub const MIB_IPPROTO_RIP = NL_ROUTE_PROTOCOL.MIB_IPPROTO_RIP;
pub const PROTO_IP_RIP = NL_ROUTE_PROTOCOL.PROTO_IP_RIP;
pub const MIB_IPPROTO_IS_IS = NL_ROUTE_PROTOCOL.MIB_IPPROTO_IS_IS;
pub const PROTO_IP_IS_IS = NL_ROUTE_PROTOCOL.PROTO_IP_IS_IS;
pub const MIB_IPPROTO_ES_IS = NL_ROUTE_PROTOCOL.MIB_IPPROTO_ES_IS;
pub const PROTO_IP_ES_IS = NL_ROUTE_PROTOCOL.PROTO_IP_ES_IS;
pub const MIB_IPPROTO_CISCO = NL_ROUTE_PROTOCOL.MIB_IPPROTO_CISCO;
pub const PROTO_IP_CISCO = NL_ROUTE_PROTOCOL.PROTO_IP_CISCO;
pub const MIB_IPPROTO_BBN = NL_ROUTE_PROTOCOL.MIB_IPPROTO_BBN;
pub const PROTO_IP_BBN = NL_ROUTE_PROTOCOL.PROTO_IP_BBN;
pub const MIB_IPPROTO_OSPF = NL_ROUTE_PROTOCOL.MIB_IPPROTO_OSPF;
pub const PROTO_IP_OSPF = NL_ROUTE_PROTOCOL.PROTO_IP_OSPF;
pub const MIB_IPPROTO_BGP = NL_ROUTE_PROTOCOL.MIB_IPPROTO_BGP;
pub const PROTO_IP_BGP = NL_ROUTE_PROTOCOL.PROTO_IP_BGP;
pub const MIB_IPPROTO_IDPR = NL_ROUTE_PROTOCOL.MIB_IPPROTO_IDPR;
pub const PROTO_IP_IDPR = NL_ROUTE_PROTOCOL.PROTO_IP_IDPR;
pub const MIB_IPPROTO_EIGRP = NL_ROUTE_PROTOCOL.MIB_IPPROTO_EIGRP;
pub const PROTO_IP_EIGRP = NL_ROUTE_PROTOCOL.PROTO_IP_EIGRP;
pub const MIB_IPPROTO_DVMRP = NL_ROUTE_PROTOCOL.MIB_IPPROTO_DVMRP;
pub const PROTO_IP_DVMRP = NL_ROUTE_PROTOCOL.PROTO_IP_DVMRP;
pub const MIB_IPPROTO_RPL = NL_ROUTE_PROTOCOL.MIB_IPPROTO_RPL;
pub const PROTO_IP_RPL = NL_ROUTE_PROTOCOL.PROTO_IP_RPL;
pub const MIB_IPPROTO_DHCP = NL_ROUTE_PROTOCOL.MIB_IPPROTO_DHCP;
pub const PROTO_IP_DHCP = NL_ROUTE_PROTOCOL.PROTO_IP_DHCP;
pub const MIB_IPPROTO_NT_AUTOSTATIC = NL_ROUTE_PROTOCOL.MIB_IPPROTO_NT_AUTOSTATIC;
pub const PROTO_IP_NT_AUTOSTATIC = NL_ROUTE_PROTOCOL.PROTO_IP_NT_AUTOSTATIC;
pub const MIB_IPPROTO_NT_STATIC = NL_ROUTE_PROTOCOL.MIB_IPPROTO_NT_STATIC;
pub const PROTO_IP_NT_STATIC = NL_ROUTE_PROTOCOL.PROTO_IP_NT_STATIC;
pub const MIB_IPPROTO_NT_STATIC_NON_DOD = NL_ROUTE_PROTOCOL.MIB_IPPROTO_NT_STATIC_NON_DOD;
pub const PROTO_IP_NT_STATIC_NON_DOD = NL_ROUTE_PROTOCOL.PROTO_IP_NT_STATIC_NON_DOD;
pub const NL_ADDRESS_TYPE = extern enum(i32) {
Unspecified = 0,
Unicast = 1,
Anycast = 2,
Multicast = 3,
Broadcast = 4,
Invalid = 5,
};
pub const NlatUnspecified = NL_ADDRESS_TYPE.Unspecified;
pub const NlatUnicast = NL_ADDRESS_TYPE.Unicast;
pub const NlatAnycast = NL_ADDRESS_TYPE.Anycast;
pub const NlatMulticast = NL_ADDRESS_TYPE.Multicast;
pub const NlatBroadcast = NL_ADDRESS_TYPE.Broadcast;
pub const NlatInvalid = NL_ADDRESS_TYPE.Invalid;
pub const NL_ROUTE_ORIGIN = extern enum(i32) {
Manual = 0,
WellKnown = 1,
DHCP = 2,
RouterAdvertisement = 3,
@"6to4" = 4,
};
pub const NlroManual = NL_ROUTE_ORIGIN.Manual;
pub const NlroWellKnown = NL_ROUTE_ORIGIN.WellKnown;
pub const NlroDHCP = NL_ROUTE_ORIGIN.DHCP;
pub const NlroRouterAdvertisement = NL_ROUTE_ORIGIN.RouterAdvertisement;
pub const Nlro6to4 = NL_ROUTE_ORIGIN.@"6to4";
pub const NL_NEIGHBOR_STATE = extern enum(i32) {
Unreachable = 0,
Incomplete = 1,
Probe = 2,
Delay = 3,
Stale = 4,
Reachable = 5,
Permanent = 6,
Maximum = 7,
};
pub const NlnsUnreachable = NL_NEIGHBOR_STATE.Unreachable;
pub const NlnsIncomplete = NL_NEIGHBOR_STATE.Incomplete;
pub const NlnsProbe = NL_NEIGHBOR_STATE.Probe;
pub const NlnsDelay = NL_NEIGHBOR_STATE.Delay;
pub const NlnsStale = NL_NEIGHBOR_STATE.Stale;
pub const NlnsReachable = NL_NEIGHBOR_STATE.Reachable;
pub const NlnsPermanent = NL_NEIGHBOR_STATE.Permanent;
pub const NlnsMaximum = NL_NEIGHBOR_STATE.Maximum;
pub const NL_LINK_LOCAL_ADDRESS_BEHAVIOR = extern enum(i32) {
AlwaysOff = 0,
Delayed = 1,
AlwaysOn = 2,
Unchanged = -1,
};
pub const LinkLocalAlwaysOff = NL_LINK_LOCAL_ADDRESS_BEHAVIOR.AlwaysOff;
pub const LinkLocalDelayed = NL_LINK_LOCAL_ADDRESS_BEHAVIOR.Delayed;
pub const LinkLocalAlwaysOn = NL_LINK_LOCAL_ADDRESS_BEHAVIOR.AlwaysOn;
pub const LinkLocalUnchanged = NL_LINK_LOCAL_ADDRESS_BEHAVIOR.Unchanged;
pub const NL_ROUTER_DISCOVERY_BEHAVIOR = extern enum(i32) {
Disabled = 0,
Enabled = 1,
Dhcp = 2,
Unchanged = -1,
};
pub const RouterDiscoveryDisabled = NL_ROUTER_DISCOVERY_BEHAVIOR.Disabled;
pub const RouterDiscoveryEnabled = NL_ROUTER_DISCOVERY_BEHAVIOR.Enabled;
pub const RouterDiscoveryDhcp = NL_ROUTER_DISCOVERY_BEHAVIOR.Dhcp;
pub const RouterDiscoveryUnchanged = NL_ROUTER_DISCOVERY_BEHAVIOR.Unchanged;
pub const NET_IF_OPER_STATUS = extern enum(i32) {
UP = 1,
DOWN = 2,
TESTING = 3,
UNKNOWN = 4,
DORMANT = 5,
NOT_PRESENT = 6,
LOWER_LAYER_DOWN = 7,
};
pub const NET_IF_OPER_STATUS_UP = NET_IF_OPER_STATUS.UP;
pub const NET_IF_OPER_STATUS_DOWN = NET_IF_OPER_STATUS.DOWN;
pub const NET_IF_OPER_STATUS_TESTING = NET_IF_OPER_STATUS.TESTING;
pub const NET_IF_OPER_STATUS_UNKNOWN = NET_IF_OPER_STATUS.UNKNOWN;
pub const NET_IF_OPER_STATUS_DORMANT = NET_IF_OPER_STATUS.DORMANT;
pub const NET_IF_OPER_STATUS_NOT_PRESENT = NET_IF_OPER_STATUS.NOT_PRESENT;
pub const NET_IF_OPER_STATUS_LOWER_LAYER_DOWN = NET_IF_OPER_STATUS.LOWER_LAYER_DOWN;
pub const NET_IF_ADMIN_STATUS = extern enum(i32) {
UP = 1,
DOWN = 2,
TESTING = 3,
};
pub const NET_IF_ADMIN_STATUS_UP = NET_IF_ADMIN_STATUS.UP;
pub const NET_IF_ADMIN_STATUS_DOWN = NET_IF_ADMIN_STATUS.DOWN;
pub const NET_IF_ADMIN_STATUS_TESTING = NET_IF_ADMIN_STATUS.TESTING;
pub const NET_IF_CONNECTION_TYPE = extern enum(i32) {
DEDICATED = 1,
PASSIVE = 2,
DEMAND = 3,
MAXIMUM = 4,
};
pub const NET_IF_CONNECTION_DEDICATED = NET_IF_CONNECTION_TYPE.DEDICATED;
pub const NET_IF_CONNECTION_PASSIVE = NET_IF_CONNECTION_TYPE.PASSIVE;
pub const NET_IF_CONNECTION_DEMAND = NET_IF_CONNECTION_TYPE.DEMAND;
pub const NET_IF_CONNECTION_MAXIMUM = NET_IF_CONNECTION_TYPE.MAXIMUM;
pub const TUNNEL_TYPE = extern enum(i32) {
NONE = 0,
OTHER = 1,
DIRECT = 2,
@"6TO4" = 11,
ISATAP = 13,
TEREDO = 14,
IPHTTPS = 15,
};
pub const TUNNEL_TYPE_NONE = TUNNEL_TYPE.NONE;
pub const TUNNEL_TYPE_OTHER = TUNNEL_TYPE.OTHER;
pub const TUNNEL_TYPE_DIRECT = TUNNEL_TYPE.DIRECT;
pub const TUNNEL_TYPE_6TO4 = TUNNEL_TYPE.@"6TO4";
pub const TUNNEL_TYPE_ISATAP = TUNNEL_TYPE.ISATAP;
pub const TUNNEL_TYPE_TEREDO = TUNNEL_TYPE.TEREDO;
pub const TUNNEL_TYPE_IPHTTPS = TUNNEL_TYPE.IPHTTPS;
pub const NET_IF_ACCESS_TYPE = extern enum(i32) {
LOOPBACK = 1,
BROADCAST = 2,
POINT_TO_POINT = 3,
POINT_TO_MULTI_POINT = 4,
MAXIMUM = 5,
};
pub const NET_IF_ACCESS_LOOPBACK = NET_IF_ACCESS_TYPE.LOOPBACK;
pub const NET_IF_ACCESS_BROADCAST = NET_IF_ACCESS_TYPE.BROADCAST;
pub const NET_IF_ACCESS_POINT_TO_POINT = NET_IF_ACCESS_TYPE.POINT_TO_POINT;
pub const NET_IF_ACCESS_POINT_TO_MULTI_POINT = NET_IF_ACCESS_TYPE.POINT_TO_MULTI_POINT;
pub const NET_IF_ACCESS_MAXIMUM = NET_IF_ACCESS_TYPE.MAXIMUM;
pub const NET_IF_DIRECTION_TYPE = extern enum(i32) {
SENDRECEIVE = 0,
SENDONLY = 1,
RECEIVEONLY = 2,
MAXIMUM = 3,
};
pub const NET_IF_DIRECTION_SENDRECEIVE = NET_IF_DIRECTION_TYPE.SENDRECEIVE;
pub const NET_IF_DIRECTION_SENDONLY = NET_IF_DIRECTION_TYPE.SENDONLY;
pub const NET_IF_DIRECTION_RECEIVEONLY = NET_IF_DIRECTION_TYPE.RECEIVEONLY;
pub const NET_IF_DIRECTION_MAXIMUM = NET_IF_DIRECTION_TYPE.MAXIMUM;
pub const NET_IF_MEDIA_CONNECT_STATE = extern enum(i32) {
Unknown = 0,
Connected = 1,
Disconnected = 2,
};
pub const MediaConnectStateUnknown = NET_IF_MEDIA_CONNECT_STATE.Unknown;
pub const MediaConnectStateConnected = NET_IF_MEDIA_CONNECT_STATE.Connected;
pub const MediaConnectStateDisconnected = NET_IF_MEDIA_CONNECT_STATE.Disconnected;
pub const NET_IF_MEDIA_DUPLEX_STATE = extern enum(i32) {
Unknown = 0,
Half = 1,
Full = 2,
};
pub const MediaDuplexStateUnknown = NET_IF_MEDIA_DUPLEX_STATE.Unknown;
pub const MediaDuplexStateHalf = NET_IF_MEDIA_DUPLEX_STATE.Half;
pub const MediaDuplexStateFull = NET_IF_MEDIA_DUPLEX_STATE.Full;
pub const NET_PHYSICAL_LOCATION_LH = extern struct {
BusNumber: u32,
SlotNumber: u32,
FunctionNumber: u32,
};
pub const IF_COUNTED_STRING_LH = extern struct {
Length: u16,
String: [257]u16,
};
pub const NDIS_INTERFACE_INFORMATION = extern struct {
ifOperStatus: NET_IF_OPER_STATUS,
ifOperStatusFlags: u32,
MediaConnectState: NET_IF_MEDIA_CONNECT_STATE,
MediaDuplexState: NET_IF_MEDIA_DUPLEX_STATE,
ifMtu: u32,
ifPromiscuousMode: u8,
ifDeviceWakeUpEnable: u8,
XmitLinkSpeed: u64,
RcvLinkSpeed: u64,
ifLastChange: u64,
ifCounterDiscontinuityTime: u64,
ifInUnknownProtos: u64,
ifInDiscards: u64,
ifInErrors: u64,
ifHCInOctets: u64,
ifHCInUcastPkts: u64,
ifHCInMulticastPkts: u64,
ifHCInBroadcastPkts: u64,
ifHCOutOctets: u64,
ifHCOutUcastPkts: u64,
ifHCOutMulticastPkts: u64,
ifHCOutBroadcastPkts: u64,
ifOutErrors: u64,
ifOutDiscards: u64,
ifHCInUcastOctets: u64,
ifHCInMulticastOctets: u64,
ifHCInBroadcastOctets: u64,
ifHCOutUcastOctets: u64,
ifHCOutMulticastOctets: u64,
ifHCOutBroadcastOctets: u64,
CompartmentId: u32,
SupportedStatistics: u32,
};
pub const MIB_IF_TABLE_LEVEL = extern enum(i32) {
Normal = 0,
Raw = 1,
NormalWithoutStatistics = 2,
};
pub const MibIfTableNormal = MIB_IF_TABLE_LEVEL.Normal;
pub const MibIfTableRaw = MIB_IF_TABLE_LEVEL.Raw;
pub const MibIfTableNormalWithoutStatistics = MIB_IF_TABLE_LEVEL.NormalWithoutStatistics;
pub const L2_NOTIFICATION_DATA = extern struct {
NotificationSource: u32,
NotificationCode: u32,
InterfaceGuid: Guid,
dwDataSize: u32,
pData: *c_void,
};
//--------------------------------------------------------------------------------
// Section: Functions (6)
//--------------------------------------------------------------------------------
pub extern "IPHLPAPI" fn GetCurrentThreadCompartmentId(
) callconv(@import("std").os.windows.WINAPI) u32;
pub extern "IPHLPAPI" fn SetCurrentThreadCompartmentId(
CompartmentId: u32,
) callconv(@import("std").os.windows.WINAPI) NTSTATUS;
pub extern "IPHLPAPI" fn GetSessionCompartmentId(
SessionId: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
pub extern "IPHLPAPI" fn SetSessionCompartmentId(
SessionId: u32,
CompartmentId: u32,
) callconv(@import("std").os.windows.WINAPI) NTSTATUS;
pub extern "IPHLPAPI" fn GetNetworkInformation(
NetworkGuid: *const Guid,
CompartmentId: *u32,
SiteId: *u32,
NetworkName: [*]u16,
Length: u32,
) callconv(@import("std").os.windows.WINAPI) NTSTATUS;
pub extern "IPHLPAPI" fn SetNetworkInformation(
NetworkGuid: *const Guid,
CompartmentId: u32,
NetworkName: [*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) NTSTATUS;
//--------------------------------------------------------------------------------
// Section: Unicode Aliases (0)
//--------------------------------------------------------------------------------
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 PWSTR = @import("system_services.zig").PWSTR;
const CHAR = @import("system_services.zig").CHAR;
const SOCKET_ADDRESS = @import("win_sock.zig").SOCKET_ADDRESS;
const NTSTATUS = @import("system_services.zig").NTSTATUS;
test {
@setEvalBranchQuota(
@import("std").meta.declarations(@This()).len * 3
);
// reference all the pub declarations
if (!@import("std").builtin.is_test) return;
inline for (@import("std").meta.declarations(@This())) |decl| {
if (decl.is_pub) {
_ = decl;
}
}
}

View File

@ -0,0 +1,873 @@
//! NOTE: this file is autogenerated, DO NOT MODIFY
//--------------------------------------------------------------------------------
// Section: Constants (4)
//--------------------------------------------------------------------------------
pub const NLM_MAX_ADDRESS_LIST_SIZE = @as(u32, 10);
pub const NLM_UNKNOWN_DATAPLAN_STATUS = @as(u32, 4294967295);
pub const NET_INTERFACE_FLAG_NONE = @as(u32, 0);
pub const NET_INTERFACE_FLAG_CONNECT_IF_NEEDED = @as(u32, 1);
//--------------------------------------------------------------------------------
// Section: Types (29)
//--------------------------------------------------------------------------------
const CLSID_NetworkListManager_Value = @import("../zig.zig").Guid.initString("dcb00c01-570f-4a9b-8d69-199fdba5723b");
pub const CLSID_NetworkListManager = &CLSID_NetworkListManager_Value;
pub const NLM_CONNECTION_COST = extern enum(i32) {
UNKNOWN = 0,
UNRESTRICTED = 1,
FIXED = 2,
VARIABLE = 4,
OVERDATALIMIT = 65536,
CONGESTED = 131072,
ROAMING = 262144,
APPROACHINGDATALIMIT = 524288,
};
pub const NLM_CONNECTION_COST_UNKNOWN = NLM_CONNECTION_COST.UNKNOWN;
pub const NLM_CONNECTION_COST_UNRESTRICTED = NLM_CONNECTION_COST.UNRESTRICTED;
pub const NLM_CONNECTION_COST_FIXED = NLM_CONNECTION_COST.FIXED;
pub const NLM_CONNECTION_COST_VARIABLE = NLM_CONNECTION_COST.VARIABLE;
pub const NLM_CONNECTION_COST_OVERDATALIMIT = NLM_CONNECTION_COST.OVERDATALIMIT;
pub const NLM_CONNECTION_COST_CONGESTED = NLM_CONNECTION_COST.CONGESTED;
pub const NLM_CONNECTION_COST_ROAMING = NLM_CONNECTION_COST.ROAMING;
pub const NLM_CONNECTION_COST_APPROACHINGDATALIMIT = NLM_CONNECTION_COST.APPROACHINGDATALIMIT;
pub const NLM_USAGE_DATA = extern struct {
UsageInMegabytes: u32,
LastSyncTime: FILETIME,
};
pub const NLM_DATAPLAN_STATUS = extern struct {
InterfaceGuid: Guid,
UsageData: NLM_USAGE_DATA,
DataLimitInMegabytes: u32,
InboundBandwidthInKbps: u32,
OutboundBandwidthInKbps: u32,
NextBillingCycle: FILETIME,
MaxTransferSizeInMegabytes: u32,
Reserved: u32,
};
pub const NLM_SOCKADDR = extern struct {
data: [128]u8,
};
pub const NLM_NETWORK_CLASS = extern enum(i32) {
IDENTIFYING = 1,
IDENTIFIED = 2,
UNIDENTIFIED = 3,
};
pub const NLM_NETWORK_IDENTIFYING = NLM_NETWORK_CLASS.IDENTIFYING;
pub const NLM_NETWORK_IDENTIFIED = NLM_NETWORK_CLASS.IDENTIFIED;
pub const NLM_NETWORK_UNIDENTIFIED = NLM_NETWORK_CLASS.UNIDENTIFIED;
pub const NLM_SIMULATED_PROFILE_INFO = extern struct {
ProfileName: [256]u16,
cost: NLM_CONNECTION_COST,
UsageInMegabytes: u32,
DataLimitInMegabytes: u32,
};
pub const NLM_INTERNET_CONNECTIVITY = extern enum(i32) {
WEBHIJACK = 1,
PROXIED = 2,
CORPORATE = 4,
};
pub const NLM_INTERNET_CONNECTIVITY_WEBHIJACK = NLM_INTERNET_CONNECTIVITY.WEBHIJACK;
pub const NLM_INTERNET_CONNECTIVITY_PROXIED = NLM_INTERNET_CONNECTIVITY.PROXIED;
pub const NLM_INTERNET_CONNECTIVITY_CORPORATE = NLM_INTERNET_CONNECTIVITY.CORPORATE;
pub const NLM_CONNECTIVITY = extern enum(i32) {
DISCONNECTED = 0,
IPV4_NOTRAFFIC = 1,
IPV6_NOTRAFFIC = 2,
IPV4_SUBNET = 16,
IPV4_LOCALNETWORK = 32,
IPV4_INTERNET = 64,
IPV6_SUBNET = 256,
IPV6_LOCALNETWORK = 512,
IPV6_INTERNET = 1024,
};
pub const NLM_CONNECTIVITY_DISCONNECTED = NLM_CONNECTIVITY.DISCONNECTED;
pub const NLM_CONNECTIVITY_IPV4_NOTRAFFIC = NLM_CONNECTIVITY.IPV4_NOTRAFFIC;
pub const NLM_CONNECTIVITY_IPV6_NOTRAFFIC = NLM_CONNECTIVITY.IPV6_NOTRAFFIC;
pub const NLM_CONNECTIVITY_IPV4_SUBNET = NLM_CONNECTIVITY.IPV4_SUBNET;
pub const NLM_CONNECTIVITY_IPV4_LOCALNETWORK = NLM_CONNECTIVITY.IPV4_LOCALNETWORK;
pub const NLM_CONNECTIVITY_IPV4_INTERNET = NLM_CONNECTIVITY.IPV4_INTERNET;
pub const NLM_CONNECTIVITY_IPV6_SUBNET = NLM_CONNECTIVITY.IPV6_SUBNET;
pub const NLM_CONNECTIVITY_IPV6_LOCALNETWORK = NLM_CONNECTIVITY.IPV6_LOCALNETWORK;
pub const NLM_CONNECTIVITY_IPV6_INTERNET = NLM_CONNECTIVITY.IPV6_INTERNET;
pub const NLM_DOMAIN_TYPE = extern enum(i32) {
NON_DOMAIN_NETWORK = 0,
DOMAIN_NETWORK = 1,
DOMAIN_AUTHENTICATED = 2,
};
pub const NLM_DOMAIN_TYPE_NON_DOMAIN_NETWORK = NLM_DOMAIN_TYPE.NON_DOMAIN_NETWORK;
pub const NLM_DOMAIN_TYPE_DOMAIN_NETWORK = NLM_DOMAIN_TYPE.DOMAIN_NETWORK;
pub const NLM_DOMAIN_TYPE_DOMAIN_AUTHENTICATED = NLM_DOMAIN_TYPE.DOMAIN_AUTHENTICATED;
pub const NLM_ENUM_NETWORK = extern enum(i32) {
CONNECTED = 1,
DISCONNECTED = 2,
ALL = 3,
};
pub const NLM_ENUM_NETWORK_CONNECTED = NLM_ENUM_NETWORK.CONNECTED;
pub const NLM_ENUM_NETWORK_DISCONNECTED = NLM_ENUM_NETWORK.DISCONNECTED;
pub const NLM_ENUM_NETWORK_ALL = NLM_ENUM_NETWORK.ALL;
// TODO: this type is limited to platform 'windows6.0.6000'
const IID_INetworkListManager_Value = @import("../zig.zig").Guid.initString("dcb00000-570f-4a9b-8d69-199fdba5723b");
pub const IID_INetworkListManager = &IID_INetworkListManager_Value;
pub const INetworkListManager = extern struct {
pub const VTable = extern struct {
base: IDispatch.VTable,
GetNetworks: fn(
self: *const INetworkListManager,
Flags: NLM_ENUM_NETWORK,
ppEnumNetwork: **IEnumNetworks,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
GetNetwork: fn(
self: *const INetworkListManager,
gdNetworkId: Guid,
ppNetwork: **INetwork,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
GetNetworkConnections: fn(
self: *const INetworkListManager,
ppEnum: **IEnumNetworkConnections,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
GetNetworkConnection: fn(
self: *const INetworkListManager,
gdNetworkConnectionId: Guid,
ppNetworkConnection: **INetworkConnection,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_IsConnectedToInternet: fn(
self: *const INetworkListManager,
pbIsConnected: *i16,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_IsConnected: fn(
self: *const INetworkListManager,
pbIsConnected: *i16,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
GetConnectivity: fn(
self: *const INetworkListManager,
pConnectivity: *NLM_CONNECTIVITY,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
SetSimulatedProfileInfo: fn(
self: *const INetworkListManager,
pSimulatedInfo: *NLM_SIMULATED_PROFILE_INFO,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
ClearSimulatedProfileInfo: fn(
self: *const INetworkListManager,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IDispatch.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn INetworkListManager_GetNetworks(self: *const T, Flags: NLM_ENUM_NETWORK, ppEnumNetwork: **IEnumNetworks) callconv(.Inline) HRESULT {
return @ptrCast(*const INetworkListManager.VTable, self.vtable).GetNetworks(@ptrCast(*const INetworkListManager, self), Flags, ppEnumNetwork);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn INetworkListManager_GetNetwork(self: *const T, gdNetworkId: Guid, ppNetwork: **INetwork) callconv(.Inline) HRESULT {
return @ptrCast(*const INetworkListManager.VTable, self.vtable).GetNetwork(@ptrCast(*const INetworkListManager, self), gdNetworkId, ppNetwork);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn INetworkListManager_GetNetworkConnections(self: *const T, ppEnum: **IEnumNetworkConnections) callconv(.Inline) HRESULT {
return @ptrCast(*const INetworkListManager.VTable, self.vtable).GetNetworkConnections(@ptrCast(*const INetworkListManager, self), ppEnum);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn INetworkListManager_GetNetworkConnection(self: *const T, gdNetworkConnectionId: Guid, ppNetworkConnection: **INetworkConnection) callconv(.Inline) HRESULT {
return @ptrCast(*const INetworkListManager.VTable, self.vtable).GetNetworkConnection(@ptrCast(*const INetworkListManager, self), gdNetworkConnectionId, ppNetworkConnection);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn INetworkListManager_get_IsConnectedToInternet(self: *const T, pbIsConnected: *i16) callconv(.Inline) HRESULT {
return @ptrCast(*const INetworkListManager.VTable, self.vtable).get_IsConnectedToInternet(@ptrCast(*const INetworkListManager, self), pbIsConnected);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn INetworkListManager_get_IsConnected(self: *const T, pbIsConnected: *i16) callconv(.Inline) HRESULT {
return @ptrCast(*const INetworkListManager.VTable, self.vtable).get_IsConnected(@ptrCast(*const INetworkListManager, self), pbIsConnected);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn INetworkListManager_GetConnectivity(self: *const T, pConnectivity: *NLM_CONNECTIVITY) callconv(.Inline) HRESULT {
return @ptrCast(*const INetworkListManager.VTable, self.vtable).GetConnectivity(@ptrCast(*const INetworkListManager, self), pConnectivity);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn INetworkListManager_SetSimulatedProfileInfo(self: *const T, pSimulatedInfo: *NLM_SIMULATED_PROFILE_INFO) callconv(.Inline) HRESULT {
return @ptrCast(*const INetworkListManager.VTable, self.vtable).SetSimulatedProfileInfo(@ptrCast(*const INetworkListManager, self), pSimulatedInfo);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn INetworkListManager_ClearSimulatedProfileInfo(self: *const T) callconv(.Inline) HRESULT {
return @ptrCast(*const INetworkListManager.VTable, self.vtable).ClearSimulatedProfileInfo(@ptrCast(*const INetworkListManager, self));
}
};}
pub usingnamespace MethodMixin(@This());
};
// TODO: this type is limited to platform 'windows6.0.6000'
const IID_INetworkListManagerEvents_Value = @import("../zig.zig").Guid.initString("dcb00001-570f-4a9b-8d69-199fdba5723b");
pub const IID_INetworkListManagerEvents = &IID_INetworkListManagerEvents_Value;
pub const INetworkListManagerEvents = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
ConnectivityChanged: fn(
self: *const INetworkListManagerEvents,
newConnectivity: NLM_CONNECTIVITY,
) 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 INetworkListManagerEvents_ConnectivityChanged(self: *const T, newConnectivity: NLM_CONNECTIVITY) callconv(.Inline) HRESULT {
return @ptrCast(*const INetworkListManagerEvents.VTable, self.vtable).ConnectivityChanged(@ptrCast(*const INetworkListManagerEvents, self), newConnectivity);
}
};}
pub usingnamespace MethodMixin(@This());
};
pub const NLM_NETWORK_CATEGORY = extern enum(i32) {
PUBLIC = 0,
PRIVATE = 1,
DOMAIN_AUTHENTICATED = 2,
};
pub const NLM_NETWORK_CATEGORY_PUBLIC = NLM_NETWORK_CATEGORY.PUBLIC;
pub const NLM_NETWORK_CATEGORY_PRIVATE = NLM_NETWORK_CATEGORY.PRIVATE;
pub const NLM_NETWORK_CATEGORY_DOMAIN_AUTHENTICATED = NLM_NETWORK_CATEGORY.DOMAIN_AUTHENTICATED;
// TODO: this type is limited to platform 'windows6.0.6000'
const IID_INetwork_Value = @import("../zig.zig").Guid.initString("dcb00002-570f-4a9b-8d69-199fdba5723b");
pub const IID_INetwork = &IID_INetwork_Value;
pub const INetwork = extern struct {
pub const VTable = extern struct {
base: IDispatch.VTable,
GetName: fn(
self: *const INetwork,
pszNetworkName: *BSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
SetName: fn(
self: *const INetwork,
szNetworkNewName: BSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
GetDescription: fn(
self: *const INetwork,
pszDescription: *BSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
SetDescription: fn(
self: *const INetwork,
szDescription: BSTR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
GetNetworkId: fn(
self: *const INetwork,
pgdGuidNetworkId: *Guid,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
GetDomainType: fn(
self: *const INetwork,
pNetworkType: *NLM_DOMAIN_TYPE,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
GetNetworkConnections: fn(
self: *const INetwork,
ppEnumNetworkConnection: **IEnumNetworkConnections,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
GetTimeCreatedAndConnected: fn(
self: *const INetwork,
pdwLowDateTimeCreated: *u32,
pdwHighDateTimeCreated: *u32,
pdwLowDateTimeConnected: *u32,
pdwHighDateTimeConnected: *u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_IsConnectedToInternet: fn(
self: *const INetwork,
pbIsConnected: *i16,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_IsConnected: fn(
self: *const INetwork,
pbIsConnected: *i16,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
GetConnectivity: fn(
self: *const INetwork,
pConnectivity: *NLM_CONNECTIVITY,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
GetCategory: fn(
self: *const INetwork,
pCategory: *NLM_NETWORK_CATEGORY,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
SetCategory: fn(
self: *const INetwork,
NewCategory: NLM_NETWORK_CATEGORY,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IDispatch.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn INetwork_GetName(self: *const T, pszNetworkName: *BSTR) callconv(.Inline) HRESULT {
return @ptrCast(*const INetwork.VTable, self.vtable).GetName(@ptrCast(*const INetwork, self), pszNetworkName);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn INetwork_SetName(self: *const T, szNetworkNewName: BSTR) callconv(.Inline) HRESULT {
return @ptrCast(*const INetwork.VTable, self.vtable).SetName(@ptrCast(*const INetwork, self), szNetworkNewName);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn INetwork_GetDescription(self: *const T, pszDescription: *BSTR) callconv(.Inline) HRESULT {
return @ptrCast(*const INetwork.VTable, self.vtable).GetDescription(@ptrCast(*const INetwork, self), pszDescription);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn INetwork_SetDescription(self: *const T, szDescription: BSTR) callconv(.Inline) HRESULT {
return @ptrCast(*const INetwork.VTable, self.vtable).SetDescription(@ptrCast(*const INetwork, self), szDescription);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn INetwork_GetNetworkId(self: *const T, pgdGuidNetworkId: *Guid) callconv(.Inline) HRESULT {
return @ptrCast(*const INetwork.VTable, self.vtable).GetNetworkId(@ptrCast(*const INetwork, self), pgdGuidNetworkId);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn INetwork_GetDomainType(self: *const T, pNetworkType: *NLM_DOMAIN_TYPE) callconv(.Inline) HRESULT {
return @ptrCast(*const INetwork.VTable, self.vtable).GetDomainType(@ptrCast(*const INetwork, self), pNetworkType);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn INetwork_GetNetworkConnections(self: *const T, ppEnumNetworkConnection: **IEnumNetworkConnections) callconv(.Inline) HRESULT {
return @ptrCast(*const INetwork.VTable, self.vtable).GetNetworkConnections(@ptrCast(*const INetwork, self), ppEnumNetworkConnection);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn INetwork_GetTimeCreatedAndConnected(self: *const T, pdwLowDateTimeCreated: *u32, pdwHighDateTimeCreated: *u32, pdwLowDateTimeConnected: *u32, pdwHighDateTimeConnected: *u32) callconv(.Inline) HRESULT {
return @ptrCast(*const INetwork.VTable, self.vtable).GetTimeCreatedAndConnected(@ptrCast(*const INetwork, self), pdwLowDateTimeCreated, pdwHighDateTimeCreated, pdwLowDateTimeConnected, pdwHighDateTimeConnected);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn INetwork_get_IsConnectedToInternet(self: *const T, pbIsConnected: *i16) callconv(.Inline) HRESULT {
return @ptrCast(*const INetwork.VTable, self.vtable).get_IsConnectedToInternet(@ptrCast(*const INetwork, self), pbIsConnected);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn INetwork_get_IsConnected(self: *const T, pbIsConnected: *i16) callconv(.Inline) HRESULT {
return @ptrCast(*const INetwork.VTable, self.vtable).get_IsConnected(@ptrCast(*const INetwork, self), pbIsConnected);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn INetwork_GetConnectivity(self: *const T, pConnectivity: *NLM_CONNECTIVITY) callconv(.Inline) HRESULT {
return @ptrCast(*const INetwork.VTable, self.vtable).GetConnectivity(@ptrCast(*const INetwork, self), pConnectivity);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn INetwork_GetCategory(self: *const T, pCategory: *NLM_NETWORK_CATEGORY) callconv(.Inline) HRESULT {
return @ptrCast(*const INetwork.VTable, self.vtable).GetCategory(@ptrCast(*const INetwork, self), pCategory);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn INetwork_SetCategory(self: *const T, NewCategory: NLM_NETWORK_CATEGORY) callconv(.Inline) HRESULT {
return @ptrCast(*const INetwork.VTable, self.vtable).SetCategory(@ptrCast(*const INetwork, self), NewCategory);
}
};}
pub usingnamespace MethodMixin(@This());
};
// TODO: this type is limited to platform 'windows6.0.6000'
const IID_IEnumNetworks_Value = @import("../zig.zig").Guid.initString("dcb00003-570f-4a9b-8d69-199fdba5723b");
pub const IID_IEnumNetworks = &IID_IEnumNetworks_Value;
pub const IEnumNetworks = extern struct {
pub const VTable = extern struct {
base: IDispatch.VTable,
// TODO: this function has a "SpecialName", should Zig do anything with this?
get__NewEnum: fn(
self: *const IEnumNetworks,
ppEnumVar: **IEnumVARIANT,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
Next: fn(
self: *const IEnumNetworks,
celt: u32,
rgelt: [*]*INetwork,
pceltFetched: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
Skip: fn(
self: *const IEnumNetworks,
celt: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
Reset: fn(
self: *const IEnumNetworks,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
Clone: fn(
self: *const IEnumNetworks,
ppEnumNetwork: **IEnumNetworks,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IDispatch.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IEnumNetworks_get__NewEnum(self: *const T, ppEnumVar: **IEnumVARIANT) callconv(.Inline) HRESULT {
return @ptrCast(*const IEnumNetworks.VTable, self.vtable).get__NewEnum(@ptrCast(*const IEnumNetworks, self), ppEnumVar);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IEnumNetworks_Next(self: *const T, celt: u32, rgelt: [*]*INetwork, pceltFetched: ?*u32) callconv(.Inline) HRESULT {
return @ptrCast(*const IEnumNetworks.VTable, self.vtable).Next(@ptrCast(*const IEnumNetworks, self), celt, rgelt, pceltFetched);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IEnumNetworks_Skip(self: *const T, celt: u32) callconv(.Inline) HRESULT {
return @ptrCast(*const IEnumNetworks.VTable, self.vtable).Skip(@ptrCast(*const IEnumNetworks, self), celt);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IEnumNetworks_Reset(self: *const T) callconv(.Inline) HRESULT {
return @ptrCast(*const IEnumNetworks.VTable, self.vtable).Reset(@ptrCast(*const IEnumNetworks, self));
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IEnumNetworks_Clone(self: *const T, ppEnumNetwork: **IEnumNetworks) callconv(.Inline) HRESULT {
return @ptrCast(*const IEnumNetworks.VTable, self.vtable).Clone(@ptrCast(*const IEnumNetworks, self), ppEnumNetwork);
}
};}
pub usingnamespace MethodMixin(@This());
};
pub const NLM_NETWORK_PROPERTY_CHANGE = extern enum(i32) {
CONNECTION = 1,
DESCRIPTION = 2,
NAME = 4,
ICON = 8,
CATEGORY_VALUE = 16,
};
pub const NLM_NETWORK_PROPERTY_CHANGE_CONNECTION = NLM_NETWORK_PROPERTY_CHANGE.CONNECTION;
pub const NLM_NETWORK_PROPERTY_CHANGE_DESCRIPTION = NLM_NETWORK_PROPERTY_CHANGE.DESCRIPTION;
pub const NLM_NETWORK_PROPERTY_CHANGE_NAME = NLM_NETWORK_PROPERTY_CHANGE.NAME;
pub const NLM_NETWORK_PROPERTY_CHANGE_ICON = NLM_NETWORK_PROPERTY_CHANGE.ICON;
pub const NLM_NETWORK_PROPERTY_CHANGE_CATEGORY_VALUE = NLM_NETWORK_PROPERTY_CHANGE.CATEGORY_VALUE;
// TODO: this type is limited to platform 'windows6.0.6000'
const IID_INetworkEvents_Value = @import("../zig.zig").Guid.initString("dcb00004-570f-4a9b-8d69-199fdba5723b");
pub const IID_INetworkEvents = &IID_INetworkEvents_Value;
pub const INetworkEvents = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
NetworkAdded: fn(
self: *const INetworkEvents,
networkId: Guid,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
NetworkDeleted: fn(
self: *const INetworkEvents,
networkId: Guid,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
NetworkConnectivityChanged: fn(
self: *const INetworkEvents,
networkId: Guid,
newConnectivity: NLM_CONNECTIVITY,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
NetworkPropertyChanged: fn(
self: *const INetworkEvents,
networkId: Guid,
flags: NLM_NETWORK_PROPERTY_CHANGE,
) 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 INetworkEvents_NetworkAdded(self: *const T, networkId: Guid) callconv(.Inline) HRESULT {
return @ptrCast(*const INetworkEvents.VTable, self.vtable).NetworkAdded(@ptrCast(*const INetworkEvents, self), networkId);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn INetworkEvents_NetworkDeleted(self: *const T, networkId: Guid) callconv(.Inline) HRESULT {
return @ptrCast(*const INetworkEvents.VTable, self.vtable).NetworkDeleted(@ptrCast(*const INetworkEvents, self), networkId);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn INetworkEvents_NetworkConnectivityChanged(self: *const T, networkId: Guid, newConnectivity: NLM_CONNECTIVITY) callconv(.Inline) HRESULT {
return @ptrCast(*const INetworkEvents.VTable, self.vtable).NetworkConnectivityChanged(@ptrCast(*const INetworkEvents, self), networkId, newConnectivity);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn INetworkEvents_NetworkPropertyChanged(self: *const T, networkId: Guid, flags: NLM_NETWORK_PROPERTY_CHANGE) callconv(.Inline) HRESULT {
return @ptrCast(*const INetworkEvents.VTable, self.vtable).NetworkPropertyChanged(@ptrCast(*const INetworkEvents, self), networkId, flags);
}
};}
pub usingnamespace MethodMixin(@This());
};
// TODO: this type is limited to platform 'windows6.0.6000'
const IID_INetworkConnection_Value = @import("../zig.zig").Guid.initString("dcb00005-570f-4a9b-8d69-199fdba5723b");
pub const IID_INetworkConnection = &IID_INetworkConnection_Value;
pub const INetworkConnection = extern struct {
pub const VTable = extern struct {
base: IDispatch.VTable,
GetNetwork: fn(
self: *const INetworkConnection,
ppNetwork: **INetwork,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_IsConnectedToInternet: fn(
self: *const INetworkConnection,
pbIsConnected: *i16,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
// TODO: this function has a "SpecialName", should Zig do anything with this?
get_IsConnected: fn(
self: *const INetworkConnection,
pbIsConnected: *i16,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
GetConnectivity: fn(
self: *const INetworkConnection,
pConnectivity: *NLM_CONNECTIVITY,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
GetConnectionId: fn(
self: *const INetworkConnection,
pgdConnectionId: *Guid,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
GetAdapterId: fn(
self: *const INetworkConnection,
pgdAdapterId: *Guid,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
GetDomainType: fn(
self: *const INetworkConnection,
pDomainType: *NLM_DOMAIN_TYPE,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IDispatch.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn INetworkConnection_GetNetwork(self: *const T, ppNetwork: **INetwork) callconv(.Inline) HRESULT {
return @ptrCast(*const INetworkConnection.VTable, self.vtable).GetNetwork(@ptrCast(*const INetworkConnection, self), ppNetwork);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn INetworkConnection_get_IsConnectedToInternet(self: *const T, pbIsConnected: *i16) callconv(.Inline) HRESULT {
return @ptrCast(*const INetworkConnection.VTable, self.vtable).get_IsConnectedToInternet(@ptrCast(*const INetworkConnection, self), pbIsConnected);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn INetworkConnection_get_IsConnected(self: *const T, pbIsConnected: *i16) callconv(.Inline) HRESULT {
return @ptrCast(*const INetworkConnection.VTable, self.vtable).get_IsConnected(@ptrCast(*const INetworkConnection, self), pbIsConnected);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn INetworkConnection_GetConnectivity(self: *const T, pConnectivity: *NLM_CONNECTIVITY) callconv(.Inline) HRESULT {
return @ptrCast(*const INetworkConnection.VTable, self.vtable).GetConnectivity(@ptrCast(*const INetworkConnection, self), pConnectivity);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn INetworkConnection_GetConnectionId(self: *const T, pgdConnectionId: *Guid) callconv(.Inline) HRESULT {
return @ptrCast(*const INetworkConnection.VTable, self.vtable).GetConnectionId(@ptrCast(*const INetworkConnection, self), pgdConnectionId);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn INetworkConnection_GetAdapterId(self: *const T, pgdAdapterId: *Guid) callconv(.Inline) HRESULT {
return @ptrCast(*const INetworkConnection.VTable, self.vtable).GetAdapterId(@ptrCast(*const INetworkConnection, self), pgdAdapterId);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn INetworkConnection_GetDomainType(self: *const T, pDomainType: *NLM_DOMAIN_TYPE) callconv(.Inline) HRESULT {
return @ptrCast(*const INetworkConnection.VTable, self.vtable).GetDomainType(@ptrCast(*const INetworkConnection, self), pDomainType);
}
};}
pub usingnamespace MethodMixin(@This());
};
// TODO: this type is limited to platform 'windows6.0.6000'
const IID_IEnumNetworkConnections_Value = @import("../zig.zig").Guid.initString("dcb00006-570f-4a9b-8d69-199fdba5723b");
pub const IID_IEnumNetworkConnections = &IID_IEnumNetworkConnections_Value;
pub const IEnumNetworkConnections = extern struct {
pub const VTable = extern struct {
base: IDispatch.VTable,
// TODO: this function has a "SpecialName", should Zig do anything with this?
get__NewEnum: fn(
self: *const IEnumNetworkConnections,
ppEnumVar: **IEnumVARIANT,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
Next: fn(
self: *const IEnumNetworkConnections,
celt: u32,
rgelt: [*]*INetworkConnection,
pceltFetched: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
Skip: fn(
self: *const IEnumNetworkConnections,
celt: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
Reset: fn(
self: *const IEnumNetworkConnections,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
Clone: fn(
self: *const IEnumNetworkConnections,
ppEnumNetwork: **IEnumNetworkConnections,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IDispatch.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IEnumNetworkConnections_get__NewEnum(self: *const T, ppEnumVar: **IEnumVARIANT) callconv(.Inline) HRESULT {
return @ptrCast(*const IEnumNetworkConnections.VTable, self.vtable).get__NewEnum(@ptrCast(*const IEnumNetworkConnections, self), ppEnumVar);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IEnumNetworkConnections_Next(self: *const T, celt: u32, rgelt: [*]*INetworkConnection, pceltFetched: ?*u32) callconv(.Inline) HRESULT {
return @ptrCast(*const IEnumNetworkConnections.VTable, self.vtable).Next(@ptrCast(*const IEnumNetworkConnections, self), celt, rgelt, pceltFetched);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IEnumNetworkConnections_Skip(self: *const T, celt: u32) callconv(.Inline) HRESULT {
return @ptrCast(*const IEnumNetworkConnections.VTable, self.vtable).Skip(@ptrCast(*const IEnumNetworkConnections, self), celt);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IEnumNetworkConnections_Reset(self: *const T) callconv(.Inline) HRESULT {
return @ptrCast(*const IEnumNetworkConnections.VTable, self.vtable).Reset(@ptrCast(*const IEnumNetworkConnections, self));
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IEnumNetworkConnections_Clone(self: *const T, ppEnumNetwork: **IEnumNetworkConnections) callconv(.Inline) HRESULT {
return @ptrCast(*const IEnumNetworkConnections.VTable, self.vtable).Clone(@ptrCast(*const IEnumNetworkConnections, self), ppEnumNetwork);
}
};}
pub usingnamespace MethodMixin(@This());
};
pub const NLM_CONNECTION_PROPERTY_CHANGE = extern enum(i32) {
N = 1,
};
pub const NLM_CONNECTION_PROPERTY_CHANGE_AUTHENTICATION = NLM_CONNECTION_PROPERTY_CHANGE.N;
// TODO: this type is limited to platform 'windows6.0.6000'
const IID_INetworkConnectionEvents_Value = @import("../zig.zig").Guid.initString("dcb00007-570f-4a9b-8d69-199fdba5723b");
pub const IID_INetworkConnectionEvents = &IID_INetworkConnectionEvents_Value;
pub const INetworkConnectionEvents = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
NetworkConnectionConnectivityChanged: fn(
self: *const INetworkConnectionEvents,
connectionId: Guid,
newConnectivity: NLM_CONNECTIVITY,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
NetworkConnectionPropertyChanged: fn(
self: *const INetworkConnectionEvents,
connectionId: Guid,
flags: NLM_CONNECTION_PROPERTY_CHANGE,
) 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 INetworkConnectionEvents_NetworkConnectionConnectivityChanged(self: *const T, connectionId: Guid, newConnectivity: NLM_CONNECTIVITY) callconv(.Inline) HRESULT {
return @ptrCast(*const INetworkConnectionEvents.VTable, self.vtable).NetworkConnectionConnectivityChanged(@ptrCast(*const INetworkConnectionEvents, self), connectionId, newConnectivity);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn INetworkConnectionEvents_NetworkConnectionPropertyChanged(self: *const T, connectionId: Guid, flags: NLM_CONNECTION_PROPERTY_CHANGE) callconv(.Inline) HRESULT {
return @ptrCast(*const INetworkConnectionEvents.VTable, self.vtable).NetworkConnectionPropertyChanged(@ptrCast(*const INetworkConnectionEvents, self), connectionId, flags);
}
};}
pub usingnamespace MethodMixin(@This());
};
// TODO: this type is limited to platform 'windows8.0'
const IID_INetworkCostManager_Value = @import("../zig.zig").Guid.initString("dcb00008-570f-4a9b-8d69-199fdba5723b");
pub const IID_INetworkCostManager = &IID_INetworkCostManager_Value;
pub const INetworkCostManager = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
GetCost: fn(
self: *const INetworkCostManager,
pCost: *u32,
pDestIPAddr: *NLM_SOCKADDR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
GetDataPlanStatus: fn(
self: *const INetworkCostManager,
pDataPlanStatus: *NLM_DATAPLAN_STATUS,
pDestIPAddr: *NLM_SOCKADDR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
SetDestinationAddresses: fn(
self: *const INetworkCostManager,
length: u32,
pDestIPAddrList: [*]NLM_SOCKADDR,
bAppend: i16,
) 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 INetworkCostManager_GetCost(self: *const T, pCost: *u32, pDestIPAddr: *NLM_SOCKADDR) callconv(.Inline) HRESULT {
return @ptrCast(*const INetworkCostManager.VTable, self.vtable).GetCost(@ptrCast(*const INetworkCostManager, self), pCost, pDestIPAddr);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn INetworkCostManager_GetDataPlanStatus(self: *const T, pDataPlanStatus: *NLM_DATAPLAN_STATUS, pDestIPAddr: *NLM_SOCKADDR) callconv(.Inline) HRESULT {
return @ptrCast(*const INetworkCostManager.VTable, self.vtable).GetDataPlanStatus(@ptrCast(*const INetworkCostManager, self), pDataPlanStatus, pDestIPAddr);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn INetworkCostManager_SetDestinationAddresses(self: *const T, length: u32, pDestIPAddrList: [*]NLM_SOCKADDR, bAppend: i16) callconv(.Inline) HRESULT {
return @ptrCast(*const INetworkCostManager.VTable, self.vtable).SetDestinationAddresses(@ptrCast(*const INetworkCostManager, self), length, pDestIPAddrList, bAppend);
}
};}
pub usingnamespace MethodMixin(@This());
};
// TODO: this type is limited to platform 'windows8.0'
const IID_INetworkCostManagerEvents_Value = @import("../zig.zig").Guid.initString("dcb00009-570f-4a9b-8d69-199fdba5723b");
pub const IID_INetworkCostManagerEvents = &IID_INetworkCostManagerEvents_Value;
pub const INetworkCostManagerEvents = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
CostChanged: fn(
self: *const INetworkCostManagerEvents,
newCost: u32,
pDestAddr: *NLM_SOCKADDR,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
DataPlanStatusChanged: fn(
self: *const INetworkCostManagerEvents,
pDestAddr: *NLM_SOCKADDR,
) 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 INetworkCostManagerEvents_CostChanged(self: *const T, newCost: u32, pDestAddr: *NLM_SOCKADDR) callconv(.Inline) HRESULT {
return @ptrCast(*const INetworkCostManagerEvents.VTable, self.vtable).CostChanged(@ptrCast(*const INetworkCostManagerEvents, self), newCost, pDestAddr);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn INetworkCostManagerEvents_DataPlanStatusChanged(self: *const T, pDestAddr: *NLM_SOCKADDR) callconv(.Inline) HRESULT {
return @ptrCast(*const INetworkCostManagerEvents.VTable, self.vtable).DataPlanStatusChanged(@ptrCast(*const INetworkCostManagerEvents, self), pDestAddr);
}
};}
pub usingnamespace MethodMixin(@This());
};
// TODO: this type is limited to platform 'windows8.0'
const IID_INetworkConnectionCost_Value = @import("../zig.zig").Guid.initString("dcb0000a-570f-4a9b-8d69-199fdba5723b");
pub const IID_INetworkConnectionCost = &IID_INetworkConnectionCost_Value;
pub const INetworkConnectionCost = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
GetCost: fn(
self: *const INetworkConnectionCost,
pCost: *u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
GetDataPlanStatus: fn(
self: *const INetworkConnectionCost,
pDataPlanStatus: *NLM_DATAPLAN_STATUS,
) 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 INetworkConnectionCost_GetCost(self: *const T, pCost: *u32) callconv(.Inline) HRESULT {
return @ptrCast(*const INetworkConnectionCost.VTable, self.vtable).GetCost(@ptrCast(*const INetworkConnectionCost, self), pCost);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn INetworkConnectionCost_GetDataPlanStatus(self: *const T, pDataPlanStatus: *NLM_DATAPLAN_STATUS) callconv(.Inline) HRESULT {
return @ptrCast(*const INetworkConnectionCost.VTable, self.vtable).GetDataPlanStatus(@ptrCast(*const INetworkConnectionCost, self), pDataPlanStatus);
}
};}
pub usingnamespace MethodMixin(@This());
};
// TODO: this type is limited to platform 'windows8.0'
const IID_INetworkConnectionCostEvents_Value = @import("../zig.zig").Guid.initString("dcb0000b-570f-4a9b-8d69-199fdba5723b");
pub const IID_INetworkConnectionCostEvents = &IID_INetworkConnectionCostEvents_Value;
pub const INetworkConnectionCostEvents = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
ConnectionCostChanged: fn(
self: *const INetworkConnectionCostEvents,
connectionId: Guid,
newCost: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
ConnectionDataPlanStatusChanged: fn(
self: *const INetworkConnectionCostEvents,
connectionId: 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 INetworkConnectionCostEvents_ConnectionCostChanged(self: *const T, connectionId: Guid, newCost: u32) callconv(.Inline) HRESULT {
return @ptrCast(*const INetworkConnectionCostEvents.VTable, self.vtable).ConnectionCostChanged(@ptrCast(*const INetworkConnectionCostEvents, self), connectionId, newCost);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn INetworkConnectionCostEvents_ConnectionDataPlanStatusChanged(self: *const T, connectionId: Guid) callconv(.Inline) HRESULT {
return @ptrCast(*const INetworkConnectionCostEvents.VTable, self.vtable).ConnectionDataPlanStatusChanged(@ptrCast(*const INetworkConnectionCostEvents, self), connectionId);
}
};}
pub usingnamespace MethodMixin(@This());
};
pub const ONDEMAND_NOTIFICATION_CALLBACK = fn(
param0: ?*c_void,
) callconv(@import("std").os.windows.WINAPI) void;
pub const NET_INTERFACE_CONTEXT = extern struct {
InterfaceIndex: u32,
ConfigurationName: PWSTR,
};
pub const NET_INTERFACE_CONTEXT_TABLE = extern struct {
InterfaceContextHandle: HANDLE,
NumberOfEntries: u32,
InterfaceContextArray: *NET_INTERFACE_CONTEXT,
};
//--------------------------------------------------------------------------------
// Section: Functions (5)
//--------------------------------------------------------------------------------
// TODO: this type is limited to platform 'windows8.0'
pub extern "OnDemandConnRouteHelper" fn OnDemandGetRoutingHint(
destinationHostName: [*:0]const u16,
interfaceIndex: *u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows8.0'
pub extern "OnDemandConnRouteHelper" fn OnDemandRegisterNotification(
callback: ONDEMAND_NOTIFICATION_CALLBACK,
callbackContext: ?*c_void,
registrationHandle: *HANDLE,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows8.0'
pub extern "OnDemandConnRouteHelper" fn OnDemandUnRegisterNotification(
registrationHandle: HANDLE,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows10.0.10240'
pub extern "OnDemandConnRouteHelper" fn GetInterfaceContextTableForHostName(
HostName: ?[*:0]const u16,
ProxyName: ?[*:0]const u16,
Flags: u32,
// TODO: what to do with BytesParamIndex 4?
ConnectionProfileFilterRawData: ?*u8,
ConnectionProfileFilterRawDataSize: u32,
InterfaceContextTable: **NET_INTERFACE_CONTEXT_TABLE,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows10.0.10240'
pub extern "OnDemandConnRouteHelper" fn FreeInterfaceContextTable(
InterfaceContextTable: *NET_INTERFACE_CONTEXT_TABLE,
) callconv(@import("std").os.windows.WINAPI) void;
//--------------------------------------------------------------------------------
// Section: Unicode Aliases (0)
//--------------------------------------------------------------------------------
pub usingnamespace switch (@import("../zig.zig").unicode_mode) {
.ansi => struct {
},
.wide => struct {
},
.unspecified => if (@import("builtin").is_test) struct {
} else struct {
},
};
//--------------------------------------------------------------------------------
// Section: Imports (9)
//--------------------------------------------------------------------------------
const Guid = @import("../zig.zig").Guid;
const IDispatch = @import("automation.zig").IDispatch;
const IEnumVARIANT = @import("automation.zig").IEnumVARIANT;
const FILETIME = @import("windows_programming.zig").FILETIME;
const PWSTR = @import("system_services.zig").PWSTR;
const IUnknown = @import("com.zig").IUnknown;
const HRESULT = @import("com.zig").HRESULT;
const BSTR = @import("automation.zig").BSTR;
const HANDLE = @import("system_services.zig").HANDLE;
test {
// The following '_ = <FuncPtrType>' lines are a workaround for https://github.com/ziglang/zig/issues/4476
if (@hasDecl(@This(), "ONDEMAND_NOTIFICATION_CALLBACK")) { _ = ONDEMAND_NOTIFICATION_CALLBACK; }
@setEvalBranchQuota(
@import("std").meta.declarations(@This()).len * 3
);
// reference all the pub declarations
if (!@import("std").builtin.is_test) return;
inline for (@import("std").meta.declarations(@This())) |decl| {
if (decl.is_pub) {
_ = decl;
}
}
}

File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More