@bun-win32/windowscodecs 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/AI.md ADDED
@@ -0,0 +1,71 @@
1
+ # AI Guide for @bun-win32/windowscodecs
2
+
3
+ How to use this package, not what the Win32 API does.
4
+
5
+ ## Usage
6
+
7
+ ```ts
8
+ import WindowsCodecs, { SomeFlag } from '@bun-win32/windowscodecs';
9
+
10
+ // Methods bind lazily on first call
11
+ const result = WindowsCodecs.SomeFunctionW(arg1, arg2);
12
+
13
+ // Preload: array, single string, or no args (all symbols)
14
+ WindowsCodecs.Preload(['SomeFunctionW', 'AnotherFunction']);
15
+ WindowsCodecs.Preload('SomeFunctionW');
16
+ WindowsCodecs.Preload();
17
+ ```
18
+
19
+ ## Where To Look
20
+
21
+ | Need | Read |
22
+ | --------------------------------- | -------------------------- |
23
+ | Find a method or its MS Docs link | `structs/WindowsCodecs.ts` |
24
+ | Find types, enums, constants | `types/WindowsCodecs.ts` |
25
+ | Quick examples | `README.md` |
26
+
27
+ `index.ts` re-exports the class and all types — import from `@bun-win32/windowscodecs` directly.
28
+
29
+ ## Calling Convention
30
+
31
+ All documented `windowscodecs.dll` exports are bound. Each method maps 1:1 to its DLL export. Names, parameter names, and order match Microsoft Docs.
32
+
33
+ ### Strings
34
+
35
+ `W` methods take UTF-16LE NUL-terminated buffers. `A` methods take ANSI strings.
36
+
37
+ ```ts
38
+ const wide = Buffer.from('Hello\0', 'utf16le'); // LPCWSTR
39
+ WindowsCodecs.SomeFunctionW(wide.ptr);
40
+
41
+ // Reading a wide string back from a buffer:
42
+ const text = new TextDecoder('utf-16').decode(buf).replace(/\0.*$/, '');
43
+ ```
44
+
45
+ ### Return types
46
+
47
+ - `HANDLE`, `HWND`, etc. → `bigint`
48
+ - `DWORD`, `UINT`, `BOOL`, `INT`, `LONG` → `number`
49
+ - `LPVOID`, `LPWSTR`, etc. → `Pointer`
50
+ - Win32 `BOOL` is `number` (0 or non-zero), **not** JS `boolean`. Do not compare with `=== true`.
51
+
52
+ ### Pointers, handles, out-parameters
53
+
54
+ - **Pointer** params (`LP*`, `P*`, `Pointer`): pass `buffer.ptr` from a caller-allocated `Buffer`.
55
+ - **Handle** params (`HANDLE`, `HWND`, etc.): pass a `bigint` value.
56
+ - **Out-parameters**: allocate a `Buffer`, pass `.ptr`, read the result after the call.
57
+
58
+ ```ts
59
+ const out = Buffer.alloc(4);
60
+ WindowsCodecs.SomeFunction(out.ptr);
61
+ const value = out.readUInt32LE(0);
62
+ ```
63
+
64
+ ### Nullability
65
+
66
+ - `| NULL` in a signature → pass `null` (optional pointer).
67
+ - `| 0n` in a signature → pass `0n` (optional handle).
68
+
69
+ ## Errors and Cleanup
70
+
71
+ Return values are raw. If the Win32 function uses last-error semantics, read via `GetLastError()`. Resource cleanup is your responsibility — same as raw Win32.
package/README.md ADDED
@@ -0,0 +1,81 @@
1
+ # @bun-win32/windowscodecs
2
+
3
+ Zero-dependency, zero-overhead Win32 WindowsCodecs bindings for [Bun](https://bun.sh) on Windows.
4
+
5
+ ## Overview
6
+
7
+ `@bun-win32/windowscodecs` exposes the `windowscodecs.dll` exports using [Bun](https://bun.sh)'s FFI. It provides a single class, `WindowsCodecs`, which lazily binds native symbols on first use. You can optionally preload a subset or all symbols up-front via `Preload()`.
8
+
9
+ Windows Imaging Component (WIC) ships its C-callable surface as flat `*_Proxy` exports: each `IWICInterface_Method_Proxy` forwards to the matching COM vtable method, taking the interface pointer as the first argument. COM interface pointers are passed by value as `bigint` handles; the `**` out-parameters of the create/get functions are caller-allocated 8-byte buffers from which you read the new pointer.
10
+
11
+ The bindings are strongly typed for a smooth DX in TypeScript.
12
+
13
+ ## Features
14
+
15
+ - [Bun](https://bun.sh)-first ergonomics on Windows 10/11.
16
+ - Direct FFI to `windowscodecs.dll` (Windows Imaging Component: image decode/encode, scaling, flip/rotate, pixel-format conversion, palettes, color contexts, and metadata).
17
+ - In-source docs in `structs/WindowsCodecs.ts` with links to Microsoft Docs.
18
+ - Lazy binding on first call; optional eager preload (`WindowsCodecs.Preload()`).
19
+ - No wrapper overhead; calls map 1:1 to native APIs.
20
+ - Strongly-typed Win32 aliases (see `types/WindowsCodecs.ts`).
21
+
22
+ ## Requirements
23
+
24
+ - [Bun](https://bun.sh) runtime
25
+ - Windows 10 or later
26
+
27
+ ## Installation
28
+
29
+ ```sh
30
+ bun add @bun-win32/windowscodecs
31
+ ```
32
+
33
+ ## Quick Start
34
+
35
+ ```ts
36
+ import WindowsCodecs, { WICDecodeOptions, WINCODEC_SDK_VERSION } from '@bun-win32/windowscodecs';
37
+
38
+ // Read a COM interface pointer out of an 8-byte slot.
39
+ const slot = () => Buffer.alloc(8);
40
+ const ptrOf = (b: Buffer) => b.readBigUInt64LE(0);
41
+
42
+ // 1. Create the imaging factory (CoInitialize via @bun-win32/ole32 first).
43
+ const ppFactory = slot();
44
+ WindowsCodecs.WICCreateImagingFactory_Proxy(WINCODEC_SDK_VERSION, ppFactory.ptr!);
45
+ const factory = ptrOf(ppFactory);
46
+
47
+ // 2. Decode an image from a file.
48
+ const path = Buffer.from('C:\\Windows\\Web\\Wallpaper\\Windows\\img0.jpg\0', 'utf16le');
49
+ const ppDecoder = slot();
50
+ WindowsCodecs.IWICImagingFactory_CreateDecoderFromFilename_Proxy(factory, path.ptr!, null, 0x8000_0000, WICDecodeOptions.WICDecodeMetadataCacheOnDemand, ppDecoder.ptr!);
51
+ const decoder = ptrOf(ppDecoder);
52
+
53
+ // 3. Grab frame 0 and read its dimensions.
54
+ const ppFrame = slot();
55
+ WindowsCodecs.IWICBitmapDecoder_GetFrame_Proxy(decoder, 0, ppFrame.ptr!);
56
+ const frame = ptrOf(ppFrame);
57
+
58
+ const w = Buffer.alloc(4);
59
+ const h = Buffer.alloc(4);
60
+ WindowsCodecs.IWICBitmapSource_GetSize_Proxy(frame, w.ptr!, h.ptr!);
61
+ console.log(`${w.readUInt32LE(0)} x ${h.readUInt32LE(0)}`);
62
+ ```
63
+
64
+ > [!NOTE]
65
+ > AI agents: see `AI.md` for the package binding contract and source-navigation guidance. It explains how to use the package without scanning the entire implementation.
66
+
67
+ ## Examples
68
+
69
+ Run the included examples:
70
+
71
+ ```sh
72
+ bun run example:plasma-forge # creative: synthesize a plasma field, WIC-resample it, paint truecolor ANSI
73
+ bun run example:image-inspector # professional: full decode + format conversion + codec/metadata diagnostic
74
+ ```
75
+
76
+ ## Notes
77
+
78
+ - WIC is COM-based. Initialize COM on the calling thread first (e.g. `Ole32.CoInitialize(null)` from `@bun-win32/ole32`) before creating the factory.
79
+ - Interface pointers are reference-counted. Release them with `IUnknown::Release` (via `@bun-win32/ole32`) when done; this package binds the documented WIC surface 1:1 and does not manage lifetimes.
80
+ - Either rely on lazy binding or call `WindowsCodecs.Preload()`.
81
+ - Windows only. Bun runtime required.
package/index.ts ADDED
@@ -0,0 +1,4 @@
1
+ import WindowsCodecs from './structs/WindowsCodecs';
2
+
3
+ export * from './types/WindowsCodecs';
4
+ export default WindowsCodecs;
package/package.json ADDED
@@ -0,0 +1,61 @@
1
+ {
2
+ "author": "Stev Peifer <stev@bell.net>",
3
+ "bugs": {
4
+ "url": "https://github.com/ObscuritySRL/bun-win32/issues"
5
+ },
6
+ "dependencies": {
7
+ "@bun-win32/core": "1.1.2"
8
+ },
9
+ "description": "Zero-dependency, zero-overhead Win32 WINDOWSCODECS bindings for Bun (FFI) on Windows.",
10
+ "devDependencies": {
11
+ "@bun-win32/ole32": "1.0.0",
12
+ "@types/bun": "latest"
13
+ },
14
+ "exports": {
15
+ ".": "./index.ts"
16
+ },
17
+ "license": "MIT",
18
+ "module": "index.ts",
19
+ "name": "@bun-win32/windowscodecs",
20
+ "peerDependencies": {
21
+ "typescript": "^5"
22
+ },
23
+ "private": false,
24
+ "homepage": "https://github.com/ObscuritySRL/bun-win32#readme",
25
+ "repository": {
26
+ "type": "git",
27
+ "url": "git://github.com/ObscuritySRL/bun-win32.git",
28
+ "directory": "packages/windowscodecs"
29
+ },
30
+ "type": "module",
31
+ "version": "1.0.0",
32
+ "main": "./index.ts",
33
+ "keywords": [
34
+ "bun",
35
+ "ffi",
36
+ "win32",
37
+ "windows",
38
+ "windowscodecs",
39
+ "wic",
40
+ "image",
41
+ "codec",
42
+ "bindings",
43
+ "typescript",
44
+ "dll"
45
+ ],
46
+ "files": [
47
+ "AI.md",
48
+ "README.md",
49
+ "index.ts",
50
+ "structs/*.ts",
51
+ "types/*.ts"
52
+ ],
53
+ "sideEffects": false,
54
+ "engines": {
55
+ "bun": ">=1.1.0"
56
+ },
57
+ "scripts": {
58
+ "example:plasma-forge": "bun ./example/plasma-forge.ts",
59
+ "example:image-inspector": "bun ./example/image-inspector.ts"
60
+ }
61
+ }
@@ -0,0 +1,824 @@
1
+ import { type FFIFunction, FFIType, type Pointer } from 'bun:ffi';
2
+
3
+ import { Win32 } from '@bun-win32/core';
4
+
5
+ import type {
6
+ BOOL,
7
+ DOUBLE,
8
+ DWORD,
9
+ HANDLE,
10
+ HBITMAP,
11
+ HICON,
12
+ HPALETTE,
13
+ HRESULT,
14
+ IEnumString,
15
+ IPropertyBag2,
16
+ IStream,
17
+ IWICBitmap,
18
+ IWICBitmapClipper,
19
+ IWICBitmapCodecInfo,
20
+ IWICBitmapDecoder,
21
+ IWICBitmapEncoder,
22
+ IWICBitmapFlipRotator,
23
+ IWICBitmapFrameDecode,
24
+ IWICBitmapFrameEncode,
25
+ IWICBitmapLock,
26
+ IWICBitmapScaler,
27
+ IWICBitmapSource,
28
+ IWICColorContext,
29
+ IWICComponentFactory,
30
+ IWICComponentInfo,
31
+ IWICFastMetadataEncoder,
32
+ IWICFormatConverter,
33
+ IWICImagingFactory,
34
+ IWICMetadataBlockReader,
35
+ IWICMetadataBlockWriter,
36
+ IWICMetadataQueryReader,
37
+ IWICMetadataQueryWriter,
38
+ IWICMetadataReader,
39
+ IWICMetadataWriter,
40
+ IWICPalette,
41
+ IWICPixelFormatInfo,
42
+ IWICStream,
43
+ LPBOOL,
44
+ LPBYTE,
45
+ LPCWSTR,
46
+ LPDOUBLE,
47
+ LPGUID,
48
+ LPLPOLESTR,
49
+ LPPROPBAG2,
50
+ LPPROPVARIANT,
51
+ LPUINT,
52
+ LPULARGE_INTEGER,
53
+ LPULONG,
54
+ LPVARIANT,
55
+ LPWICBitmapPaletteType,
56
+ LPWICColor,
57
+ LPWICInProcPointer,
58
+ LPWICPixelFormatGUID,
59
+ LPWICRect,
60
+ LPWSTR,
61
+ NULL,
62
+ PCWSTR,
63
+ REFCLSID,
64
+ REFGUID,
65
+ REFIID,
66
+ REFWICPixelFormatGUID,
67
+ UINT,
68
+ ULONG,
69
+ ULONG_PTR,
70
+ WICBitmapAlphaChannelOption,
71
+ WICBitmapCreateCacheOption,
72
+ WICBitmapDitherType,
73
+ WICBitmapEncoderCacheOption,
74
+ WICBitmapInterpolationMode,
75
+ WICBitmapPaletteType,
76
+ WICBitmapTransformOptions,
77
+ WICDecodeOptions,
78
+ WICInProcPointer,
79
+ WICSectionAccessLevel,
80
+ } from '../types/WindowsCodecs';
81
+
82
+ /**
83
+ * Thin, lazy-loaded FFI bindings for `windowscodecs.dll` (Windows Imaging Component).
84
+ *
85
+ * Each static method corresponds one-to-one with a `windowscodecs.dll` export declared in
86
+ * `Symbols`. WIC exposes its COM interfaces through flat `*_Proxy` exports — each proxy takes
87
+ * the owning interface pointer as the first parameter, then the original method's parameters.
88
+ * COM interface pointers are opaque tokens (`bigint`), obtained from the `**` out-parameters
89
+ * of the create/get functions and passed back by value; you never dereference them locally.
90
+ *
91
+ * The first call to a method binds the underlying native symbol via `bun:ffi` and memoizes
92
+ * it on the class for subsequent calls. For bulk, up-front binding, use `Preload`.
93
+ *
94
+ * @example
95
+ * ```ts
96
+ * import WindowsCodecs from './structs/WindowsCodecs';
97
+ *
98
+ * const out = Buffer.alloc(8);
99
+ * WindowsCodecs.WICCreateImagingFactory_Proxy(0x0237, out.ptr!);
100
+ * const factory = out.readBigUInt64LE(0);
101
+ * ```
102
+ */
103
+ class WindowsCodecs extends Win32 {
104
+ protected static override name = 'windowscodecs.dll';
105
+
106
+ /** @inheritdoc */
107
+ protected static override readonly Symbols = {
108
+ DllCanUnloadNow: { args: [], returns: FFIType.i32 },
109
+ DllGetClassObject: { args: [FFIType.ptr, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
110
+ IEnumString_Next_WIC_Proxy: { args: [FFIType.u64, FFIType.u32, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
111
+ IEnumString_Reset_WIC_Proxy: { args: [FFIType.u64], returns: FFIType.i32 },
112
+ IPropertyBag2_Write_Proxy: { args: [FFIType.u64, FFIType.u32, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
113
+ IWICBitmapClipper_Initialize_Proxy: { args: [FFIType.u64, FFIType.u64, FFIType.ptr], returns: FFIType.i32 },
114
+ IWICBitmapCodecInfo_DoesSupportAnimation_Proxy: { args: [FFIType.u64, FFIType.ptr], returns: FFIType.i32 },
115
+ IWICBitmapCodecInfo_DoesSupportLossless_Proxy: { args: [FFIType.u64, FFIType.ptr], returns: FFIType.i32 },
116
+ IWICBitmapCodecInfo_DoesSupportMultiframe_Proxy: { args: [FFIType.u64, FFIType.ptr], returns: FFIType.i32 },
117
+ IWICBitmapCodecInfo_GetContainerFormat_Proxy: { args: [FFIType.u64, FFIType.ptr], returns: FFIType.i32 },
118
+ IWICBitmapCodecInfo_GetDeviceManufacturer_Proxy: { args: [FFIType.u64, FFIType.u32, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
119
+ IWICBitmapCodecInfo_GetDeviceModels_Proxy: { args: [FFIType.u64, FFIType.u32, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
120
+ IWICBitmapCodecInfo_GetFileExtensions_Proxy: { args: [FFIType.u64, FFIType.u32, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
121
+ IWICBitmapCodecInfo_GetMimeTypes_Proxy: { args: [FFIType.u64, FFIType.u32, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
122
+ IWICBitmapDecoder_CopyPalette_Proxy: { args: [FFIType.u64, FFIType.u64], returns: FFIType.i32 },
123
+ IWICBitmapDecoder_GetColorContexts_Proxy: { args: [FFIType.u64, FFIType.u32, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
124
+ IWICBitmapDecoder_GetDecoderInfo_Proxy: { args: [FFIType.u64, FFIType.ptr], returns: FFIType.i32 },
125
+ IWICBitmapDecoder_GetFrameCount_Proxy: { args: [FFIType.u64, FFIType.ptr], returns: FFIType.i32 },
126
+ IWICBitmapDecoder_GetFrame_Proxy: { args: [FFIType.u64, FFIType.u32, FFIType.ptr], returns: FFIType.i32 },
127
+ IWICBitmapDecoder_GetMetadataQueryReader_Proxy: { args: [FFIType.u64, FFIType.ptr], returns: FFIType.i32 },
128
+ IWICBitmapDecoder_GetPreview_Proxy: { args: [FFIType.u64, FFIType.ptr], returns: FFIType.i32 },
129
+ IWICBitmapDecoder_GetThumbnail_Proxy: { args: [FFIType.u64, FFIType.ptr], returns: FFIType.i32 },
130
+ IWICBitmapEncoder_Commit_Proxy: { args: [FFIType.u64], returns: FFIType.i32 },
131
+ IWICBitmapEncoder_CreateNewFrame_Proxy: { args: [FFIType.u64, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
132
+ IWICBitmapEncoder_GetEncoderInfo_Proxy: { args: [FFIType.u64, FFIType.ptr], returns: FFIType.i32 },
133
+ IWICBitmapEncoder_GetMetadataQueryWriter_Proxy: { args: [FFIType.u64, FFIType.ptr], returns: FFIType.i32 },
134
+ IWICBitmapEncoder_Initialize_Proxy: { args: [FFIType.u64, FFIType.u64, FFIType.u32], returns: FFIType.i32 },
135
+ IWICBitmapEncoder_SetPalette_Proxy: { args: [FFIType.u64, FFIType.u64], returns: FFIType.i32 },
136
+ IWICBitmapEncoder_SetThumbnail_Proxy: { args: [FFIType.u64, FFIType.u64], returns: FFIType.i32 },
137
+ IWICBitmapFlipRotator_Initialize_Proxy: { args: [FFIType.u64, FFIType.u64, FFIType.u32], returns: FFIType.i32 },
138
+ IWICBitmapFrameDecode_GetColorContexts_Proxy: { args: [FFIType.u64, FFIType.u32, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
139
+ IWICBitmapFrameDecode_GetMetadataQueryReader_Proxy: { args: [FFIType.u64, FFIType.ptr], returns: FFIType.i32 },
140
+ IWICBitmapFrameDecode_GetThumbnail_Proxy: { args: [FFIType.u64, FFIType.ptr], returns: FFIType.i32 },
141
+ IWICBitmapFrameEncode_Commit_Proxy: { args: [FFIType.u64], returns: FFIType.i32 },
142
+ IWICBitmapFrameEncode_GetMetadataQueryWriter_Proxy: { args: [FFIType.u64, FFIType.ptr], returns: FFIType.i32 },
143
+ IWICBitmapFrameEncode_Initialize_Proxy: { args: [FFIType.u64, FFIType.u64], returns: FFIType.i32 },
144
+ IWICBitmapFrameEncode_SetColorContexts_Proxy: { args: [FFIType.u64, FFIType.u32, FFIType.ptr], returns: FFIType.i32 },
145
+ IWICBitmapFrameEncode_SetResolution_Proxy: { args: [FFIType.u64, FFIType.f64, FFIType.f64], returns: FFIType.i32 },
146
+ IWICBitmapFrameEncode_SetSize_Proxy: { args: [FFIType.u64, FFIType.u32, FFIType.u32], returns: FFIType.i32 },
147
+ IWICBitmapFrameEncode_SetThumbnail_Proxy: { args: [FFIType.u64, FFIType.u64], returns: FFIType.i32 },
148
+ IWICBitmapFrameEncode_WriteSource_Proxy: { args: [FFIType.u64, FFIType.u64, FFIType.ptr], returns: FFIType.i32 },
149
+ IWICBitmapLock_GetDataPointer_STA_Proxy: { args: [FFIType.u64, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
150
+ IWICBitmapLock_GetStride_Proxy: { args: [FFIType.u64, FFIType.ptr], returns: FFIType.i32 },
151
+ IWICBitmapScaler_Initialize_Proxy: { args: [FFIType.u64, FFIType.u64, FFIType.u32, FFIType.u32, FFIType.u32], returns: FFIType.i32 },
152
+ IWICBitmapSource_CopyPalette_Proxy: { args: [FFIType.u64, FFIType.u64], returns: FFIType.i32 },
153
+ IWICBitmapSource_CopyPixels_Proxy: { args: [FFIType.u64, FFIType.ptr, FFIType.u32, FFIType.u32, FFIType.ptr], returns: FFIType.i32 },
154
+ IWICBitmapSource_GetPixelFormat_Proxy: { args: [FFIType.u64, FFIType.ptr], returns: FFIType.i32 },
155
+ IWICBitmapSource_GetResolution_Proxy: { args: [FFIType.u64, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
156
+ IWICBitmapSource_GetSize_Proxy: { args: [FFIType.u64, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
157
+ IWICBitmap_Lock_Proxy: { args: [FFIType.u64, FFIType.ptr, FFIType.u32, FFIType.ptr], returns: FFIType.i32 },
158
+ IWICBitmap_SetPalette_Proxy: { args: [FFIType.u64, FFIType.u64], returns: FFIType.i32 },
159
+ IWICBitmap_SetResolution_Proxy: { args: [FFIType.u64, FFIType.f64, FFIType.f64], returns: FFIType.i32 },
160
+ IWICColorContext_InitializeFromMemory_Proxy: { args: [FFIType.u64, FFIType.ptr, FFIType.u32], returns: FFIType.i32 },
161
+ IWICComponentFactory_CreateMetadataWriterFromReader_Proxy: { args: [FFIType.u64, FFIType.u64, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
162
+ IWICComponentFactory_CreateQueryWriterFromBlockWriter_Proxy: { args: [FFIType.u64, FFIType.u64, FFIType.ptr], returns: FFIType.i32 },
163
+ IWICComponentInfo_GetAuthor_Proxy: { args: [FFIType.u64, FFIType.u32, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
164
+ IWICComponentInfo_GetCLSID_Proxy: { args: [FFIType.u64, FFIType.ptr], returns: FFIType.i32 },
165
+ IWICComponentInfo_GetFriendlyName_Proxy: { args: [FFIType.u64, FFIType.u32, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
166
+ IWICComponentInfo_GetSpecVersion_Proxy: { args: [FFIType.u64, FFIType.u32, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
167
+ IWICComponentInfo_GetVersion_Proxy: { args: [FFIType.u64, FFIType.u32, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
168
+ IWICFastMetadataEncoder_Commit_Proxy: { args: [FFIType.u64], returns: FFIType.i32 },
169
+ IWICFastMetadataEncoder_GetMetadataQueryWriter_Proxy: { args: [FFIType.u64, FFIType.ptr], returns: FFIType.i32 },
170
+ IWICFormatConverter_Initialize_Proxy: { args: [FFIType.u64, FFIType.u64, FFIType.ptr, FFIType.u32, FFIType.u64, FFIType.f64, FFIType.u32], returns: FFIType.i32 },
171
+ IWICImagingFactory_CreateBitmapClipper_Proxy: { args: [FFIType.u64, FFIType.ptr], returns: FFIType.i32 },
172
+ IWICImagingFactory_CreateBitmapFlipRotator_Proxy: { args: [FFIType.u64, FFIType.ptr], returns: FFIType.i32 },
173
+ IWICImagingFactory_CreateBitmapFromHBITMAP_Proxy: { args: [FFIType.u64, FFIType.u64, FFIType.u64, FFIType.u32, FFIType.ptr], returns: FFIType.i32 },
174
+ IWICImagingFactory_CreateBitmapFromHICON_Proxy: { args: [FFIType.u64, FFIType.u64, FFIType.ptr], returns: FFIType.i32 },
175
+ IWICImagingFactory_CreateBitmapFromMemory_Proxy: { args: [FFIType.u64, FFIType.u32, FFIType.u32, FFIType.ptr, FFIType.u32, FFIType.u32, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
176
+ IWICImagingFactory_CreateBitmapFromSource_Proxy: { args: [FFIType.u64, FFIType.u64, FFIType.u32, FFIType.ptr], returns: FFIType.i32 },
177
+ IWICImagingFactory_CreateBitmapScaler_Proxy: { args: [FFIType.u64, FFIType.ptr], returns: FFIType.i32 },
178
+ IWICImagingFactory_CreateBitmap_Proxy: { args: [FFIType.u64, FFIType.u32, FFIType.u32, FFIType.ptr, FFIType.u32, FFIType.ptr], returns: FFIType.i32 },
179
+ IWICImagingFactory_CreateComponentInfo_Proxy: { args: [FFIType.u64, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
180
+ IWICImagingFactory_CreateDecoderFromFileHandle_Proxy: { args: [FFIType.u64, FFIType.u64, FFIType.ptr, FFIType.u32, FFIType.ptr], returns: FFIType.i32 },
181
+ IWICImagingFactory_CreateDecoderFromFilename_Proxy: { args: [FFIType.u64, FFIType.ptr, FFIType.ptr, FFIType.u32, FFIType.u32, FFIType.ptr], returns: FFIType.i32 },
182
+ IWICImagingFactory_CreateDecoderFromStream_Proxy: { args: [FFIType.u64, FFIType.u64, FFIType.ptr, FFIType.u32, FFIType.ptr], returns: FFIType.i32 },
183
+ IWICImagingFactory_CreateEncoder_Proxy: { args: [FFIType.u64, FFIType.ptr, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
184
+ IWICImagingFactory_CreateFastMetadataEncoderFromDecoder_Proxy: { args: [FFIType.u64, FFIType.u64, FFIType.ptr], returns: FFIType.i32 },
185
+ IWICImagingFactory_CreateFastMetadataEncoderFromFrameDecode_Proxy: { args: [FFIType.u64, FFIType.u64, FFIType.ptr], returns: FFIType.i32 },
186
+ IWICImagingFactory_CreateFormatConverter_Proxy: { args: [FFIType.u64, FFIType.ptr], returns: FFIType.i32 },
187
+ IWICImagingFactory_CreatePalette_Proxy: { args: [FFIType.u64, FFIType.ptr], returns: FFIType.i32 },
188
+ IWICImagingFactory_CreateQueryWriterFromReader_Proxy: { args: [FFIType.u64, FFIType.u64, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
189
+ IWICImagingFactory_CreateQueryWriter_Proxy: { args: [FFIType.u64, FFIType.ptr, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
190
+ IWICImagingFactory_CreateStream_Proxy: { args: [FFIType.u64, FFIType.ptr], returns: FFIType.i32 },
191
+ IWICMetadataBlockReader_GetCount_Proxy: { args: [FFIType.u64, FFIType.ptr], returns: FFIType.i32 },
192
+ IWICMetadataBlockReader_GetReaderByIndex_Proxy: { args: [FFIType.u64, FFIType.u32, FFIType.ptr], returns: FFIType.i32 },
193
+ IWICMetadataQueryReader_GetContainerFormat_Proxy: { args: [FFIType.u64, FFIType.ptr], returns: FFIType.i32 },
194
+ IWICMetadataQueryReader_GetEnumerator_Proxy: { args: [FFIType.u64, FFIType.ptr], returns: FFIType.i32 },
195
+ IWICMetadataQueryReader_GetLocation_Proxy: { args: [FFIType.u64, FFIType.u32, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
196
+ IWICMetadataQueryReader_GetMetadataByName_Proxy: { args: [FFIType.u64, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
197
+ IWICMetadataQueryWriter_RemoveMetadataByName_Proxy: { args: [FFIType.u64, FFIType.ptr], returns: FFIType.i32 },
198
+ IWICMetadataQueryWriter_SetMetadataByName_Proxy: { args: [FFIType.u64, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
199
+ IWICPalette_GetColorCount_Proxy: { args: [FFIType.u64, FFIType.ptr], returns: FFIType.i32 },
200
+ IWICPalette_GetColors_Proxy: { args: [FFIType.u64, FFIType.u32, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
201
+ IWICPalette_GetType_Proxy: { args: [FFIType.u64, FFIType.ptr], returns: FFIType.i32 },
202
+ IWICPalette_HasAlpha_Proxy: { args: [FFIType.u64, FFIType.ptr], returns: FFIType.i32 },
203
+ IWICPalette_InitializeCustom_Proxy: { args: [FFIType.u64, FFIType.ptr, FFIType.u32], returns: FFIType.i32 },
204
+ IWICPalette_InitializeFromBitmap_Proxy: { args: [FFIType.u64, FFIType.u64, FFIType.u32, FFIType.i32], returns: FFIType.i32 },
205
+ IWICPalette_InitializeFromPalette_Proxy: { args: [FFIType.u64, FFIType.u64], returns: FFIType.i32 },
206
+ IWICPalette_InitializePredefined_Proxy: { args: [FFIType.u64, FFIType.u32, FFIType.i32], returns: FFIType.i32 },
207
+ IWICPixelFormatInfo_GetBitsPerPixel_Proxy: { args: [FFIType.u64, FFIType.ptr], returns: FFIType.i32 },
208
+ IWICPixelFormatInfo_GetChannelCount_Proxy: { args: [FFIType.u64, FFIType.ptr], returns: FFIType.i32 },
209
+ IWICPixelFormatInfo_GetChannelMask_Proxy: { args: [FFIType.u64, FFIType.u32, FFIType.u32, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
210
+ IWICStream_InitializeFromIStream_Proxy: { args: [FFIType.u64, FFIType.u64], returns: FFIType.i32 },
211
+ IWICStream_InitializeFromMemory_Proxy: { args: [FFIType.u64, FFIType.ptr, FFIType.u32], returns: FFIType.i32 },
212
+ WICConvertBitmapSource: { args: [FFIType.ptr, FFIType.u64, FFIType.ptr], returns: FFIType.i32 },
213
+ WICCreateBitmapFromSection: { args: [FFIType.u32, FFIType.u32, FFIType.ptr, FFIType.u64, FFIType.u32, FFIType.u32, FFIType.ptr], returns: FFIType.i32 },
214
+ WICCreateBitmapFromSectionEx: { args: [FFIType.u32, FFIType.u32, FFIType.ptr, FFIType.u64, FFIType.u32, FFIType.u32, FFIType.u32, FFIType.ptr], returns: FFIType.i32 },
215
+ WICCreateColorContext_Proxy: { args: [FFIType.u64, FFIType.ptr], returns: FFIType.i32 },
216
+ WICCreateImagingFactory_Proxy: { args: [FFIType.u32, FFIType.ptr], returns: FFIType.i32 },
217
+ WICGetMetadataContentSize: { args: [FFIType.ptr, FFIType.u64, FFIType.ptr], returns: FFIType.i32 },
218
+ WICMapGuidToShortName: { args: [FFIType.ptr, FFIType.u32, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
219
+ WICMapSchemaToName: { args: [FFIType.ptr, FFIType.ptr, FFIType.u32, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
220
+ WICMapShortNameToGuid: { args: [FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
221
+ WICMatchMetadataContent: { args: [FFIType.ptr, FFIType.ptr, FFIType.u64, FFIType.ptr], returns: FFIType.i32 },
222
+ WICSerializeMetadataContent: { args: [FFIType.ptr, FFIType.u64, FFIType.u32, FFIType.u64], returns: FFIType.i32 },
223
+ WICSetEncoderFormat_Proxy: { args: [FFIType.u64, FFIType.u64, FFIType.u64, FFIType.ptr], returns: FFIType.i32 },
224
+ } as const satisfies Record<string, FFIFunction>;
225
+
226
+ // https://learn.microsoft.com/en-us/windows/win32/api/combaseapi/nf-combaseapi-dllcanunloadnow
227
+ public static DllCanUnloadNow(): HRESULT {
228
+ return WindowsCodecs.Load('DllCanUnloadNow')();
229
+ }
230
+
231
+ // https://learn.microsoft.com/en-us/windows/win32/api/combaseapi/nf-combaseapi-dllgetclassobject
232
+ public static DllGetClassObject(rclsid: REFCLSID, riid: REFIID, ppv: Pointer): HRESULT {
233
+ return WindowsCodecs.Load('DllGetClassObject')(rclsid, riid, ppv);
234
+ }
235
+
236
+ // https://learn.microsoft.com/en-us/windows/win32/api/objidl/nf-objidl-ienumstring-next
237
+ public static IEnumString_Next_WIC_Proxy(This: IEnumString, celt: ULONG, rgelt: LPLPOLESTR, pceltFetched: LPULONG | NULL): HRESULT {
238
+ return WindowsCodecs.Load('IEnumString_Next_WIC_Proxy')(This, celt, rgelt, pceltFetched);
239
+ }
240
+
241
+ // https://learn.microsoft.com/en-us/windows/win32/api/objidl/nf-objidl-ienumstring-reset
242
+ public static IEnumString_Reset_WIC_Proxy(This: IEnumString): HRESULT {
243
+ return WindowsCodecs.Load('IEnumString_Reset_WIC_Proxy')(This);
244
+ }
245
+
246
+ // https://learn.microsoft.com/en-us/windows/win32/api/ocidl/nf-ocidl-ipropertybag2-write
247
+ public static IPropertyBag2_Write_Proxy(This: IPropertyBag2, cProperties: ULONG, pPropBag: LPPROPBAG2, pvarValue: LPVARIANT): HRESULT {
248
+ return WindowsCodecs.Load('IPropertyBag2_Write_Proxy')(This, cProperties, pPropBag, pvarValue);
249
+ }
250
+
251
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicbitmapclipper-initialize
252
+ public static IWICBitmapClipper_Initialize_Proxy(This: IWICBitmapClipper, pISource: IWICBitmapSource | 0n, prc: LPWICRect): HRESULT {
253
+ return WindowsCodecs.Load('IWICBitmapClipper_Initialize_Proxy')(This, pISource, prc);
254
+ }
255
+
256
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicbitmapcodecinfo-doessupportanimation
257
+ public static IWICBitmapCodecInfo_DoesSupportAnimation_Proxy(This: IWICBitmapCodecInfo, pfSupportAnimation: LPBOOL): HRESULT {
258
+ return WindowsCodecs.Load('IWICBitmapCodecInfo_DoesSupportAnimation_Proxy')(This, pfSupportAnimation);
259
+ }
260
+
261
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicbitmapcodecinfo-doessupportlossless
262
+ public static IWICBitmapCodecInfo_DoesSupportLossless_Proxy(This: IWICBitmapCodecInfo, pfSupportLossless: LPBOOL): HRESULT {
263
+ return WindowsCodecs.Load('IWICBitmapCodecInfo_DoesSupportLossless_Proxy')(This, pfSupportLossless);
264
+ }
265
+
266
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicbitmapcodecinfo-doessupportmultiframe
267
+ public static IWICBitmapCodecInfo_DoesSupportMultiframe_Proxy(This: IWICBitmapCodecInfo, pfSupportMultiframe: LPBOOL): HRESULT {
268
+ return WindowsCodecs.Load('IWICBitmapCodecInfo_DoesSupportMultiframe_Proxy')(This, pfSupportMultiframe);
269
+ }
270
+
271
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicbitmapcodecinfo-getcontainerformat
272
+ public static IWICBitmapCodecInfo_GetContainerFormat_Proxy(This: IWICBitmapCodecInfo, pguidContainerFormat: LPGUID): HRESULT {
273
+ return WindowsCodecs.Load('IWICBitmapCodecInfo_GetContainerFormat_Proxy')(This, pguidContainerFormat);
274
+ }
275
+
276
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicbitmapcodecinfo-getdevicemanufacturer
277
+ public static IWICBitmapCodecInfo_GetDeviceManufacturer_Proxy(This: IWICBitmapCodecInfo, cchDeviceManufacturer: UINT, wzDeviceManufacturer: LPWSTR | NULL, pcchActual: LPUINT): HRESULT {
278
+ return WindowsCodecs.Load('IWICBitmapCodecInfo_GetDeviceManufacturer_Proxy')(This, cchDeviceManufacturer, wzDeviceManufacturer, pcchActual);
279
+ }
280
+
281
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicbitmapcodecinfo-getdevicemodels
282
+ public static IWICBitmapCodecInfo_GetDeviceModels_Proxy(This: IWICBitmapCodecInfo, cchDeviceModels: UINT, wzDeviceModels: LPWSTR | NULL, pcchActual: LPUINT): HRESULT {
283
+ return WindowsCodecs.Load('IWICBitmapCodecInfo_GetDeviceModels_Proxy')(This, cchDeviceModels, wzDeviceModels, pcchActual);
284
+ }
285
+
286
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicbitmapcodecinfo-getfileextensions
287
+ public static IWICBitmapCodecInfo_GetFileExtensions_Proxy(This: IWICBitmapCodecInfo, cchFileExtensions: UINT, wzFileExtensions: LPWSTR | NULL, pcchActual: LPUINT): HRESULT {
288
+ return WindowsCodecs.Load('IWICBitmapCodecInfo_GetFileExtensions_Proxy')(This, cchFileExtensions, wzFileExtensions, pcchActual);
289
+ }
290
+
291
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicbitmapcodecinfo-getmimetypes
292
+ public static IWICBitmapCodecInfo_GetMimeTypes_Proxy(This: IWICBitmapCodecInfo, cchMimeTypes: UINT, wzMimeTypes: LPWSTR | NULL, pcchActual: LPUINT): HRESULT {
293
+ return WindowsCodecs.Load('IWICBitmapCodecInfo_GetMimeTypes_Proxy')(This, cchMimeTypes, wzMimeTypes, pcchActual);
294
+ }
295
+
296
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicbitmapdecoder-copypalette
297
+ public static IWICBitmapDecoder_CopyPalette_Proxy(This: IWICBitmapDecoder, pIPalette: IWICPalette | 0n): HRESULT {
298
+ return WindowsCodecs.Load('IWICBitmapDecoder_CopyPalette_Proxy')(This, pIPalette);
299
+ }
300
+
301
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicbitmapdecoder-getcolorcontexts
302
+ public static IWICBitmapDecoder_GetColorContexts_Proxy(This: IWICBitmapDecoder, cCount: UINT, ppIColorContexts: Pointer | NULL, pcActualCount: LPUINT): HRESULT {
303
+ return WindowsCodecs.Load('IWICBitmapDecoder_GetColorContexts_Proxy')(This, cCount, ppIColorContexts, pcActualCount);
304
+ }
305
+
306
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicbitmapdecoder-getdecoderinfo
307
+ public static IWICBitmapDecoder_GetDecoderInfo_Proxy(This: IWICBitmapDecoder, ppIDecoderInfo: Pointer): HRESULT {
308
+ return WindowsCodecs.Load('IWICBitmapDecoder_GetDecoderInfo_Proxy')(This, ppIDecoderInfo);
309
+ }
310
+
311
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicbitmapdecoder-getframecount
312
+ public static IWICBitmapDecoder_GetFrameCount_Proxy(This: IWICBitmapDecoder, pCount: LPUINT): HRESULT {
313
+ return WindowsCodecs.Load('IWICBitmapDecoder_GetFrameCount_Proxy')(This, pCount);
314
+ }
315
+
316
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicbitmapdecoder-getframe
317
+ public static IWICBitmapDecoder_GetFrame_Proxy(This: IWICBitmapDecoder, index: UINT, ppIBitmapFrame: Pointer): HRESULT {
318
+ return WindowsCodecs.Load('IWICBitmapDecoder_GetFrame_Proxy')(This, index, ppIBitmapFrame);
319
+ }
320
+
321
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicbitmapdecoder-getmetadataqueryreader
322
+ public static IWICBitmapDecoder_GetMetadataQueryReader_Proxy(This: IWICBitmapDecoder, ppIMetadataQueryReader: Pointer): HRESULT {
323
+ return WindowsCodecs.Load('IWICBitmapDecoder_GetMetadataQueryReader_Proxy')(This, ppIMetadataQueryReader);
324
+ }
325
+
326
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicbitmapdecoder-getpreview
327
+ public static IWICBitmapDecoder_GetPreview_Proxy(This: IWICBitmapDecoder, ppIBitmapSource: Pointer): HRESULT {
328
+ return WindowsCodecs.Load('IWICBitmapDecoder_GetPreview_Proxy')(This, ppIBitmapSource);
329
+ }
330
+
331
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicbitmapdecoder-getthumbnail
332
+ public static IWICBitmapDecoder_GetThumbnail_Proxy(This: IWICBitmapDecoder, ppIThumbnail: Pointer): HRESULT {
333
+ return WindowsCodecs.Load('IWICBitmapDecoder_GetThumbnail_Proxy')(This, ppIThumbnail);
334
+ }
335
+
336
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicbitmapencoder-commit
337
+ public static IWICBitmapEncoder_Commit_Proxy(This: IWICBitmapEncoder): HRESULT {
338
+ return WindowsCodecs.Load('IWICBitmapEncoder_Commit_Proxy')(This);
339
+ }
340
+
341
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicbitmapencoder-createnewframe
342
+ public static IWICBitmapEncoder_CreateNewFrame_Proxy(This: IWICBitmapEncoder, ppIFrameEncode: Pointer, ppIEncoderOptions: Pointer | NULL): HRESULT {
343
+ return WindowsCodecs.Load('IWICBitmapEncoder_CreateNewFrame_Proxy')(This, ppIFrameEncode, ppIEncoderOptions);
344
+ }
345
+
346
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicbitmapencoder-getencoderinfo
347
+ public static IWICBitmapEncoder_GetEncoderInfo_Proxy(This: IWICBitmapEncoder, ppIEncoderInfo: Pointer): HRESULT {
348
+ return WindowsCodecs.Load('IWICBitmapEncoder_GetEncoderInfo_Proxy')(This, ppIEncoderInfo);
349
+ }
350
+
351
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicbitmapencoder-getmetadataquerywriter
352
+ public static IWICBitmapEncoder_GetMetadataQueryWriter_Proxy(This: IWICBitmapEncoder, ppIMetadataQueryWriter: Pointer): HRESULT {
353
+ return WindowsCodecs.Load('IWICBitmapEncoder_GetMetadataQueryWriter_Proxy')(This, ppIMetadataQueryWriter);
354
+ }
355
+
356
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicbitmapencoder-initialize
357
+ public static IWICBitmapEncoder_Initialize_Proxy(This: IWICBitmapEncoder, pIStream: IStream | 0n, cacheOption: WICBitmapEncoderCacheOption): HRESULT {
358
+ return WindowsCodecs.Load('IWICBitmapEncoder_Initialize_Proxy')(This, pIStream, cacheOption);
359
+ }
360
+
361
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicbitmapencoder-setpalette
362
+ public static IWICBitmapEncoder_SetPalette_Proxy(This: IWICBitmapEncoder, pIPalette: IWICPalette | 0n): HRESULT {
363
+ return WindowsCodecs.Load('IWICBitmapEncoder_SetPalette_Proxy')(This, pIPalette);
364
+ }
365
+
366
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicbitmapencoder-setthumbnail
367
+ public static IWICBitmapEncoder_SetThumbnail_Proxy(This: IWICBitmapEncoder, pIThumbnail: IWICBitmapSource | 0n): HRESULT {
368
+ return WindowsCodecs.Load('IWICBitmapEncoder_SetThumbnail_Proxy')(This, pIThumbnail);
369
+ }
370
+
371
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicbitmapfliprotator-initialize
372
+ public static IWICBitmapFlipRotator_Initialize_Proxy(This: IWICBitmapFlipRotator, pISource: IWICBitmapSource | 0n, options: WICBitmapTransformOptions): HRESULT {
373
+ return WindowsCodecs.Load('IWICBitmapFlipRotator_Initialize_Proxy')(This, pISource, options);
374
+ }
375
+
376
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicbitmapframedecode-getcolorcontexts
377
+ public static IWICBitmapFrameDecode_GetColorContexts_Proxy(This: IWICBitmapFrameDecode, cCount: UINT, ppIColorContexts: Pointer | NULL, pcActualCount: LPUINT): HRESULT {
378
+ return WindowsCodecs.Load('IWICBitmapFrameDecode_GetColorContexts_Proxy')(This, cCount, ppIColorContexts, pcActualCount);
379
+ }
380
+
381
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicbitmapframedecode-getmetadataqueryreader
382
+ public static IWICBitmapFrameDecode_GetMetadataQueryReader_Proxy(This: IWICBitmapFrameDecode, ppIMetadataQueryReader: Pointer): HRESULT {
383
+ return WindowsCodecs.Load('IWICBitmapFrameDecode_GetMetadataQueryReader_Proxy')(This, ppIMetadataQueryReader);
384
+ }
385
+
386
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicbitmapframedecode-getthumbnail
387
+ public static IWICBitmapFrameDecode_GetThumbnail_Proxy(This: IWICBitmapFrameDecode, ppIThumbnail: Pointer): HRESULT {
388
+ return WindowsCodecs.Load('IWICBitmapFrameDecode_GetThumbnail_Proxy')(This, ppIThumbnail);
389
+ }
390
+
391
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicbitmapframeencode-commit
392
+ public static IWICBitmapFrameEncode_Commit_Proxy(This: IWICBitmapFrameEncode): HRESULT {
393
+ return WindowsCodecs.Load('IWICBitmapFrameEncode_Commit_Proxy')(This);
394
+ }
395
+
396
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicbitmapframeencode-getmetadataquerywriter
397
+ public static IWICBitmapFrameEncode_GetMetadataQueryWriter_Proxy(This: IWICBitmapFrameEncode, ppIMetadataQueryWriter: Pointer): HRESULT {
398
+ return WindowsCodecs.Load('IWICBitmapFrameEncode_GetMetadataQueryWriter_Proxy')(This, ppIMetadataQueryWriter);
399
+ }
400
+
401
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicbitmapframeencode-initialize
402
+ public static IWICBitmapFrameEncode_Initialize_Proxy(This: IWICBitmapFrameEncode, pIEncoderOptions: IPropertyBag2 | 0n): HRESULT {
403
+ return WindowsCodecs.Load('IWICBitmapFrameEncode_Initialize_Proxy')(This, pIEncoderOptions);
404
+ }
405
+
406
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicbitmapframeencode-setcolorcontexts
407
+ public static IWICBitmapFrameEncode_SetColorContexts_Proxy(This: IWICBitmapFrameEncode, cCount: UINT, ppIColorContext: Pointer): HRESULT {
408
+ return WindowsCodecs.Load('IWICBitmapFrameEncode_SetColorContexts_Proxy')(This, cCount, ppIColorContext);
409
+ }
410
+
411
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicbitmapframeencode-setresolution
412
+ public static IWICBitmapFrameEncode_SetResolution_Proxy(This: IWICBitmapFrameEncode, dpiX: DOUBLE, dpiY: DOUBLE): HRESULT {
413
+ return WindowsCodecs.Load('IWICBitmapFrameEncode_SetResolution_Proxy')(This, dpiX, dpiY);
414
+ }
415
+
416
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicbitmapframeencode-setsize
417
+ public static IWICBitmapFrameEncode_SetSize_Proxy(This: IWICBitmapFrameEncode, uiWidth: UINT, uiHeight: UINT): HRESULT {
418
+ return WindowsCodecs.Load('IWICBitmapFrameEncode_SetSize_Proxy')(This, uiWidth, uiHeight);
419
+ }
420
+
421
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicbitmapframeencode-setthumbnail
422
+ public static IWICBitmapFrameEncode_SetThumbnail_Proxy(This: IWICBitmapFrameEncode, pIThumbnail: IWICBitmapSource | 0n): HRESULT {
423
+ return WindowsCodecs.Load('IWICBitmapFrameEncode_SetThumbnail_Proxy')(This, pIThumbnail);
424
+ }
425
+
426
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicbitmapframeencode-writesource
427
+ public static IWICBitmapFrameEncode_WriteSource_Proxy(This: IWICBitmapFrameEncode, pIBitmapSource: IWICBitmapSource | 0n, prc: LPWICRect | NULL): HRESULT {
428
+ return WindowsCodecs.Load('IWICBitmapFrameEncode_WriteSource_Proxy')(This, pIBitmapSource, prc);
429
+ }
430
+
431
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicbitmaplock-getdatapointer
432
+ public static IWICBitmapLock_GetDataPointer_STA_Proxy(This: IWICBitmapLock, pcbBufferSize: LPUINT, ppbData: LPWICInProcPointer | NULL): HRESULT {
433
+ return WindowsCodecs.Load('IWICBitmapLock_GetDataPointer_STA_Proxy')(This, pcbBufferSize, ppbData);
434
+ }
435
+
436
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicbitmaplock-getstride
437
+ public static IWICBitmapLock_GetStride_Proxy(This: IWICBitmapLock, pcbStride: LPUINT): HRESULT {
438
+ return WindowsCodecs.Load('IWICBitmapLock_GetStride_Proxy')(This, pcbStride);
439
+ }
440
+
441
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicbitmapscaler-initialize
442
+ public static IWICBitmapScaler_Initialize_Proxy(This: IWICBitmapScaler, pISource: IWICBitmapSource | 0n, uiWidth: UINT, uiHeight: UINT, mode: WICBitmapInterpolationMode): HRESULT {
443
+ return WindowsCodecs.Load('IWICBitmapScaler_Initialize_Proxy')(This, pISource, uiWidth, uiHeight, mode);
444
+ }
445
+
446
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicbitmapsource-copypalette
447
+ public static IWICBitmapSource_CopyPalette_Proxy(This: IWICBitmapSource, pIPalette: IWICPalette | 0n): HRESULT {
448
+ return WindowsCodecs.Load('IWICBitmapSource_CopyPalette_Proxy')(This, pIPalette);
449
+ }
450
+
451
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicbitmapsource-copypixels
452
+ public static IWICBitmapSource_CopyPixels_Proxy(This: IWICBitmapSource, prc: LPWICRect | NULL, cbStride: UINT, cbBufferSize: UINT, pbBuffer: LPBYTE): HRESULT {
453
+ return WindowsCodecs.Load('IWICBitmapSource_CopyPixels_Proxy')(This, prc, cbStride, cbBufferSize, pbBuffer);
454
+ }
455
+
456
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicbitmapsource-getpixelformat
457
+ public static IWICBitmapSource_GetPixelFormat_Proxy(This: IWICBitmapSource, pPixelFormat: LPWICPixelFormatGUID): HRESULT {
458
+ return WindowsCodecs.Load('IWICBitmapSource_GetPixelFormat_Proxy')(This, pPixelFormat);
459
+ }
460
+
461
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicbitmapsource-getresolution
462
+ public static IWICBitmapSource_GetResolution_Proxy(This: IWICBitmapSource, pDpiX: LPDOUBLE, pDpiY: LPDOUBLE): HRESULT {
463
+ return WindowsCodecs.Load('IWICBitmapSource_GetResolution_Proxy')(This, pDpiX, pDpiY);
464
+ }
465
+
466
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicbitmapsource-getsize
467
+ public static IWICBitmapSource_GetSize_Proxy(This: IWICBitmapSource, puiWidth: LPUINT, puiHeight: LPUINT): HRESULT {
468
+ return WindowsCodecs.Load('IWICBitmapSource_GetSize_Proxy')(This, puiWidth, puiHeight);
469
+ }
470
+
471
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicbitmap-lock
472
+ public static IWICBitmap_Lock_Proxy(This: IWICBitmap, prcLock: LPWICRect | NULL, flags: DWORD, ppILock: Pointer): HRESULT {
473
+ return WindowsCodecs.Load('IWICBitmap_Lock_Proxy')(This, prcLock, flags, ppILock);
474
+ }
475
+
476
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicbitmap-setpalette
477
+ public static IWICBitmap_SetPalette_Proxy(This: IWICBitmap, pIPalette: IWICPalette | 0n): HRESULT {
478
+ return WindowsCodecs.Load('IWICBitmap_SetPalette_Proxy')(This, pIPalette);
479
+ }
480
+
481
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicbitmap-setresolution
482
+ public static IWICBitmap_SetResolution_Proxy(This: IWICBitmap, dpiX: DOUBLE, dpiY: DOUBLE): HRESULT {
483
+ return WindowsCodecs.Load('IWICBitmap_SetResolution_Proxy')(This, dpiX, dpiY);
484
+ }
485
+
486
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwiccolorcontext-initializefrommemory
487
+ public static IWICColorContext_InitializeFromMemory_Proxy(This: IWICColorContext, pbBuffer: LPBYTE, cbBufferSize: UINT): HRESULT {
488
+ return WindowsCodecs.Load('IWICColorContext_InitializeFromMemory_Proxy')(This, pbBuffer, cbBufferSize);
489
+ }
490
+
491
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodecsdk/nf-wincodecsdk-iwiccomponentfactory-createmetadatawriterfromreader
492
+ public static IWICComponentFactory_CreateMetadataWriterFromReader_Proxy(This: IWICComponentFactory, pIReader: IWICMetadataReader | 0n, pguidVendor: LPGUID | NULL, ppIWriter: Pointer): HRESULT {
493
+ return WindowsCodecs.Load('IWICComponentFactory_CreateMetadataWriterFromReader_Proxy')(This, pIReader, pguidVendor, ppIWriter);
494
+ }
495
+
496
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodecsdk/nf-wincodecsdk-iwiccomponentfactory-createquerywriterfromblockwriter
497
+ public static IWICComponentFactory_CreateQueryWriterFromBlockWriter_Proxy(This: IWICComponentFactory, pIBlockWriter: IWICMetadataBlockWriter | 0n, ppIQueryWriter: Pointer): HRESULT {
498
+ return WindowsCodecs.Load('IWICComponentFactory_CreateQueryWriterFromBlockWriter_Proxy')(This, pIBlockWriter, ppIQueryWriter);
499
+ }
500
+
501
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwiccomponentinfo-getauthor
502
+ public static IWICComponentInfo_GetAuthor_Proxy(This: IWICComponentInfo, cchAuthor: UINT, wzAuthor: LPWSTR | NULL, pcchActual: LPUINT): HRESULT {
503
+ return WindowsCodecs.Load('IWICComponentInfo_GetAuthor_Proxy')(This, cchAuthor, wzAuthor, pcchActual);
504
+ }
505
+
506
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwiccomponentinfo-getclsid
507
+ public static IWICComponentInfo_GetCLSID_Proxy(This: IWICComponentInfo, pclsid: LPGUID): HRESULT {
508
+ return WindowsCodecs.Load('IWICComponentInfo_GetCLSID_Proxy')(This, pclsid);
509
+ }
510
+
511
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwiccomponentinfo-getfriendlyname
512
+ public static IWICComponentInfo_GetFriendlyName_Proxy(This: IWICComponentInfo, cchFriendlyName: UINT, wzFriendlyName: LPWSTR | NULL, pcchActual: LPUINT): HRESULT {
513
+ return WindowsCodecs.Load('IWICComponentInfo_GetFriendlyName_Proxy')(This, cchFriendlyName, wzFriendlyName, pcchActual);
514
+ }
515
+
516
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwiccomponentinfo-getspecversion
517
+ public static IWICComponentInfo_GetSpecVersion_Proxy(This: IWICComponentInfo, cchSpecVersion: UINT, wzSpecVersion: LPWSTR | NULL, pcchActual: LPUINT): HRESULT {
518
+ return WindowsCodecs.Load('IWICComponentInfo_GetSpecVersion_Proxy')(This, cchSpecVersion, wzSpecVersion, pcchActual);
519
+ }
520
+
521
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwiccomponentinfo-getversion
522
+ public static IWICComponentInfo_GetVersion_Proxy(This: IWICComponentInfo, cchVersion: UINT, wzVersion: LPWSTR | NULL, pcchActual: LPUINT): HRESULT {
523
+ return WindowsCodecs.Load('IWICComponentInfo_GetVersion_Proxy')(This, cchVersion, wzVersion, pcchActual);
524
+ }
525
+
526
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicfastmetadataencoder-commit
527
+ public static IWICFastMetadataEncoder_Commit_Proxy(This: IWICFastMetadataEncoder): HRESULT {
528
+ return WindowsCodecs.Load('IWICFastMetadataEncoder_Commit_Proxy')(This);
529
+ }
530
+
531
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicfastmetadataencoder-getmetadataquerywriter
532
+ public static IWICFastMetadataEncoder_GetMetadataQueryWriter_Proxy(This: IWICFastMetadataEncoder, ppIMetadataQueryWriter: Pointer): HRESULT {
533
+ return WindowsCodecs.Load('IWICFastMetadataEncoder_GetMetadataQueryWriter_Proxy')(This, ppIMetadataQueryWriter);
534
+ }
535
+
536
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicformatconverter-initialize
537
+ public static IWICFormatConverter_Initialize_Proxy(
538
+ This: IWICFormatConverter,
539
+ pISource: IWICBitmapSource | 0n,
540
+ dstFormat: REFWICPixelFormatGUID,
541
+ dither: WICBitmapDitherType,
542
+ pIPalette: IWICPalette | 0n,
543
+ alphaThresholdPercent: DOUBLE,
544
+ paletteTranslate: WICBitmapPaletteType,
545
+ ): HRESULT {
546
+ return WindowsCodecs.Load('IWICFormatConverter_Initialize_Proxy')(This, pISource, dstFormat, dither, pIPalette, alphaThresholdPercent, paletteTranslate);
547
+ }
548
+
549
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createbitmapclipper
550
+ public static IWICImagingFactory_CreateBitmapClipper_Proxy(This: IWICImagingFactory, ppIBitmapClipper: Pointer): HRESULT {
551
+ return WindowsCodecs.Load('IWICImagingFactory_CreateBitmapClipper_Proxy')(This, ppIBitmapClipper);
552
+ }
553
+
554
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createbitmapfliprotator
555
+ public static IWICImagingFactory_CreateBitmapFlipRotator_Proxy(This: IWICImagingFactory, ppIBitmapFlipRotator: Pointer): HRESULT {
556
+ return WindowsCodecs.Load('IWICImagingFactory_CreateBitmapFlipRotator_Proxy')(This, ppIBitmapFlipRotator);
557
+ }
558
+
559
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createbitmapfromhbitmap
560
+ public static IWICImagingFactory_CreateBitmapFromHBITMAP_Proxy(This: IWICImagingFactory, hBitmap: HBITMAP, hPalette: HPALETTE | 0n, options: WICBitmapAlphaChannelOption, ppIBitmap: Pointer): HRESULT {
561
+ return WindowsCodecs.Load('IWICImagingFactory_CreateBitmapFromHBITMAP_Proxy')(This, hBitmap, hPalette, options, ppIBitmap);
562
+ }
563
+
564
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createbitmapfromhicon
565
+ public static IWICImagingFactory_CreateBitmapFromHICON_Proxy(This: IWICImagingFactory, hIcon: HICON, ppIBitmap: Pointer): HRESULT {
566
+ return WindowsCodecs.Load('IWICImagingFactory_CreateBitmapFromHICON_Proxy')(This, hIcon, ppIBitmap);
567
+ }
568
+
569
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createbitmapfrommemory
570
+ public static IWICImagingFactory_CreateBitmapFromMemory_Proxy(
571
+ This: IWICImagingFactory,
572
+ uiWidth: UINT,
573
+ uiHeight: UINT,
574
+ pixelFormat: REFWICPixelFormatGUID,
575
+ cbStride: UINT,
576
+ cbBufferSize: UINT,
577
+ pbBuffer: LPBYTE,
578
+ ppIBitmap: Pointer,
579
+ ): HRESULT {
580
+ return WindowsCodecs.Load('IWICImagingFactory_CreateBitmapFromMemory_Proxy')(This, uiWidth, uiHeight, pixelFormat, cbStride, cbBufferSize, pbBuffer, ppIBitmap);
581
+ }
582
+
583
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createbitmapfromsource
584
+ public static IWICImagingFactory_CreateBitmapFromSource_Proxy(This: IWICImagingFactory, pIBitmapSource: IWICBitmapSource | 0n, option: WICBitmapCreateCacheOption, ppIBitmap: Pointer): HRESULT {
585
+ return WindowsCodecs.Load('IWICImagingFactory_CreateBitmapFromSource_Proxy')(This, pIBitmapSource, option, ppIBitmap);
586
+ }
587
+
588
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createbitmapscaler
589
+ public static IWICImagingFactory_CreateBitmapScaler_Proxy(This: IWICImagingFactory, ppIBitmapScaler: Pointer): HRESULT {
590
+ return WindowsCodecs.Load('IWICImagingFactory_CreateBitmapScaler_Proxy')(This, ppIBitmapScaler);
591
+ }
592
+
593
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createbitmap
594
+ public static IWICImagingFactory_CreateBitmap_Proxy(This: IWICImagingFactory, uiWidth: UINT, uiHeight: UINT, pixelFormat: REFWICPixelFormatGUID, option: WICBitmapCreateCacheOption, ppIBitmap: Pointer): HRESULT {
595
+ return WindowsCodecs.Load('IWICImagingFactory_CreateBitmap_Proxy')(This, uiWidth, uiHeight, pixelFormat, option, ppIBitmap);
596
+ }
597
+
598
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createcomponentinfo
599
+ public static IWICImagingFactory_CreateComponentInfo_Proxy(This: IWICImagingFactory, clsidComponent: REFCLSID, ppIInfo: Pointer): HRESULT {
600
+ return WindowsCodecs.Load('IWICImagingFactory_CreateComponentInfo_Proxy')(This, clsidComponent, ppIInfo);
601
+ }
602
+
603
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createdecoderfromfilehandle
604
+ public static IWICImagingFactory_CreateDecoderFromFileHandle_Proxy(This: IWICImagingFactory, hFile: ULONG_PTR, pguidVendor: LPGUID | NULL, metadataOptions: WICDecodeOptions, ppIDecoder: Pointer): HRESULT {
605
+ return WindowsCodecs.Load('IWICImagingFactory_CreateDecoderFromFileHandle_Proxy')(This, hFile, pguidVendor, metadataOptions, ppIDecoder);
606
+ }
607
+
608
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createdecoderfromfilename
609
+ public static IWICImagingFactory_CreateDecoderFromFilename_Proxy(This: IWICImagingFactory, wzFilename: LPCWSTR, pguidVendor: LPGUID | NULL, dwDesiredAccess: DWORD, metadataOptions: WICDecodeOptions, ppIDecoder: Pointer): HRESULT {
610
+ return WindowsCodecs.Load('IWICImagingFactory_CreateDecoderFromFilename_Proxy')(This, wzFilename, pguidVendor, dwDesiredAccess, metadataOptions, ppIDecoder);
611
+ }
612
+
613
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createdecoderfromstream
614
+ public static IWICImagingFactory_CreateDecoderFromStream_Proxy(This: IWICImagingFactory, pIStream: IStream | 0n, pguidVendor: LPGUID | NULL, metadataOptions: WICDecodeOptions, ppIDecoder: Pointer): HRESULT {
615
+ return WindowsCodecs.Load('IWICImagingFactory_CreateDecoderFromStream_Proxy')(This, pIStream, pguidVendor, metadataOptions, ppIDecoder);
616
+ }
617
+
618
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createencoder
619
+ public static IWICImagingFactory_CreateEncoder_Proxy(This: IWICImagingFactory, guidContainerFormat: REFGUID, pguidVendor: LPGUID | NULL, ppIEncoder: Pointer): HRESULT {
620
+ return WindowsCodecs.Load('IWICImagingFactory_CreateEncoder_Proxy')(This, guidContainerFormat, pguidVendor, ppIEncoder);
621
+ }
622
+
623
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createfastmetadataencoderfromdecoder
624
+ public static IWICImagingFactory_CreateFastMetadataEncoderFromDecoder_Proxy(This: IWICImagingFactory, pIDecoder: IWICBitmapDecoder | 0n, ppIFastEncoder: Pointer): HRESULT {
625
+ return WindowsCodecs.Load('IWICImagingFactory_CreateFastMetadataEncoderFromDecoder_Proxy')(This, pIDecoder, ppIFastEncoder);
626
+ }
627
+
628
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createfastmetadataencoderfromframedecode
629
+ public static IWICImagingFactory_CreateFastMetadataEncoderFromFrameDecode_Proxy(This: IWICImagingFactory, pIFrameDecoder: IWICBitmapFrameDecode | 0n, ppIFastEncoder: Pointer): HRESULT {
630
+ return WindowsCodecs.Load('IWICImagingFactory_CreateFastMetadataEncoderFromFrameDecode_Proxy')(This, pIFrameDecoder, ppIFastEncoder);
631
+ }
632
+
633
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createformatconverter
634
+ public static IWICImagingFactory_CreateFormatConverter_Proxy(This: IWICImagingFactory, ppIFormatConverter: Pointer): HRESULT {
635
+ return WindowsCodecs.Load('IWICImagingFactory_CreateFormatConverter_Proxy')(This, ppIFormatConverter);
636
+ }
637
+
638
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createpalette
639
+ public static IWICImagingFactory_CreatePalette_Proxy(This: IWICImagingFactory, ppIPalette: Pointer): HRESULT {
640
+ return WindowsCodecs.Load('IWICImagingFactory_CreatePalette_Proxy')(This, ppIPalette);
641
+ }
642
+
643
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createquerywriterfromreader
644
+ public static IWICImagingFactory_CreateQueryWriterFromReader_Proxy(This: IWICImagingFactory, pIQueryReader: IWICMetadataQueryReader | 0n, pguidVendor: LPGUID | NULL, ppIQueryWriter: Pointer): HRESULT {
645
+ return WindowsCodecs.Load('IWICImagingFactory_CreateQueryWriterFromReader_Proxy')(This, pIQueryReader, pguidVendor, ppIQueryWriter);
646
+ }
647
+
648
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createquerywriter
649
+ public static IWICImagingFactory_CreateQueryWriter_Proxy(This: IWICImagingFactory, guidMetadataFormat: REFGUID, pguidVendor: LPGUID | NULL, ppIQueryWriter: Pointer): HRESULT {
650
+ return WindowsCodecs.Load('IWICImagingFactory_CreateQueryWriter_Proxy')(This, guidMetadataFormat, pguidVendor, ppIQueryWriter);
651
+ }
652
+
653
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createstream
654
+ public static IWICImagingFactory_CreateStream_Proxy(This: IWICImagingFactory, ppIWICStream: Pointer): HRESULT {
655
+ return WindowsCodecs.Load('IWICImagingFactory_CreateStream_Proxy')(This, ppIWICStream);
656
+ }
657
+
658
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodecsdk/nf-wincodecsdk-iwicmetadatablockreader-getcount
659
+ public static IWICMetadataBlockReader_GetCount_Proxy(This: IWICMetadataBlockReader, pcCount: LPUINT): HRESULT {
660
+ return WindowsCodecs.Load('IWICMetadataBlockReader_GetCount_Proxy')(This, pcCount);
661
+ }
662
+
663
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodecsdk/nf-wincodecsdk-iwicmetadatablockreader-getreaderbyindex
664
+ public static IWICMetadataBlockReader_GetReaderByIndex_Proxy(This: IWICMetadataBlockReader, nIndex: UINT, ppIMetadataReader: Pointer): HRESULT {
665
+ return WindowsCodecs.Load('IWICMetadataBlockReader_GetReaderByIndex_Proxy')(This, nIndex, ppIMetadataReader);
666
+ }
667
+
668
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicmetadataqueryreader-getcontainerformat
669
+ public static IWICMetadataQueryReader_GetContainerFormat_Proxy(This: IWICMetadataQueryReader, pguidContainerFormat: LPGUID): HRESULT {
670
+ return WindowsCodecs.Load('IWICMetadataQueryReader_GetContainerFormat_Proxy')(This, pguidContainerFormat);
671
+ }
672
+
673
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicmetadataqueryreader-getenumerator
674
+ public static IWICMetadataQueryReader_GetEnumerator_Proxy(This: IWICMetadataQueryReader, ppIEnumString: Pointer): HRESULT {
675
+ return WindowsCodecs.Load('IWICMetadataQueryReader_GetEnumerator_Proxy')(This, ppIEnumString);
676
+ }
677
+
678
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicmetadataqueryreader-getlocation
679
+ public static IWICMetadataQueryReader_GetLocation_Proxy(This: IWICMetadataQueryReader, cchMaxLength: UINT, wzNamespace: LPWSTR | NULL, pcchActualLength: LPUINT): HRESULT {
680
+ return WindowsCodecs.Load('IWICMetadataQueryReader_GetLocation_Proxy')(This, cchMaxLength, wzNamespace, pcchActualLength);
681
+ }
682
+
683
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicmetadataqueryreader-getmetadatabyname
684
+ public static IWICMetadataQueryReader_GetMetadataByName_Proxy(This: IWICMetadataQueryReader, wzName: LPCWSTR, pvarValue: LPPROPVARIANT | NULL): HRESULT {
685
+ return WindowsCodecs.Load('IWICMetadataQueryReader_GetMetadataByName_Proxy')(This, wzName, pvarValue);
686
+ }
687
+
688
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicmetadataquerywriter-removemetadatabyname
689
+ public static IWICMetadataQueryWriter_RemoveMetadataByName_Proxy(This: IWICMetadataQueryWriter, wzName: LPCWSTR): HRESULT {
690
+ return WindowsCodecs.Load('IWICMetadataQueryWriter_RemoveMetadataByName_Proxy')(This, wzName);
691
+ }
692
+
693
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicmetadataquerywriter-setmetadatabyname
694
+ public static IWICMetadataQueryWriter_SetMetadataByName_Proxy(This: IWICMetadataQueryWriter, wzName: LPCWSTR, pvarValue: LPPROPVARIANT): HRESULT {
695
+ return WindowsCodecs.Load('IWICMetadataQueryWriter_SetMetadataByName_Proxy')(This, wzName, pvarValue);
696
+ }
697
+
698
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicpalette-getcolorcount
699
+ public static IWICPalette_GetColorCount_Proxy(This: IWICPalette, pcCount: LPUINT): HRESULT {
700
+ return WindowsCodecs.Load('IWICPalette_GetColorCount_Proxy')(This, pcCount);
701
+ }
702
+
703
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicpalette-getcolors
704
+ public static IWICPalette_GetColors_Proxy(This: IWICPalette, cCount: UINT, pColors: LPWICColor, pcActualColors: LPUINT): HRESULT {
705
+ return WindowsCodecs.Load('IWICPalette_GetColors_Proxy')(This, cCount, pColors, pcActualColors);
706
+ }
707
+
708
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicpalette-gettype
709
+ public static IWICPalette_GetType_Proxy(This: IWICPalette, pePaletteType: LPWICBitmapPaletteType): HRESULT {
710
+ return WindowsCodecs.Load('IWICPalette_GetType_Proxy')(This, pePaletteType);
711
+ }
712
+
713
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicpalette-hasalpha
714
+ public static IWICPalette_HasAlpha_Proxy(This: IWICPalette, pfHasAlpha: LPBOOL): HRESULT {
715
+ return WindowsCodecs.Load('IWICPalette_HasAlpha_Proxy')(This, pfHasAlpha);
716
+ }
717
+
718
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicpalette-initializecustom
719
+ public static IWICPalette_InitializeCustom_Proxy(This: IWICPalette, pColors: LPWICColor, cCount: UINT): HRESULT {
720
+ return WindowsCodecs.Load('IWICPalette_InitializeCustom_Proxy')(This, pColors, cCount);
721
+ }
722
+
723
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicpalette-initializefrombitmap
724
+ public static IWICPalette_InitializeFromBitmap_Proxy(This: IWICPalette, pISurface: IWICBitmapSource | 0n, cCount: UINT, fAddTransparentColor: BOOL): HRESULT {
725
+ return WindowsCodecs.Load('IWICPalette_InitializeFromBitmap_Proxy')(This, pISurface, cCount, fAddTransparentColor);
726
+ }
727
+
728
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicpalette-initializefrompalette
729
+ public static IWICPalette_InitializeFromPalette_Proxy(This: IWICPalette, pIPalette: IWICPalette | 0n): HRESULT {
730
+ return WindowsCodecs.Load('IWICPalette_InitializeFromPalette_Proxy')(This, pIPalette);
731
+ }
732
+
733
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicpalette-initializepredefined
734
+ public static IWICPalette_InitializePredefined_Proxy(This: IWICPalette, ePaletteType: WICBitmapPaletteType, fAddTransparentColor: BOOL): HRESULT {
735
+ return WindowsCodecs.Load('IWICPalette_InitializePredefined_Proxy')(This, ePaletteType, fAddTransparentColor);
736
+ }
737
+
738
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicpixelformatinfo-getbitsperpixel
739
+ public static IWICPixelFormatInfo_GetBitsPerPixel_Proxy(This: IWICPixelFormatInfo, puiBitsPerPixel: LPUINT): HRESULT {
740
+ return WindowsCodecs.Load('IWICPixelFormatInfo_GetBitsPerPixel_Proxy')(This, puiBitsPerPixel);
741
+ }
742
+
743
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicpixelformatinfo-getchannelcount
744
+ public static IWICPixelFormatInfo_GetChannelCount_Proxy(This: IWICPixelFormatInfo, puiChannelCount: LPUINT): HRESULT {
745
+ return WindowsCodecs.Load('IWICPixelFormatInfo_GetChannelCount_Proxy')(This, puiChannelCount);
746
+ }
747
+
748
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicpixelformatinfo-getchannelmask
749
+ public static IWICPixelFormatInfo_GetChannelMask_Proxy(This: IWICPixelFormatInfo, uiChannelIndex: UINT, cbMaskBuffer: UINT, pbMaskBuffer: LPBYTE | NULL, pcbActual: LPUINT): HRESULT {
750
+ return WindowsCodecs.Load('IWICPixelFormatInfo_GetChannelMask_Proxy')(This, uiChannelIndex, cbMaskBuffer, pbMaskBuffer, pcbActual);
751
+ }
752
+
753
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicstream-initializefromistream
754
+ public static IWICStream_InitializeFromIStream_Proxy(This: IWICStream, pIStream: IStream | 0n): HRESULT {
755
+ return WindowsCodecs.Load('IWICStream_InitializeFromIStream_Proxy')(This, pIStream);
756
+ }
757
+
758
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-iwicstream-initializefrommemory
759
+ public static IWICStream_InitializeFromMemory_Proxy(This: IWICStream, pbBuffer: WICInProcPointer, cbBufferSize: DWORD): HRESULT {
760
+ return WindowsCodecs.Load('IWICStream_InitializeFromMemory_Proxy')(This, pbBuffer, cbBufferSize);
761
+ }
762
+
763
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-wicconvertbitmapsource
764
+ public static WICConvertBitmapSource(dstFormat: REFWICPixelFormatGUID, pISrc: IWICBitmapSource, ppIDst: Pointer): HRESULT {
765
+ return WindowsCodecs.Load('WICConvertBitmapSource')(dstFormat, pISrc, ppIDst);
766
+ }
767
+
768
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-wiccreatebitmapfromsection
769
+ public static WICCreateBitmapFromSection(width: UINT, height: UINT, pixelFormat: REFWICPixelFormatGUID, hSection: HANDLE, stride: UINT, offset: UINT, ppIBitmap: Pointer): HRESULT {
770
+ return WindowsCodecs.Load('WICCreateBitmapFromSection')(width, height, pixelFormat, hSection, stride, offset, ppIBitmap);
771
+ }
772
+
773
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-wiccreatebitmapfromsectionex
774
+ public static WICCreateBitmapFromSectionEx(width: UINT, height: UINT, pixelFormat: REFWICPixelFormatGUID, hSection: HANDLE, stride: UINT, offset: UINT, desiredAccessLevel: WICSectionAccessLevel, ppIBitmap: Pointer): HRESULT {
775
+ return WindowsCodecs.Load('WICCreateBitmapFromSectionEx')(width, height, pixelFormat, hSection, stride, offset, desiredAccessLevel, ppIBitmap);
776
+ }
777
+
778
+ // https://learn.microsoft.com/en-us/windows/win32/wic/-wic-api-proxyfunctions
779
+ public static WICCreateColorContext_Proxy(pICodecFactory: IWICImagingFactory, ppIWICColorContext: Pointer): HRESULT {
780
+ return WindowsCodecs.Load('WICCreateColorContext_Proxy')(pICodecFactory, ppIWICColorContext);
781
+ }
782
+
783
+ // https://learn.microsoft.com/en-us/windows/win32/wic/-wic-api-proxyfunctions
784
+ public static WICCreateImagingFactory_Proxy(SDKVersion: UINT, ppIImagingFactory: Pointer): HRESULT {
785
+ return WindowsCodecs.Load('WICCreateImagingFactory_Proxy')(SDKVersion, ppIImagingFactory);
786
+ }
787
+
788
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodecsdk/nf-wincodecsdk-wicgetmetadatacontentsize
789
+ public static WICGetMetadataContentSize(guidContainerFormat: REFGUID, pIWriter: IWICMetadataWriter, pcbSize: LPULARGE_INTEGER): HRESULT {
790
+ return WindowsCodecs.Load('WICGetMetadataContentSize')(guidContainerFormat, pIWriter, pcbSize);
791
+ }
792
+
793
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-wicmapguidtoshortname
794
+ public static WICMapGuidToShortName(guid: REFGUID, cchName: UINT, wzName: LPWSTR | NULL, pcchActual: LPUINT): HRESULT {
795
+ return WindowsCodecs.Load('WICMapGuidToShortName')(guid, cchName, wzName, pcchActual);
796
+ }
797
+
798
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-wicmapschematoname
799
+ public static WICMapSchemaToName(guidMetadataFormat: REFGUID, pwzSchema: LPWSTR, cchName: UINT, wzName: LPWSTR | NULL, pcchActual: LPUINT): HRESULT {
800
+ return WindowsCodecs.Load('WICMapSchemaToName')(guidMetadataFormat, pwzSchema, cchName, wzName, pcchActual);
801
+ }
802
+
803
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodec/nf-wincodec-wicmapshortnametoguid
804
+ public static WICMapShortNameToGuid(wzName: PCWSTR, pguid: LPGUID): HRESULT {
805
+ return WindowsCodecs.Load('WICMapShortNameToGuid')(wzName, pguid);
806
+ }
807
+
808
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodecsdk/nf-wincodecsdk-wicmatchmetadatacontent
809
+ public static WICMatchMetadataContent(guidContainerFormat: REFGUID, pguidVendor: LPGUID | NULL, pIStream: IStream, pguidMetadataFormat: LPGUID): HRESULT {
810
+ return WindowsCodecs.Load('WICMatchMetadataContent')(guidContainerFormat, pguidVendor, pIStream, pguidMetadataFormat);
811
+ }
812
+
813
+ // https://learn.microsoft.com/en-us/windows/win32/api/wincodecsdk/nf-wincodecsdk-wicserializemetadatacontent
814
+ public static WICSerializeMetadataContent(guidContainerFormat: REFGUID, pIWriter: IWICMetadataWriter, dwPersistOptions: DWORD, pIStream: IStream): HRESULT {
815
+ return WindowsCodecs.Load('WICSerializeMetadataContent')(guidContainerFormat, pIWriter, dwPersistOptions, pIStream);
816
+ }
817
+
818
+ // https://learn.microsoft.com/en-us/windows/win32/wic/-wic-api-proxyfunctions
819
+ public static WICSetEncoderFormat_Proxy(pSourceIn: IWICBitmapSource, pIPalette: IWICPalette, pIFrameEncode: IWICBitmapFrameEncode, ppSourceOut: Pointer): HRESULT {
820
+ return WindowsCodecs.Load('WICSetEncoderFormat_Proxy')(pSourceIn, pIPalette, pIFrameEncode, ppSourceOut);
821
+ }
822
+ }
823
+
824
+ export default WindowsCodecs;
@@ -0,0 +1,162 @@
1
+ import type { Pointer } from 'bun:ffi';
2
+
3
+ export type { BOOL, DWORD, HANDLE, HRESULT, LPCWSTR, LPWSTR, NULL, UINT, ULONG, ULONG_PTR } from '@bun-win32/core';
4
+
5
+ export const WINCODEC_SDK_VERSION = 0x0237;
6
+
7
+ export enum WICBitmapAlphaChannelOption {
8
+ WICBitmapIgnoreAlpha = 0x0000_0002,
9
+ WICBitmapUseAlpha = 0x0000_0000,
10
+ WICBitmapUsePremultipliedAlpha = 0x0000_0001,
11
+ }
12
+
13
+ export enum WICBitmapCreateCacheOption {
14
+ WICBitmapCacheOnDemand = 0x0000_0001,
15
+ WICBitmapCacheOnLoad = 0x0000_0002,
16
+ WICBitmapNoCache = 0x0000_0000,
17
+ }
18
+
19
+ export enum WICBitmapDitherType {
20
+ WICBitmapDitherTypeDualSpiral4x4 = 0x0000_0006,
21
+ WICBitmapDitherTypeDualSpiral8x8 = 0x0000_0007,
22
+ WICBitmapDitherTypeErrorDiffusion = 0x0000_0008,
23
+ WICBitmapDitherTypeNone = 0x0000_0000,
24
+ WICBitmapDitherTypeOrdered16x16 = 0x0000_0003,
25
+ WICBitmapDitherTypeOrdered4x4 = 0x0000_0001,
26
+ WICBitmapDitherTypeOrdered8x8 = 0x0000_0002,
27
+ WICBitmapDitherTypeSolid = 0x0000_0000,
28
+ WICBitmapDitherTypeSpiral4x4 = 0x0000_0004,
29
+ WICBitmapDitherTypeSpiral8x8 = 0x0000_0005,
30
+ }
31
+
32
+ export enum WICBitmapEncoderCacheOption {
33
+ WICBitmapEncoderCacheInMemory = 0x0000_0000,
34
+ WICBitmapEncoderCacheTempFile = 0x0000_0001,
35
+ WICBitmapEncoderNoCache = 0x0000_0002,
36
+ }
37
+
38
+ export enum WICBitmapInterpolationMode {
39
+ WICBitmapInterpolationModeCubic = 0x0000_0002,
40
+ WICBitmapInterpolationModeFant = 0x0000_0003,
41
+ WICBitmapInterpolationModeHighQualityCubic = 0x0000_0004,
42
+ WICBitmapInterpolationModeLinear = 0x0000_0001,
43
+ WICBitmapInterpolationModeNearestNeighbor = 0x0000_0000,
44
+ }
45
+
46
+ export enum WICBitmapPaletteType {
47
+ WICBitmapPaletteTypeCustom = 0x0000_0000,
48
+ WICBitmapPaletteTypeFixedBW = 0x0000_0002,
49
+ WICBitmapPaletteTypeFixedGray16 = 0x0000_000b,
50
+ WICBitmapPaletteTypeFixedGray256 = 0x0000_000c,
51
+ WICBitmapPaletteTypeFixedGray4 = 0x0000_000a,
52
+ WICBitmapPaletteTypeFixedHalftone125 = 0x0000_0006,
53
+ WICBitmapPaletteTypeFixedHalftone216 = 0x0000_0007,
54
+ WICBitmapPaletteTypeFixedHalftone252 = 0x0000_0008,
55
+ WICBitmapPaletteTypeFixedHalftone256 = 0x0000_0009,
56
+ WICBitmapPaletteTypeFixedHalftone27 = 0x0000_0004,
57
+ WICBitmapPaletteTypeFixedHalftone64 = 0x0000_0005,
58
+ WICBitmapPaletteTypeFixedHalftone8 = 0x0000_0003,
59
+ WICBitmapPaletteTypeFixedWebPalette = 0x0000_0007,
60
+ WICBitmapPaletteTypeMedianCut = 0x0000_0001,
61
+ }
62
+
63
+ export enum WICBitmapTransformOptions {
64
+ WICBitmapTransformFlipHorizontal = 0x0000_0008,
65
+ WICBitmapTransformFlipVertical = 0x0000_0010,
66
+ WICBitmapTransformRotate0 = 0x0000_0000,
67
+ WICBitmapTransformRotate180 = 0x0000_0002,
68
+ WICBitmapTransformRotate270 = 0x0000_0003,
69
+ WICBitmapTransformRotate90 = 0x0000_0001,
70
+ }
71
+
72
+ export enum WICDecodeOptions {
73
+ WICDecodeMetadataCacheOnDemand = 0x0000_0000,
74
+ WICDecodeMetadataCacheOnLoad = 0x0000_0001,
75
+ }
76
+
77
+ export enum WICSectionAccessLevel {
78
+ WICSectionAccessLevelRead = 0x0000_0001,
79
+ WICSectionAccessLevelReadWrite = 0x0000_0003,
80
+ }
81
+
82
+ export type DOUBLE = number;
83
+ export type HBITMAP = bigint;
84
+ export type HICON = bigint;
85
+ export type HPALETTE = bigint;
86
+ export type IEnumString = bigint;
87
+ export type IPropertyBag2 = bigint;
88
+ export type IStream = bigint;
89
+ export type IWICBitmap = bigint;
90
+ export type IWICBitmapClipper = bigint;
91
+ export type IWICBitmapCodecInfo = bigint;
92
+ export type IWICBitmapDecoder = bigint;
93
+ export type IWICBitmapEncoder = bigint;
94
+ export type IWICBitmapFlipRotator = bigint;
95
+ export type IWICBitmapFrameDecode = bigint;
96
+ export type IWICBitmapFrameEncode = bigint;
97
+ export type IWICBitmapLock = bigint;
98
+ export type IWICBitmapScaler = bigint;
99
+ export type IWICBitmapSource = bigint;
100
+ export type IWICColorContext = bigint;
101
+ export type IWICComponentFactory = bigint;
102
+ export type IWICComponentInfo = bigint;
103
+ export type IWICFastMetadataEncoder = bigint;
104
+ export type IWICFormatConverter = bigint;
105
+ export type IWICImagingFactory = bigint;
106
+ export type IWICMetadataBlockReader = bigint;
107
+ export type IWICMetadataBlockWriter = bigint;
108
+ export type IWICMetadataQueryReader = bigint;
109
+ export type IWICMetadataQueryWriter = bigint;
110
+ export type IWICMetadataReader = bigint;
111
+ export type IWICMetadataWriter = bigint;
112
+ export type IWICPalette = bigint;
113
+ export type IWICPixelFormatInfo = bigint;
114
+ export type IWICStream = bigint;
115
+ export type LPBOOL = Pointer;
116
+ export type LPBYTE = Pointer;
117
+ export type LPDOUBLE = Pointer;
118
+ export type LPGUID = Pointer;
119
+ export type LPIEnumString = Pointer;
120
+ export type LPIPropertyBag2 = Pointer;
121
+ export type LPIWICBitmap = Pointer;
122
+ export type LPIWICBitmapClipper = Pointer;
123
+ export type LPIWICBitmapDecoder = Pointer;
124
+ export type LPIWICBitmapDecoderInfo = Pointer;
125
+ export type LPIWICBitmapEncoder = Pointer;
126
+ export type LPIWICBitmapEncoderInfo = Pointer;
127
+ export type LPIWICBitmapFlipRotator = Pointer;
128
+ export type LPIWICBitmapFrameDecode = Pointer;
129
+ export type LPIWICBitmapFrameEncode = Pointer;
130
+ export type LPIWICBitmapLock = Pointer;
131
+ export type LPIWICBitmapScaler = Pointer;
132
+ export type LPIWICBitmapSource = Pointer;
133
+ export type LPIWICColorContext = Pointer;
134
+ export type LPIWICComponentInfo = Pointer;
135
+ export type LPIWICFastMetadataEncoder = Pointer;
136
+ export type LPIWICFormatConverter = Pointer;
137
+ export type LPIWICImagingFactory = Pointer;
138
+ export type LPIWICMetadataQueryReader = Pointer;
139
+ export type LPIWICMetadataQueryWriter = Pointer;
140
+ export type LPIWICMetadataReader = Pointer;
141
+ export type LPIWICMetadataWriter = Pointer;
142
+ export type LPIWICPalette = Pointer;
143
+ export type LPIWICStream = Pointer;
144
+ export type LPLPOLESTR = Pointer;
145
+ export type LPLPVOID = Pointer;
146
+ export type LPPROPBAG2 = Pointer;
147
+ export type LPPROPVARIANT = Pointer;
148
+ export type LPUINT = Pointer;
149
+ export type LPULARGE_INTEGER = Pointer;
150
+ export type LPULONG = Pointer;
151
+ export type LPVARIANT = Pointer;
152
+ export type LPWICBitmapPaletteType = Pointer;
153
+ export type LPWICColor = Pointer;
154
+ export type LPWICInProcPointer = Pointer;
155
+ export type LPWICPixelFormatGUID = Pointer;
156
+ export type LPWICRect = Pointer;
157
+ export type PCWSTR = Pointer;
158
+ export type REFCLSID = Pointer;
159
+ export type REFGUID = Pointer;
160
+ export type REFIID = Pointer;
161
+ export type REFWICPixelFormatGUID = Pointer;
162
+ export type WICInProcPointer = Pointer;