Artifact 31c199e5b62e320d90436c891c4cb7f4e081b116:
- File
src/win32/directx/d3d9.d
-
2015-05-05 06:49:05
- part of checkin
[9b639cf2d6]
on branch trunk
- Working version for update to 2.067.
The problem was __gshared. Replacing it with TLS fixed the issue. Remaining problem is that "hack.d"'s CloseHandle hack is not working anymore.
(user: kinaba) [annotate]
-
2015-05-05 06:49:05
- part of checkin
[9b639cf2d6]
on branch trunk
- Working version for update to 2.067.
0000: 2f 2a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d /*==============
0010: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0020: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0030: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0040: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3b 0d 0a 20 ============;..
0050: 2a 0d 0a 20 2a 20 20 43 6f 70 79 72 69 67 68 74 *.. * Copyright
0060: 20 28 43 29 20 4d 69 63 72 6f 73 6f 66 74 20 43 (C) Microsoft C
0070: 6f 72 70 6f 72 61 74 69 6f 6e 2e 20 20 41 6c 6c orporation. All
0080: 20 52 69 67 68 74 73 20 52 65 73 65 72 76 65 64 Rights Reserved
0090: 2e 0d 0a 20 2a 0d 0a 20 2a 20 20 46 69 6c 65 3a ... *.. * File:
00a0: 20 20 20 64 33 64 39 2e 68 0d 0a 20 2a 20 20 43 d3d9.h.. * C
00b0: 6f 6e 74 65 6e 74 3a 20 20 20 20 44 69 72 65 63 ontent: Direc
00c0: 74 33 44 20 69 6e 63 6c 75 64 65 20 66 69 6c 65 t3D include file
00d0: 0d 0a 20 2a 0d 0a 20 2a 2a 2a 2a 2a 2a 2a 2a 2a .. *.. *********
00e0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
00f0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0100: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0110: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0120: 2a 2a 2a 2f 0d 0a 6d 6f 64 75 6c 65 20 77 69 6e ***/..module win
0130: 33 32 2e 64 69 72 65 63 74 78 2e 64 33 64 39 3b 32.directx.d3d9;
0140: 0d 0a 0d 0a 69 6d 70 6f 72 74 20 77 69 6e 33 32 ....import win32
0150: 2e 77 69 6e 64 6f 77 73 3b 0d 0a 70 75 62 6c 69 .windows;..publi
0160: 63 20 69 6d 70 6f 72 74 20 77 69 6e 33 32 2e 64 c import win32.d
0170: 69 72 65 63 74 78 2e 64 33 64 39 74 79 70 65 73 irectx.d3d9types
0180: 3b 0d 0a 70 75 62 6c 69 63 20 69 6d 70 6f 72 74 ;..public import
0190: 20 77 69 6e 33 32 2e 64 69 72 65 63 74 78 2e 64 win32.directx.d
01a0: 33 64 39 63 61 70 73 3b 0d 0a 0d 0a 63 6f 6e 73 3d9caps;....cons
01b0: 74 20 44 49 52 45 43 54 33 44 5f 56 45 52 53 49 t DIRECT3D_VERSI
01c0: 4f 4e 20 3d 20 30 78 30 39 30 30 3b 0d 0a 0d 0a ON = 0x0900;....
01d0: 2f 2a 2a 54 68 69 73 20 69 64 65 6e 74 69 66 69 /**This identifi
01e0: 65 72 20 69 73 20 70 61 73 73 65 64 20 74 6f 20 er is passed to
01f0: 44 69 72 65 63 74 33 44 43 72 65 61 74 65 39 20 Direct3DCreate9
0200: 69 6e 20 6f 72 64 65 72 20 74 6f 20 65 6e 73 75 in order to ensu
0210: 72 65 20 74 68 61 74 20 61 6e 0d 0a 20 2a 20 61 re that an.. * a
0220: 70 70 6c 69 63 61 74 69 6f 6e 20 77 61 73 20 62 pplication was b
0230: 75 69 6c 74 20 61 67 61 69 6e 73 74 20 74 68 65 uilt against the
0240: 20 63 6f 72 72 65 63 74 20 68 65 61 64 65 72 20 correct header
0250: 66 69 6c 65 73 2e 20 54 68 69 73 20 6e 75 6d 62 files. This numb
0260: 65 72 20 69 73 0d 0a 20 2a 20 69 6e 63 72 65 6d er is.. * increm
0270: 65 6e 74 65 64 20 77 68 65 6e 65 76 65 72 20 61 ented whenever a
0280: 20 68 65 61 64 65 72 20 28 6f 72 20 6f 74 68 65 header (or othe
0290: 72 29 20 63 68 61 6e 67 65 20 77 6f 75 6c 64 20 r) change would
02a0: 72 65 71 75 69 72 65 20 61 70 70 6c 69 63 61 74 require applicat
02b0: 69 6f 6e 73 0d 0a 20 2a 20 74 6f 20 62 65 20 72 ions.. * to be r
02c0: 65 62 75 69 6c 74 2e 20 49 66 20 74 68 65 20 76 ebuilt. If the v
02d0: 65 72 73 69 6f 6e 20 64 6f 65 73 6e 27 74 20 6d ersion doesn't m
02e0: 61 74 63 68 2c 20 44 69 72 65 63 74 33 44 43 72 atch, Direct3DCr
02f0: 65 61 74 65 39 20 77 69 6c 6c 20 66 61 69 6c 2e eate9 will fail.
0300: 0d 0a 20 2a 20 28 54 68 65 20 6e 75 6d 62 65 72 .. * (The number
0310: 20 69 74 73 65 6c 66 20 68 61 73 20 6e 6f 20 6d itself has no m
0320: 65 61 6e 69 6e 67 2e 29 2a 2f 0d 0a 0d 0a 64 65 eaning.)*/....de
0330: 62 75 67 20 7b 0d 0a 20 20 20 20 63 6f 6e 73 74 bug {.. const
0340: 20 44 33 44 5f 53 44 4b 5f 56 45 52 53 49 4f 4e D3D_SDK_VERSION
0350: 20 3d 20 28 33 32 20 7c 20 30 78 38 30 30 30 30 = (32 | 0x80000
0360: 30 30 30 29 3b 0d 0a 20 20 20 20 63 6f 6e 73 74 000);.. const
0370: 20 44 33 44 39 62 5f 53 44 4b 5f 56 45 52 53 49 D3D9b_SDK_VERSI
0380: 4f 4e 20 3d 20 28 33 31 20 7c 20 30 78 38 30 30 ON = (31 | 0x800
0390: 30 30 30 30 30 29 3b 0d 0a 7d 0d 0a 65 6c 73 65 00000);..}..else
03a0: 20 7b 0d 0a 20 20 20 20 63 6f 6e 73 74 20 44 33 {.. const D3
03b0: 44 5f 53 44 4b 5f 56 45 52 53 49 4f 4e 20 3d 20 D_SDK_VERSION =
03c0: 33 32 3b 0d 0a 20 20 20 20 63 6f 6e 73 74 20 44 32;.. const D
03d0: 33 44 39 62 5f 53 44 4b 5f 56 45 52 53 49 4f 4e 3D9b_SDK_VERSION
03e0: 20 3d 20 33 31 3b 0d 0a 7d 0d 0a 0d 0a 2f 2a 20 = 31;..}..../*
03f0: 49 49 44 5f 49 44 69 72 65 63 74 33 44 39 20 2a IID_IDirect3D9 *
0400: 2f 0d 0a 2f 2a 20 7b 38 31 42 44 43 42 43 41 2d /../* {81BDCBCA-
0410: 36 34 44 34 2d 34 32 36 64 2d 41 45 38 44 2d 41 64D4-426d-AE8D-A
0420: 44 30 31 34 37 46 34 32 37 35 43 7d 20 2a 2f 0d D0147F4275C} */.
0430: 0a 65 78 74 65 72 6e 20 28 43 29 20 63 6f 6e 73 .extern (C) cons
0440: 74 20 47 55 49 44 20 49 49 44 5f 49 44 69 72 65 t GUID IID_IDire
0450: 63 74 33 44 39 20 3d 20 7b 20 30 78 38 31 62 64 ct3D9 = { 0x81bd
0460: 63 62 63 61 2c 20 30 78 36 34 64 34 2c 20 30 78 cbca, 0x64d4, 0x
0470: 34 32 36 64 2c 20 5b 30 78 61 65 2c 20 30 78 38 426d, [0xae, 0x8
0480: 64 2c 20 30 78 61 64 2c 20 30 78 31 2c 20 30 78 d, 0xad, 0x1, 0x
0490: 34 37 2c 20 30 78 66 34 2c 20 30 78 32 37 2c 20 47, 0xf4, 0x27,
04a0: 30 78 35 63 5d 20 7d 3b 0d 0a 0d 0a 2f 2a 20 49 0x5c] };..../* I
04b0: 49 44 5f 49 44 69 72 65 63 74 33 44 44 65 76 69 ID_IDirect3DDevi
04c0: 63 65 39 20 2a 2f 0d 0a 2f 2f 20 7b 44 30 32 32 ce9 */..// {D022
04d0: 33 42 39 36 2d 42 46 37 41 2d 34 33 66 64 2d 39 3B96-BF7A-43fd-9
04e0: 32 42 44 2d 41 34 33 42 30 44 38 32 42 39 45 42 2BD-A43B0D82B9EB
04f0: 7d 20 2a 2f 0d 0a 65 78 74 65 72 6e 20 28 43 29 } */..extern (C)
0500: 20 63 6f 6e 73 74 20 47 55 49 44 20 49 49 44 5f const GUID IID_
0510: 49 44 69 72 65 63 74 33 44 44 65 76 69 63 65 39 IDirect3DDevice9
0520: 20 3d 20 7b 20 30 78 64 30 32 32 33 62 39 36 2c = { 0xd0223b96,
0530: 20 30 78 62 66 37 61 2c 20 30 78 34 33 66 64 2c 0xbf7a, 0x43fd,
0540: 20 5b 30 78 39 32 2c 20 30 78 62 64 2c 20 30 78 [0x92, 0xbd, 0x
0550: 61 34 2c 20 30 78 33 62 2c 20 30 78 64 2c 20 30 a4, 0x3b, 0xd, 0
0560: 78 38 32 2c 20 30 78 62 39 2c 20 30 78 65 62 5d x82, 0xb9, 0xeb]
0570: 20 7d 3b 0d 0a 0d 0a 2f 2a 20 49 49 44 5f 49 44 };..../* IID_ID
0580: 69 72 65 63 74 33 44 52 65 73 6f 75 72 63 65 39 irect3DResource9
0590: 20 2a 2f 0d 0a 2f 2f 20 7b 30 35 45 45 43 30 35 */..// {05EEC05
05a0: 44 2d 38 46 37 44 2d 34 33 36 32 2d 42 39 39 39 D-8F7D-4362-B999
05b0: 2d 44 31 42 41 46 33 35 37 43 37 30 34 7d 0d 0a -D1BAF357C704}..
05c0: 65 78 74 65 72 6e 20 28 43 29 20 63 6f 6e 73 74 extern (C) const
05d0: 20 47 55 49 44 20 49 49 44 5f 49 44 69 72 65 63 GUID IID_IDirec
05e0: 74 33 44 52 65 73 6f 75 72 63 65 39 20 3d 20 7b t3DResource9 = {
05f0: 20 30 78 30 35 65 65 63 30 35 64 2c 20 30 78 38 0x05eec05d, 0x8
0600: 66 37 64 2c 20 30 78 34 33 36 32 2c 20 5b 30 78 f7d, 0x4362, [0x
0610: 62 39 2c 20 30 78 39 39 2c 20 30 78 64 31 2c 20 b9, 0x99, 0xd1,
0620: 30 78 62 61 2c 20 30 78 66 33 2c 20 30 78 35 37 0xba, 0xf3, 0x57
0630: 2c 20 30 78 63 37 2c 20 30 78 30 34 5d 20 7d 3b , 0xc7, 0x04] };
0640: 0d 0a 0d 0a 2f 2a 20 49 49 44 5f 49 44 69 72 65 ..../* IID_IDire
0650: 63 74 33 44 42 61 73 65 54 65 78 74 75 72 65 39 ct3DBaseTexture9
0660: 20 2a 2f 0d 0a 2f 2a 20 7b 35 38 30 43 41 38 37 */../* {580CA87
0670: 45 2d 31 44 33 43 2d 34 64 35 34 2d 39 39 31 44 E-1D3C-4d54-991D
0680: 2d 42 37 44 33 45 33 43 32 39 38 43 45 7d 20 2a -B7D3E3C298CE} *
0690: 2f 0d 0a 65 78 74 65 72 6e 20 28 43 29 20 63 6f /..extern (C) co
06a0: 6e 73 74 20 47 55 49 44 20 49 49 44 5f 49 44 69 nst GUID IID_IDi
06b0: 72 65 63 74 33 44 42 61 73 65 54 65 78 74 75 72 rect3DBaseTextur
06c0: 65 39 20 3d 20 7b 20 30 78 35 38 30 63 61 38 37 e9 = { 0x580ca87
06d0: 65 2c 20 30 78 31 64 33 63 2c 20 30 78 34 64 35 e, 0x1d3c, 0x4d5
06e0: 34 2c 20 5b 30 78 39 39 2c 20 30 78 31 64 2c 20 4, [0x99, 0x1d,
06f0: 30 78 62 37 2c 20 30 78 64 33 2c 20 30 78 65 33 0xb7, 0xd3, 0xe3
0700: 2c 20 30 78 63 32 2c 20 30 78 39 38 2c 20 30 78 , 0xc2, 0x98, 0x
0710: 63 65 5d 20 7d 3b 0d 0a 0d 0a 2f 2a 20 49 49 44 ce] };..../* IID
0720: 5f 49 44 69 72 65 63 74 33 44 54 65 78 74 75 72 _IDirect3DTextur
0730: 65 39 20 2a 2f 0d 0a 2f 2a 20 7b 38 35 43 33 31 e9 */../* {85C31
0740: 32 32 37 2d 33 44 45 35 2d 34 66 30 30 2d 39 42 227-3DE5-4f00-9B
0750: 33 41 2d 46 31 31 41 43 33 38 43 31 38 42 35 7d 3A-F11AC38C18B5}
0760: 20 2a 2f 0d 0a 65 78 74 65 72 6e 20 28 43 29 20 */..extern (C)
0770: 63 6f 6e 73 74 20 47 55 49 44 20 49 49 44 5f 49 const GUID IID_I
0780: 44 69 72 65 63 74 33 44 54 65 78 74 75 72 65 39 Direct3DTexture9
0790: 20 3d 20 7b 20 30 78 38 35 63 33 31 32 32 37 2c = { 0x85c31227,
07a0: 20 30 78 33 64 65 35 2c 20 30 78 34 66 30 30 2c 0x3de5, 0x4f00,
07b0: 20 5b 30 78 39 62 2c 20 30 78 33 61 2c 20 30 78 [0x9b, 0x3a, 0x
07c0: 66 31 2c 20 30 78 31 61 2c 20 30 78 63 33 2c 20 f1, 0x1a, 0xc3,
07d0: 30 78 38 63 2c 20 30 78 31 38 2c 20 30 78 62 35 0x8c, 0x18, 0xb5
07e0: 5d 20 7d 3b 0d 0a 0d 0a 2f 2a 20 49 49 44 5f 49 ] };..../* IID_I
07f0: 44 69 72 65 63 74 33 44 43 75 62 65 54 65 78 74 Direct3DCubeText
0800: 75 72 65 39 20 2a 2f 0d 0a 2f 2a 20 7b 46 46 46 ure9 */../* {FFF
0810: 33 32 46 38 31 2d 44 39 35 33 2d 34 37 33 61 2d 32F81-D953-473a-
0820: 39 32 32 33 2d 39 33 44 36 35 32 41 42 41 39 33 9223-93D652ABA93
0830: 46 7d 20 2a 2f 0d 0a 65 78 74 65 72 6e 20 28 43 F} */..extern (C
0840: 29 20 63 6f 6e 73 74 20 47 55 49 44 20 49 49 44 ) const GUID IID
0850: 5f 49 44 69 72 65 63 74 33 44 43 75 62 65 54 65 _IDirect3DCubeTe
0860: 78 74 75 72 65 39 20 3d 20 7b 20 30 78 66 66 66 xture9 = { 0xfff
0870: 33 32 66 38 31 2c 20 30 78 64 39 35 33 2c 20 30 32f81, 0xd953, 0
0880: 78 34 37 33 61 2c 20 5b 30 78 39 32 2c 20 30 78 x473a, [0x92, 0x
0890: 32 33 2c 20 30 78 39 33 2c 20 30 78 64 36 2c 20 23, 0x93, 0xd6,
08a0: 30 78 35 32 2c 20 30 78 61 62 2c 20 30 78 61 39 0x52, 0xab, 0xa9
08b0: 2c 20 30 78 33 66 5d 20 7d 3b 0d 0a 0d 0a 2f 2a , 0x3f] };..../*
08c0: 20 49 49 44 5f 49 44 69 72 65 63 74 33 44 56 6f IID_IDirect3DVo
08d0: 6c 75 6d 65 54 65 78 74 75 72 65 39 20 2a 2f 0d lumeTexture9 */.
08e0: 0a 2f 2a 20 7b 32 35 31 38 35 32 36 43 2d 45 37 ./* {2518526C-E7
08f0: 38 39 2d 34 31 31 31 2d 41 37 42 39 2d 34 37 45 89-4111-A7B9-47E
0900: 46 33 32 38 44 31 33 45 36 7d 20 2a 2f 0d 0a 65 F328D13E6} */..e
0910: 78 74 65 72 6e 20 28 43 29 20 63 6f 6e 73 74 20 xtern (C) const
0920: 47 55 49 44 20 49 49 44 5f 49 44 69 72 65 63 74 GUID IID_IDirect
0930: 33 44 56 6f 6c 75 6d 65 54 65 78 74 75 72 65 39 3DVolumeTexture9
0940: 20 3d 20 7b 20 30 78 32 35 31 38 35 32 36 63 2c = { 0x2518526c,
0950: 20 30 78 65 37 38 39 2c 20 30 78 34 31 31 31 2c 0xe789, 0x4111,
0960: 20 5b 30 78 61 37 2c 20 30 78 62 39 2c 20 30 78 [0xa7, 0xb9, 0x
0970: 34 37 2c 20 30 78 65 66 2c 20 30 78 33 32 2c 20 47, 0xef, 0x32,
0980: 30 78 38 64 2c 20 30 78 31 33 2c 20 30 78 65 36 0x8d, 0x13, 0xe6
0990: 5d 20 7d 3b 0d 0a 0d 0a 2f 2a 20 49 49 44 5f 49 ] };..../* IID_I
09a0: 44 69 72 65 63 74 33 44 56 65 72 74 65 78 42 75 Direct3DVertexBu
09b0: 66 66 65 72 39 20 2a 2f 0d 0a 2f 2a 20 7b 42 36 ffer9 */../* {B6
09c0: 34 42 42 31 42 35 2d 46 44 37 30 2d 34 64 66 36 4BB1B5-FD70-4df6
09d0: 2d 42 46 39 31 2d 31 39 44 30 41 31 32 34 35 35 -BF91-19D0A12455
09e0: 45 33 7d 20 2a 2f 0d 0a 65 78 74 65 72 6e 20 28 E3} */..extern (
09f0: 43 29 20 63 6f 6e 73 74 20 47 55 49 44 20 49 49 C) const GUID II
0a00: 44 5f 49 44 69 72 65 63 74 33 44 56 65 72 74 65 D_IDirect3DVerte
0a10: 78 42 75 66 66 65 72 39 20 3d 20 7b 20 30 78 62 xBuffer9 = { 0xb
0a20: 36 34 62 62 31 62 35 2c 20 30 78 66 64 37 30 2c 64bb1b5, 0xfd70,
0a30: 20 30 78 34 64 66 36 2c 20 5b 30 78 62 66 2c 20 0x4df6, [0xbf,
0a40: 30 78 39 31 2c 20 30 78 31 39 2c 20 30 78 64 30 0x91, 0x19, 0xd0
0a50: 2c 20 30 78 61 31 2c 20 30 78 32 34 2c 20 30 78 , 0xa1, 0x24, 0x
0a60: 35 35 2c 20 30 78 65 33 5d 20 7d 3b 0d 0a 0d 0a 55, 0xe3] };....
0a70: 2f 2a 20 49 49 44 5f 49 44 69 72 65 63 74 33 44 /* IID_IDirect3D
0a80: 49 6e 64 65 78 42 75 66 66 65 72 39 20 2a 2f 0d IndexBuffer9 */.
0a90: 0a 2f 2a 20 7b 37 43 39 44 44 36 35 45 2d 44 33 ./* {7C9DD65E-D3
0aa0: 46 37 2d 34 35 32 39 2d 41 43 45 45 2d 37 38 35 F7-4529-ACEE-785
0ab0: 38 33 30 41 43 44 45 33 35 7d 20 2a 2f 0d 0a 65 830ACDE35} */..e
0ac0: 78 74 65 72 6e 20 28 43 29 20 63 6f 6e 73 74 20 xtern (C) const
0ad0: 47 55 49 44 20 49 49 44 5f 49 44 69 72 65 63 74 GUID IID_IDirect
0ae0: 33 44 49 6e 64 65 78 42 75 66 66 65 72 39 20 3d 3DIndexBuffer9 =
0af0: 20 7b 20 30 78 37 63 39 64 64 36 35 65 2c 20 30 { 0x7c9dd65e, 0
0b00: 78 64 33 66 37 2c 20 30 78 34 35 32 39 2c 20 5b xd3f7, 0x4529, [
0b10: 30 78 61 63 2c 20 30 78 65 65 2c 20 30 78 37 38 0xac, 0xee, 0x78
0b20: 2c 20 30 78 35 38 2c 20 30 78 33 30 2c 20 30 78 , 0x58, 0x30, 0x
0b30: 61 63 2c 20 30 78 64 65 2c 20 30 78 33 35 5d 20 ac, 0xde, 0x35]
0b40: 7d 3b 0d 0a 0d 0a 2f 2a 20 49 49 44 5f 49 44 69 };..../* IID_IDi
0b50: 72 65 63 74 33 44 53 75 72 66 61 63 65 39 20 2a rect3DSurface9 *
0b60: 2f 0d 0a 2f 2a 20 7b 30 43 46 42 41 46 33 41 2d /../* {0CFBAF3A-
0b70: 39 46 46 36 2d 34 32 39 61 2d 39 39 42 33 2d 41 9FF6-429a-99B3-A
0b80: 32 37 39 36 41 46 38 42 38 39 42 7d 20 2a 2f 0d 2796AF8B89B} */.
0b90: 0a 65 78 74 65 72 6e 20 28 43 29 20 63 6f 6e 73 .extern (C) cons
0ba0: 74 20 47 55 49 44 20 49 49 44 5f 49 44 69 72 65 t GUID IID_IDire
0bb0: 63 74 33 44 53 75 72 66 61 63 65 39 20 3d 20 7b ct3DSurface9 = {
0bc0: 20 30 78 63 66 62 61 66 33 61 2c 20 30 78 39 66 0xcfbaf3a, 0x9f
0bd0: 66 36 2c 20 30 78 34 32 39 61 2c 20 5b 30 78 39 f6, 0x429a, [0x9
0be0: 39 2c 20 30 78 62 33 2c 20 30 78 61 32 2c 20 30 9, 0xb3, 0xa2, 0
0bf0: 78 37 39 2c 20 30 78 36 61 2c 20 30 78 66 38 2c x79, 0x6a, 0xf8,
0c00: 20 30 78 62 38 2c 20 30 78 39 62 5d 20 7d 3b 0d 0xb8, 0x9b] };.
0c10: 0a 0d 0a 2f 2a 20 49 49 44 5f 49 44 69 72 65 63 .../* IID_IDirec
0c20: 74 33 44 56 6f 6c 75 6d 65 39 20 2a 2f 0d 0a 2f t3DVolume9 */../
0c30: 2a 20 7b 32 34 46 34 31 36 45 36 2d 31 46 36 37 * {24F416E6-1F67
0c40: 2d 34 61 61 37 2d 42 38 38 45 2d 44 33 33 46 36 -4aa7-B88E-D33F6
0c50: 46 33 31 32 38 41 31 7d 20 2a 2f 0d 0a 65 78 74 F3128A1} */..ext
0c60: 65 72 6e 20 28 43 29 20 63 6f 6e 73 74 20 47 55 ern (C) const GU
0c70: 49 44 20 49 49 44 5f 49 44 69 72 65 63 74 33 44 ID IID_IDirect3D
0c80: 56 6f 6c 75 6d 65 39 20 3d 20 7b 20 30 78 32 34 Volume9 = { 0x24
0c90: 66 34 31 36 65 36 2c 20 30 78 31 66 36 37 2c 20 f416e6, 0x1f67,
0ca0: 30 78 34 61 61 37 2c 20 5b 30 78 62 38 2c 20 30 0x4aa7, [0xb8, 0
0cb0: 78 38 65 2c 20 30 78 64 33 2c 20 30 78 33 66 2c x8e, 0xd3, 0x3f,
0cc0: 20 30 78 36 66 2c 20 30 78 33 31 2c 20 30 78 32 0x6f, 0x31, 0x2
0cd0: 38 2c 20 30 78 61 31 5d 20 7d 3b 0d 0a 0d 0a 2f 8, 0xa1] };..../
0ce0: 2a 20 49 49 44 5f 49 44 69 72 65 63 74 33 44 53 * IID_IDirect3DS
0cf0: 77 61 70 43 68 61 69 6e 39 20 2a 2f 0d 0a 2f 2a wapChain9 */../*
0d00: 20 7b 37 39 34 39 35 30 46 32 2d 41 44 46 43 2d {794950F2-ADFC-
0d10: 34 35 38 61 2d 39 30 35 45 2d 31 30 41 31 30 42 458a-905E-10A10B
0d20: 30 42 35 30 33 42 7d 20 2a 2f 0d 0a 65 78 74 65 0B503B} */..exte
0d30: 72 6e 20 28 43 29 20 63 6f 6e 73 74 20 47 55 49 rn (C) const GUI
0d40: 44 20 49 49 44 5f 49 44 69 72 65 63 74 33 44 53 D IID_IDirect3DS
0d50: 77 61 70 43 68 61 69 6e 39 20 3d 20 7b 20 30 78 wapChain9 = { 0x
0d60: 37 39 34 39 35 30 66 32 2c 20 30 78 61 64 66 63 794950f2, 0xadfc
0d70: 2c 20 30 78 34 35 38 61 2c 20 5b 30 78 39 30 2c , 0x458a, [0x90,
0d80: 20 30 78 35 65 2c 20 30 78 31 30 2c 20 30 78 61 0x5e, 0x10, 0xa
0d90: 31 2c 20 30 78 62 2c 20 30 78 62 2c 20 30 78 35 1, 0xb, 0xb, 0x5
0da0: 30 2c 20 30 78 33 62 5d 20 7d 3b 0d 0a 0d 0a 2f 0, 0x3b] };..../
0db0: 2a 20 49 49 44 5f 49 44 69 72 65 63 74 33 44 56 * IID_IDirect3DV
0dc0: 65 72 74 65 78 44 65 63 6c 61 72 61 74 69 6f 6e ertexDeclaration
0dd0: 39 20 2a 2f 0d 0a 2f 2a 20 7b 44 44 31 33 43 35 9 */../* {DD13C5
0de0: 39 43 2d 33 36 46 41 2d 34 30 39 38 2d 41 38 46 9C-36FA-4098-A8F
0df0: 42 2d 43 37 45 44 33 39 44 43 38 35 34 36 7d 20 B-C7ED39DC8546}
0e00: 2a 2f 0d 0a 65 78 74 65 72 6e 20 28 43 29 20 63 */..extern (C) c
0e10: 6f 6e 73 74 20 47 55 49 44 20 49 49 44 5f 49 44 onst GUID IID_ID
0e20: 69 72 65 63 74 33 44 56 65 72 74 65 78 44 65 63 irect3DVertexDec
0e30: 6c 61 72 61 74 69 6f 6e 39 20 3d 20 7b 20 30 78 laration9 = { 0x
0e40: 64 64 31 33 63 35 39 63 2c 20 30 78 33 36 66 61 dd13c59c, 0x36fa
0e50: 2c 20 30 78 34 30 39 38 2c 20 5b 30 78 61 38 2c , 0x4098, [0xa8,
0e60: 20 30 78 66 62 2c 20 30 78 63 37 2c 20 30 78 65 0xfb, 0xc7, 0xe
0e70: 64 2c 20 30 78 33 39 2c 20 30 78 64 63 2c 20 30 d, 0x39, 0xdc, 0
0e80: 78 38 35 2c 20 30 78 34 36 5d 20 7d 3b 0d 0a 0d x85, 0x46] };...
0e90: 0a 2f 2a 20 49 49 44 5f 49 44 69 72 65 63 74 33 ./* IID_IDirect3
0ea0: 44 56 65 72 74 65 78 53 68 61 64 65 72 39 20 2a DVertexShader9 *
0eb0: 2f 0d 0a 2f 2a 20 7b 45 46 43 35 35 35 37 45 2d /../* {EFC5557E-
0ec0: 36 32 36 35 2d 34 36 31 33 2d 38 41 39 34 2d 34 6265-4613-8A94-4
0ed0: 33 38 35 37 38 38 39 45 42 33 36 7d 20 2a 2f 0d 3857889EB36} */.
0ee0: 0a 65 78 74 65 72 6e 20 28 43 29 20 63 6f 6e 73 .extern (C) cons
0ef0: 74 20 47 55 49 44 20 49 49 44 5f 49 44 69 72 65 t GUID IID_IDire
0f00: 63 74 33 44 56 65 72 74 65 78 53 68 61 64 65 72 ct3DVertexShader
0f10: 39 20 3d 20 7b 20 30 78 65 66 63 35 35 35 37 65 9 = { 0xefc5557e
0f20: 2c 20 30 78 36 32 36 35 2c 20 30 78 34 36 31 33 , 0x6265, 0x4613
0f30: 2c 20 5b 30 78 38 61 2c 20 30 78 39 34 2c 20 30 , [0x8a, 0x94, 0
0f40: 78 34 33 2c 20 30 78 38 35 2c 20 30 78 37 38 2c x43, 0x85, 0x78,
0f50: 20 30 78 38 39 2c 20 30 78 65 62 2c 20 30 78 33 0x89, 0xeb, 0x3
0f60: 36 5d 20 7d 3b 0d 0a 0d 0a 2f 2a 20 49 49 44 5f 6] };..../* IID_
0f70: 49 44 69 72 65 63 74 33 44 50 69 78 65 6c 53 68 IDirect3DPixelSh
0f80: 61 64 65 72 39 20 2a 2f 0d 0a 2f 2a 20 7b 36 44 ader9 */../* {6D
0f90: 33 42 44 42 44 43 2d 35 42 30 32 2d 34 34 31 35 3BDBDC-5B02-4415
0fa0: 2d 42 38 35 32 2d 43 45 35 45 38 42 43 43 42 32 -B852-CE5E8BCCB2
0fb0: 38 39 7d 20 2a 2f 0d 0a 65 78 74 65 72 6e 20 28 89} */..extern (
0fc0: 43 29 20 63 6f 6e 73 74 20 47 55 49 44 20 49 49 C) const GUID II
0fd0: 44 5f 49 44 69 72 65 63 74 33 44 50 69 78 65 6c D_IDirect3DPixel
0fe0: 53 68 61 64 65 72 39 20 3d 20 7b 20 30 78 36 64 Shader9 = { 0x6d
0ff0: 33 62 64 62 64 63 2c 20 30 78 35 62 30 32 2c 20 3bdbdc, 0x5b02,
1000: 30 78 34 34 31 35 2c 20 5b 30 78 62 38 2c 20 30 0x4415, [0xb8, 0
1010: 78 35 32 2c 20 30 78 63 65 2c 20 30 78 35 65 2c x52, 0xce, 0x5e,
1020: 20 30 78 38 62 2c 20 30 78 63 63 2c 20 30 78 62 0x8b, 0xcc, 0xb
1030: 32 2c 20 30 78 38 39 5d 20 7d 3b 0d 0a 0d 0a 2f 2, 0x89] };..../
1040: 2a 20 49 49 44 5f 49 44 69 72 65 63 74 33 44 53 * IID_IDirect3DS
1050: 74 61 74 65 42 6c 6f 63 6b 39 20 2a 2f 0d 0a 2f tateBlock9 */../
1060: 2a 20 7b 42 30 37 43 34 46 45 35 2d 33 31 30 44 * {B07C4FE5-310D
1070: 2d 34 62 61 38 2d 41 32 33 43 2d 34 46 30 46 32 -4ba8-A23C-4F0F2
1080: 30 36 46 32 31 38 42 7d 20 2a 2f 0d 0a 65 78 74 06F218B} */..ext
1090: 65 72 6e 20 28 43 29 20 63 6f 6e 73 74 20 47 55 ern (C) const GU
10a0: 49 44 20 49 49 44 5f 49 44 69 72 65 63 74 33 44 ID IID_IDirect3D
10b0: 53 74 61 74 65 42 6c 6f 63 6b 39 20 3d 20 7b 20 StateBlock9 = {
10c0: 30 78 62 30 37 63 34 66 65 35 2c 20 30 78 33 31 0xb07c4fe5, 0x31
10d0: 30 64 2c 20 30 78 34 62 61 38 2c 20 5b 30 78 61 0d, 0x4ba8, [0xa
10e0: 32 2c 20 30 78 33 63 2c 20 30 78 34 66 2c 20 30 2, 0x3c, 0x4f, 0
10f0: 78 66 2c 20 30 78 32 30 2c 20 30 78 36 66 2c 20 xf, 0x20, 0x6f,
1100: 30 78 32 31 2c 20 30 78 38 62 5d 20 7d 3b 0d 0a 0x21, 0x8b] };..
1110: 0d 0a 2f 2a 20 49 49 44 5f 49 44 69 72 65 63 74 ../* IID_IDirect
1120: 33 44 51 75 65 72 79 39 20 2a 2f 0d 0a 2f 2a 20 3DQuery9 */../*
1130: 7b 64 39 37 37 31 34 36 30 2d 61 36 39 35 2d 34 {d9771460-a695-4
1140: 66 32 36 2d 62 62 64 33 2d 32 37 62 38 34 30 62 f26-bbd3-27b840b
1150: 35 34 31 63 63 7d 20 2a 2f 0d 0a 65 78 74 65 72 541cc} */..exter
1160: 6e 20 28 43 29 20 63 6f 6e 73 74 20 47 55 49 44 n (C) const GUID
1170: 20 49 49 44 5f 49 44 69 72 65 63 74 33 44 51 75 IID_IDirect3DQu
1180: 65 72 79 39 20 3d 20 7b 20 30 78 64 39 37 37 31 ery9 = { 0xd9771
1190: 34 36 30 2c 20 30 78 61 36 39 35 2c 20 30 78 34 460, 0xa695, 0x4
11a0: 66 32 36 2c 20 5b 30 78 62 62 2c 20 30 78 64 33 f26, [0xbb, 0xd3
11b0: 2c 20 30 78 32 37 2c 20 30 78 62 38 2c 20 30 78 , 0x27, 0xb8, 0x
11c0: 34 30 2c 20 30 78 62 35 2c 20 30 78 34 31 2c 20 40, 0xb5, 0x41,
11d0: 30 78 63 63 5d 20 7d 3b 0d 0a 0d 0a 0d 0a 2f 2a 0xcc] };....../*
11e0: 20 49 49 44 5f 48 65 6c 70 65 72 4e 61 6d 65 20 IID_HelperName
11f0: 2a 2f 0d 0a 2f 2a 20 7b 45 34 41 33 36 37 32 33 */../* {E4A36723
1200: 2d 46 44 46 45 2d 34 62 32 32 2d 42 31 34 36 2d -FDFE-4b22-B146-
1210: 33 43 30 34 43 30 37 46 34 43 43 38 7d 20 2a 2f 3C04C07F4CC8} */
1220: 0d 0a 65 78 74 65 72 6e 20 28 43 29 20 63 6f 6e ..extern (C) con
1230: 73 74 20 47 55 49 44 20 49 49 44 5f 48 65 6c 70 st GUID IID_Help
1240: 65 72 4e 61 6d 65 20 3d 20 7b 20 30 78 65 34 61 erName = { 0xe4a
1250: 33 36 37 32 33 2c 20 30 78 66 64 66 65 2c 20 30 36723, 0xfdfe, 0
1260: 78 34 62 32 32 2c 20 5b 30 78 62 31 2c 20 30 78 x4b22, [0xb1, 0x
1270: 34 36 2c 20 30 78 33 63 2c 20 30 78 34 2c 20 30 46, 0x3c, 0x4, 0
1280: 78 63 30 2c 20 30 78 37 66 2c 20 30 78 34 63 2c xc0, 0x7f, 0x4c,
1290: 20 30 78 63 38 5d 20 7d 3b 0d 0a 0d 0a 2f 2a 20 0xc8] };..../*
12a0: 49 49 44 5f 49 44 69 72 65 63 74 33 44 39 45 78 IID_IDirect3D9Ex
12b0: 20 2a 2f 0d 0a 2f 2a 20 7b 30 32 31 37 37 32 34 */../* {0217724
12c0: 31 2d 36 39 46 43 2d 34 30 30 43 2d 38 46 46 31 1-69FC-400C-8FF1
12d0: 2d 39 33 41 34 34 44 46 36 38 36 31 44 7d 20 2a -93A44DF6861D} *
12e0: 2f 0d 0a 65 78 74 65 72 6e 20 28 43 29 20 63 6f /..extern (C) co
12f0: 6e 73 74 20 47 55 49 44 20 49 49 44 5f 49 44 69 nst GUID IID_IDi
1300: 72 65 63 74 33 44 39 45 78 20 3d 20 7b 20 30 78 rect3D9Ex = { 0x
1310: 30 32 31 37 37 32 34 31 2c 20 30 78 36 39 46 43 02177241, 0x69FC
1320: 2c 20 30 78 34 30 30 43 2c 20 5b 30 78 38 46 2c , 0x400C, [0x8F,
1330: 20 30 78 46 31 2c 20 30 78 39 33 2c 20 30 78 41 0xF1, 0x93, 0xA
1340: 34 2c 20 30 78 34 44 2c 20 30 78 46 36 2c 20 30 4, 0x4D, 0xF6, 0
1350: 78 38 36 2c 20 30 78 31 44 5d 20 7d 3b 0d 0a 0d x86, 0x1D] };...
1360: 0a 2f 2a 20 49 49 44 5f 49 44 69 72 65 63 74 33 ./* IID_IDirect3
1370: 44 44 65 76 69 63 65 39 45 78 20 2a 2f 0d 0a 2f DDevice9Ex */../
1380: 2f 20 7b 42 31 38 42 31 30 43 45 2d 32 36 34 39 / {B18B10CE-2649
1390: 2d 34 30 35 61 2d 38 37 30 46 2d 39 35 46 37 37 -405a-870F-95F77
13a0: 37 44 34 33 31 33 41 7d 0d 0a 65 78 74 65 72 6e 7D4313A}..extern
13b0: 20 28 43 29 20 63 6f 6e 73 74 20 47 55 49 44 20 (C) const GUID
13c0: 49 49 44 5f 49 44 69 72 65 63 74 33 44 44 65 76 IID_IDirect3DDev
13d0: 69 63 65 39 45 78 20 3d 20 7b 20 30 78 62 31 38 ice9Ex = { 0xb18
13e0: 62 31 30 63 65 2c 20 30 78 32 36 34 39 2c 20 30 b10ce, 0x2649, 0
13f0: 78 34 30 35 61 2c 20 5b 30 78 38 37 2c 20 30 78 x405a, [0x87, 0x
1400: 66 2c 20 30 78 39 35 2c 20 30 78 66 37 2c 20 30 f, 0x95, 0xf7, 0
1410: 78 37 37 2c 20 30 78 64 34 2c 20 30 78 33 31 2c x77, 0xd4, 0x31,
1420: 20 30 78 33 61 5d 20 7d 3b 0d 0a 0d 0a 2f 2a 20 0x3a] };..../*
1430: 49 49 44 5f 49 44 69 72 65 63 74 33 44 53 77 61 IID_IDirect3DSwa
1440: 70 43 68 61 69 6e 39 45 78 20 2a 2f 0d 0a 2f 2a pChain9Ex */../*
1450: 20 7b 39 31 38 38 36 43 41 46 2d 31 43 33 44 2d {91886CAF-1C3D-
1460: 34 64 32 65 2d 41 30 41 42 2d 33 45 34 43 37 44 4d2e-A0AB-3E4C7D
1470: 38 44 33 33 30 33 7d 20 2a 2f 0d 0a 65 78 74 65 8D3303} */..exte
1480: 72 6e 20 28 43 29 20 63 6f 6e 73 74 20 47 55 49 rn (C) const GUI
1490: 44 20 49 49 44 5f 49 44 69 72 65 63 74 33 44 53 D IID_IDirect3DS
14a0: 77 61 70 43 68 61 69 6e 39 45 78 20 3d 20 7b 20 wapChain9Ex = {
14b0: 30 78 39 31 38 38 36 63 61 66 2c 20 30 78 31 63 0x91886caf, 0x1c
14c0: 33 64 2c 20 30 78 34 64 32 65 2c 20 5b 30 78 61 3d, 0x4d2e, [0xa
14d0: 30 2c 20 30 78 61 62 2c 20 30 78 33 65 2c 20 30 0, 0xab, 0x3e, 0
14e0: 78 34 63 2c 20 30 78 37 64 2c 20 30 78 38 64 2c x4c, 0x7d, 0x8d,
14f0: 20 30 78 33 33 2c 20 30 78 30 33 5d 20 7d 3b 0d 0x33, 0x03] };.
1500: 0a 0d 0a 0d 0a 0d 0a 65 78 74 65 72 6e 20 28 43 .......extern (C
1510: 29 3a 0d 0a 2f 2a 2a 0d 0a 20 2a 20 44 4c 4c 20 ):../**.. * DLL
1520: 46 75 6e 63 74 69 6f 6e 20 66 6f 72 20 63 72 65 Function for cre
1530: 61 74 69 6e 67 20 61 20 44 69 72 65 63 74 33 44 ating a Direct3D
1540: 39 20 6f 62 6a 65 63 74 2e 20 54 68 69 73 20 6f 9 object. This o
1550: 62 6a 65 63 74 20 73 75 70 70 6f 72 74 73 0d 0a bject supports..
1560: 20 2a 20 65 6e 75 6d 65 72 61 74 69 6f 6e 20 61 * enumeration a
1570: 6e 64 20 61 6c 6c 6f 77 73 20 74 68 65 20 63 72 nd allows the cr
1580: 65 61 74 69 6f 6e 20 6f 66 20 44 69 72 65 63 74 eation of Direct
1590: 33 44 44 65 76 69 63 65 39 20 6f 62 6a 65 63 74 3DDevice9 object
15a0: 73 2e 0d 0a 20 2a 20 50 61 73 73 20 74 68 65 20 s... * Pass the
15b0: 76 61 6c 75 65 20 6f 66 20 74 68 65 20 63 6f 6e value of the con
15c0: 73 74 61 6e 74 20 44 33 44 5f 53 44 4b 5f 56 45 stant D3D_SDK_VE
15d0: 52 53 49 4f 4e 20 74 6f 20 74 68 69 73 20 66 75 RSION to this fu
15e0: 6e 63 74 69 6f 6e 2c 20 73 6f 0d 0a 20 2a 20 74 nction, so.. * t
15f0: 68 61 74 20 74 68 65 20 72 75 6e 2d 74 69 6d 65 hat the run-time
1600: 20 63 61 6e 20 76 61 6c 69 64 61 74 65 20 74 68 can validate th
1610: 61 74 20 79 6f 75 72 20 61 70 70 6c 69 63 61 74 at your applicat
1620: 69 6f 6e 20 77 61 73 20 63 6f 6d 70 69 6c 65 64 ion was compiled
1630: 0d 0a 20 2a 20 61 67 61 69 6e 73 74 20 74 68 65 .. * against the
1640: 20 72 69 67 68 74 20 68 65 61 64 65 72 73 2e 0d right headers..
1650: 0a 20 2a 2f 0d 0a 0d 0a 65 78 74 65 72 6e 20 28 . */....extern (
1660: 57 69 6e 64 6f 77 73 29 20 4c 50 44 49 52 45 43 Windows) LPDIREC
1670: 54 33 44 39 20 44 69 72 65 63 74 33 44 43 72 65 T3D9 Direct3DCre
1680: 61 74 65 39 28 55 49 4e 54 20 53 44 4b 56 65 72 ate9(UINT SDKVer
1690: 73 69 6f 6e 29 3b 0d 0a 0d 0a 2f 2a 2a 0d 0a 20 sion);..../**..
16a0: 2a 20 53 74 75 62 73 20 66 6f 72 20 67 72 61 70 * Stubs for grap
16b0: 68 69 63 73 20 70 72 6f 66 69 6c 69 6e 67 2e 0d hics profiling..
16c0: 0a 20 2a 2f 0d 0a 65 78 74 65 72 6e 20 28 57 69 . */..extern (Wi
16d0: 6e 64 6f 77 73 29 20 69 6e 74 20 44 33 44 50 45 ndows) int D3DPE
16e0: 52 46 5f 42 65 67 69 6e 45 76 65 6e 74 28 20 44 RF_BeginEvent( D
16f0: 33 44 43 4f 4c 4f 52 20 63 6f 6c 2c 20 4c 50 43 3DCOLOR col, LPC
1700: 57 53 54 52 20 77 73 7a 4e 61 6d 65 20 29 3b 0d WSTR wszName );.
1710: 0a 65 78 74 65 72 6e 20 28 57 69 6e 64 6f 77 73 .extern (Windows
1720: 29 20 69 6e 74 20 44 33 44 50 45 52 46 5f 45 6e ) int D3DPERF_En
1730: 64 45 76 65 6e 74 28 29 3b 0d 0a 65 78 74 65 72 dEvent();..exter
1740: 6e 20 28 57 69 6e 64 6f 77 73 29 20 76 6f 69 64 n (Windows) void
1750: 20 44 33 44 50 45 52 46 5f 53 65 74 4d 61 72 6b D3DPERF_SetMark
1760: 65 72 28 20 44 33 44 43 4f 4c 4f 52 20 63 6f 6c er( D3DCOLOR col
1770: 2c 20 4c 50 43 57 53 54 52 20 77 73 7a 4e 61 6d , LPCWSTR wszNam
1780: 65 20 29 3b 0d 0a 65 78 74 65 72 6e 20 28 57 69 e );..extern (Wi
1790: 6e 64 6f 77 73 29 20 76 6f 69 64 20 44 33 44 50 ndows) void D3DP
17a0: 45 52 46 5f 53 65 74 52 65 67 69 6f 6e 28 20 44 ERF_SetRegion( D
17b0: 33 44 43 4f 4c 4f 52 20 63 6f 6c 2c 20 4c 50 43 3DCOLOR col, LPC
17c0: 57 53 54 52 20 77 73 7a 4e 61 6d 65 20 29 3b 0d WSTR wszName );.
17d0: 0a 65 78 74 65 72 6e 20 28 57 69 6e 64 6f 77 73 .extern (Windows
17e0: 29 20 42 4f 4f 4c 20 44 33 44 50 45 52 46 5f 51 ) BOOL D3DPERF_Q
17f0: 75 65 72 79 52 65 70 65 61 74 46 72 61 6d 65 28 ueryRepeatFrame(
1800: 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 20 28 57 69 );....extern (Wi
1810: 6e 64 6f 77 73 29 20 76 6f 69 64 20 44 33 44 50 ndows) void D3DP
1820: 45 52 46 5f 53 65 74 4f 70 74 69 6f 6e 73 28 20 ERF_SetOptions(
1830: 44 57 4f 52 44 20 64 77 4f 70 74 69 6f 6e 73 20 DWORD dwOptions
1840: 29 3b 0d 0a 65 78 74 65 72 6e 20 28 57 69 6e 64 );..extern (Wind
1850: 6f 77 73 29 20 44 57 4f 52 44 20 44 33 44 50 45 ows) DWORD D3DPE
1860: 52 46 5f 47 65 74 53 74 61 74 75 73 28 29 3b 0d RF_GetStatus();.
1870: 0a 0d 0a 0d 0a 69 6e 74 65 72 66 61 63 65 20 4c .....interface L
1880: 50 44 49 52 45 43 54 33 44 39 20 3a 20 49 55 6e PDIRECT3D9 : IUn
1890: 6b 6e 6f 77 6e 0d 0a 7b 0d 0a 20 20 20 20 48 52 known..{.. HR
18a0: 45 53 55 4c 54 20 52 65 67 69 73 74 65 72 53 6f ESULT RegisterSo
18b0: 66 74 77 61 72 65 44 65 76 69 63 65 28 76 6f 69 ftwareDevice(voi
18c0: 64 2a 20 70 49 6e 69 74 69 61 6c 69 7a 65 46 75 d* pInitializeFu
18d0: 6e 63 74 69 6f 6e 29 3b 0d 0a 20 20 20 20 55 49 nction);.. UI
18e0: 4e 54 20 47 65 74 41 64 61 70 74 65 72 43 6f 75 NT GetAdapterCou
18f0: 6e 74 28 29 3b 0d 0a 20 20 20 20 48 52 45 53 55 nt();.. HRESU
1900: 4c 54 20 47 65 74 41 64 61 70 74 65 72 49 64 65 LT GetAdapterIde
1910: 6e 74 69 66 69 65 72 28 20 55 49 4e 54 20 41 64 ntifier( UINT Ad
1920: 61 70 74 65 72 2c 44 57 4f 52 44 20 46 6c 61 67 apter,DWORD Flag
1930: 73 2c 44 33 44 41 44 41 50 54 45 52 5f 49 44 45 s,D3DADAPTER_IDE
1940: 4e 54 49 46 49 45 52 39 2a 20 70 49 64 65 6e 74 NTIFIER9* pIdent
1950: 69 66 69 65 72 29 3b 0d 0a 20 20 20 20 55 49 4e ifier);.. UIN
1960: 54 20 47 65 74 41 64 61 70 74 65 72 4d 6f 64 65 T GetAdapterMode
1970: 43 6f 75 6e 74 28 55 49 4e 54 20 41 64 61 70 74 Count(UINT Adapt
1980: 65 72 2c 44 33 44 46 4f 52 4d 41 54 20 46 6f 72 er,D3DFORMAT For
1990: 6d 61 74 29 3b 0d 0a 20 20 20 20 48 52 45 53 55 mat);.. HRESU
19a0: 4c 54 20 45 6e 75 6d 41 64 61 70 74 65 72 4d 6f LT EnumAdapterMo
19b0: 64 65 73 28 20 55 49 4e 54 20 41 64 61 70 74 65 des( UINT Adapte
19c0: 72 2c 44 33 44 46 4f 52 4d 41 54 20 46 6f 72 6d r,D3DFORMAT Form
19d0: 61 74 2c 55 49 4e 54 20 4d 6f 64 65 2c 44 33 44 at,UINT Mode,D3D
19e0: 44 49 53 50 4c 41 59 4d 4f 44 45 2a 20 70 4d 6f DISPLAYMODE* pMo
19f0: 64 65 29 3b 0d 0a 20 20 20 20 48 52 45 53 55 4c de);.. HRESUL
1a00: 54 20 47 65 74 41 64 61 70 74 65 72 44 69 73 70 T GetAdapterDisp
1a10: 6c 61 79 4d 6f 64 65 28 20 55 49 4e 54 20 41 64 layMode( UINT Ad
1a20: 61 70 74 65 72 2c 44 33 44 44 49 53 50 4c 41 59 apter,D3DDISPLAY
1a30: 4d 4f 44 45 2a 20 70 4d 6f 64 65 29 3b 0d 0a 20 MODE* pMode);..
1a40: 20 20 20 48 52 45 53 55 4c 54 20 43 68 65 63 6b HRESULT Check
1a50: 44 65 76 69 63 65 54 79 70 65 28 20 55 49 4e 54 DeviceType( UINT
1a60: 20 41 64 61 70 74 65 72 2c 44 33 44 44 45 56 54 Adapter,D3DDEVT
1a70: 59 50 45 20 44 65 76 54 79 70 65 2c 44 33 44 46 YPE DevType,D3DF
1a80: 4f 52 4d 41 54 20 41 64 61 70 74 65 72 46 6f 72 ORMAT AdapterFor
1a90: 6d 61 74 2c 44 33 44 46 4f 52 4d 41 54 20 42 61 mat,D3DFORMAT Ba
1aa0: 63 6b 42 75 66 66 65 72 46 6f 72 6d 61 74 2c 42 ckBufferFormat,B
1ab0: 4f 4f 4c 20 62 57 69 6e 64 6f 77 65 64 29 3b 0d OOL bWindowed);.
1ac0: 0a 20 20 20 20 48 52 45 53 55 4c 54 20 43 68 65 . HRESULT Che
1ad0: 63 6b 44 65 76 69 63 65 46 6f 72 6d 61 74 28 20 ckDeviceFormat(
1ae0: 55 49 4e 54 20 41 64 61 70 74 65 72 2c 44 33 44 UINT Adapter,D3D
1af0: 44 45 56 54 59 50 45 20 44 65 76 69 63 65 54 79 DEVTYPE DeviceTy
1b00: 70 65 2c 44 33 44 46 4f 52 4d 41 54 20 41 64 61 pe,D3DFORMAT Ada
1b10: 70 74 65 72 46 6f 72 6d 61 74 2c 44 57 4f 52 44 pterFormat,DWORD
1b20: 20 55 73 61 67 65 2c 44 33 44 52 45 53 4f 55 52 Usage,D3DRESOUR
1b30: 43 45 54 59 50 45 20 52 54 79 70 65 2c 44 33 44 CETYPE RType,D3D
1b40: 46 4f 52 4d 41 54 20 43 68 65 63 6b 46 6f 72 6d FORMAT CheckForm
1b50: 61 74 29 3b 0d 0a 20 20 20 20 48 52 45 53 55 4c at);.. HRESUL
1b60: 54 20 43 68 65 63 6b 44 65 76 69 63 65 4d 75 6c T CheckDeviceMul
1b70: 74 69 53 61 6d 70 6c 65 54 79 70 65 28 20 55 49 tiSampleType( UI
1b80: 4e 54 20 41 64 61 70 74 65 72 2c 44 33 44 44 45 NT Adapter,D3DDE
1b90: 56 54 59 50 45 20 44 65 76 69 63 65 54 79 70 65 VTYPE DeviceType
1ba0: 2c 44 33 44 46 4f 52 4d 41 54 20 53 75 72 66 61 ,D3DFORMAT Surfa
1bb0: 63 65 46 6f 72 6d 61 74 2c 42 4f 4f 4c 20 57 69 ceFormat,BOOL Wi
1bc0: 6e 64 6f 77 65 64 2c 44 33 44 4d 55 4c 54 49 53 ndowed,D3DMULTIS
1bd0: 41 4d 50 4c 45 5f 54 59 50 45 20 4d 75 6c 74 69 AMPLE_TYPE Multi
1be0: 53 61 6d 70 6c 65 54 79 70 65 2c 44 57 4f 52 44 SampleType,DWORD
1bf0: 2a 20 70 51 75 61 6c 69 74 79 4c 65 76 65 6c 73 * pQualityLevels
1c00: 29 3b 0d 0a 20 20 20 20 48 52 45 53 55 4c 54 20 );.. HRESULT
1c10: 43 68 65 63 6b 44 65 70 74 68 53 74 65 6e 63 69 CheckDepthStenci
1c20: 6c 4d 61 74 63 68 28 20 55 49 4e 54 20 41 64 61 lMatch( UINT Ada
1c30: 70 74 65 72 2c 44 33 44 44 45 56 54 59 50 45 20 pter,D3DDEVTYPE
1c40: 44 65 76 69 63 65 54 79 70 65 2c 44 33 44 46 4f DeviceType,D3DFO
1c50: 52 4d 41 54 20 41 64 61 70 74 65 72 46 6f 72 6d RMAT AdapterForm
1c60: 61 74 2c 44 33 44 46 4f 52 4d 41 54 20 52 65 6e at,D3DFORMAT Ren
1c70: 64 65 72 54 61 72 67 65 74 46 6f 72 6d 61 74 2c derTargetFormat,
1c80: 44 33 44 46 4f 52 4d 41 54 20 44 65 70 74 68 53 D3DFORMAT DepthS
1c90: 74 65 6e 63 69 6c 46 6f 72 6d 61 74 29 3b 0d 0a tencilFormat);..
1ca0: 20 20 20 20 48 52 45 53 55 4c 54 20 43 68 65 63 HRESULT Chec
1cb0: 6b 44 65 76 69 63 65 46 6f 72 6d 61 74 43 6f 6e kDeviceFormatCon
1cc0: 76 65 72 73 69 6f 6e 28 20 55 49 4e 54 20 41 64 version( UINT Ad
1cd0: 61 70 74 65 72 2c 44 33 44 44 45 56 54 59 50 45 apter,D3DDEVTYPE
1ce0: 20 44 65 76 69 63 65 54 79 70 65 2c 44 33 44 46 DeviceType,D3DF
1cf0: 4f 52 4d 41 54 20 53 6f 75 72 63 65 46 6f 72 6d ORMAT SourceForm
1d00: 61 74 2c 44 33 44 46 4f 52 4d 41 54 20 54 61 72 at,D3DFORMAT Tar
1d10: 67 65 74 46 6f 72 6d 61 74 29 3b 0d 0a 20 20 20 getFormat);..
1d20: 20 48 52 45 53 55 4c 54 20 47 65 74 44 65 76 69 HRESULT GetDevi
1d30: 63 65 43 61 70 73 28 20 55 49 4e 54 20 41 64 61 ceCaps( UINT Ada
1d40: 70 74 65 72 2c 44 33 44 44 45 56 54 59 50 45 20 pter,D3DDEVTYPE
1d50: 44 65 76 69 63 65 54 79 70 65 2c 44 33 44 43 41 DeviceType,D3DCA
1d60: 50 53 39 2a 20 70 43 61 70 73 29 3b 0d 0a 20 20 PS9* pCaps);..
1d70: 20 20 48 4d 4f 4e 49 54 4f 52 20 47 65 74 41 64 HMONITOR GetAd
1d80: 61 70 74 65 72 4d 6f 6e 69 74 6f 72 28 55 49 4e apterMonitor(UIN
1d90: 54 20 41 64 61 70 74 65 72 29 3b 0d 0a 20 20 20 T Adapter);..
1da0: 20 48 52 45 53 55 4c 54 20 43 72 65 61 74 65 44 HRESULT CreateD
1db0: 65 76 69 63 65 28 20 55 49 4e 54 20 41 64 61 70 evice( UINT Adap
1dc0: 74 65 72 2c 44 33 44 44 45 56 54 59 50 45 20 44 ter,D3DDEVTYPE D
1dd0: 65 76 69 63 65 54 79 70 65 2c 48 57 4e 44 20 68 eviceType,HWND h
1de0: 46 6f 63 75 73 57 69 6e 64 6f 77 2c 44 57 4f 52 FocusWindow,DWOR
1df0: 44 20 42 65 68 61 76 69 6f 72 46 6c 61 67 73 2c D BehaviorFlags,
1e00: 44 33 44 50 52 45 53 45 4e 54 5f 50 41 52 41 4d D3DPRESENT_PARAM
1e10: 45 54 45 52 53 2a 20 70 50 72 65 73 65 6e 74 61 ETERS* pPresenta
1e20: 74 69 6f 6e 50 61 72 61 6d 65 74 65 72 73 2c 4c tionParameters,L
1e30: 50 44 49 52 45 43 54 33 44 44 45 56 49 43 45 39 PDIRECT3DDEVICE9
1e40: 2a 20 70 70 52 65 74 75 72 6e 65 64 44 65 76 69 * ppReturnedDevi
1e50: 63 65 49 6e 74 65 72 66 61 63 65 29 3b 0d 0a 2f ceInterface);../
1e60: 2a 0d 0a 20 20 20 20 64 65 62 75 67 20 7b 0d 0a *.. debug {..
1e70: 20 20 20 20 20 20 20 20 4c 50 43 57 53 54 52 20 LPCWSTR
1e80: 56 65 72 73 69 6f 6e 3b 0d 0a 20 20 20 20 7d 0d Version;.. }.
1e90: 0a 2a 2f 0d 0a 7d 0d 0a 61 6c 69 61 73 20 4c 50 .*/..}..alias LP
1ea0: 44 49 52 45 43 54 33 44 39 20 49 44 69 72 65 63 DIRECT3D9 IDirec
1eb0: 74 33 44 39 3b 0d 0a 0d 0a 69 6e 74 65 72 66 61 t3D9;....interfa
1ec0: 63 65 20 4c 50 44 49 52 45 43 54 33 44 44 45 56 ce LPDIRECT3DDEV
1ed0: 49 43 45 39 20 3a 20 49 55 6e 6b 6e 6f 77 6e 0d ICE9 : IUnknown.
1ee0: 0a 7b 0d 0a 20 20 20 20 48 52 45 53 55 4c 54 20 .{.. HRESULT
1ef0: 54 65 73 74 43 6f 6f 70 65 72 61 74 69 76 65 4c TestCooperativeL
1f00: 65 76 65 6c 28 29 3b 0d 0a 20 20 20 20 55 49 4e evel();.. UIN
1f10: 54 20 47 65 74 41 76 61 69 6c 61 62 6c 65 54 65 T GetAvailableTe
1f20: 78 74 75 72 65 4d 65 6d 28 29 3b 0d 0a 20 20 20 xtureMem();..
1f30: 20 48 52 45 53 55 4c 54 20 45 76 69 63 74 4d 61 HRESULT EvictMa
1f40: 6e 61 67 65 64 52 65 73 6f 75 72 63 65 73 28 29 nagedResources()
1f50: 3b 0d 0a 20 20 20 20 48 52 45 53 55 4c 54 20 47 ;.. HRESULT G
1f60: 65 74 44 69 72 65 63 74 33 44 28 20 4c 50 44 49 etDirect3D( LPDI
1f70: 52 45 43 54 33 44 39 2a 20 70 70 44 33 44 39 29 RECT3D9* ppD3D9)
1f80: 3b 0d 0a 20 20 20 20 48 52 45 53 55 4c 54 20 47 ;.. HRESULT G
1f90: 65 74 44 65 76 69 63 65 43 61 70 73 28 20 44 33 etDeviceCaps( D3
1fa0: 44 43 41 50 53 39 2a 20 70 43 61 70 73 29 3b 0d DCAPS9* pCaps);.
1fb0: 0a 20 20 20 20 48 52 45 53 55 4c 54 20 47 65 74 . HRESULT Get
1fc0: 44 69 73 70 6c 61 79 4d 6f 64 65 28 20 55 49 4e DisplayMode( UIN
1fd0: 54 20 69 53 77 61 70 43 68 61 69 6e 2c 44 33 44 T iSwapChain,D3D
1fe0: 44 49 53 50 4c 41 59 4d 4f 44 45 2a 20 70 4d 6f DISPLAYMODE* pMo
1ff0: 64 65 29 3b 0d 0a 20 20 20 20 48 52 45 53 55 4c de);.. HRESUL
2000: 54 20 47 65 74 43 72 65 61 74 69 6f 6e 50 61 72 T GetCreationPar
2010: 61 6d 65 74 65 72 73 28 20 44 33 44 44 45 56 49 ameters( D3DDEVI
2020: 43 45 5f 43 52 45 41 54 49 4f 4e 5f 50 41 52 41 CE_CREATION_PARA
2030: 4d 45 54 45 52 53 20 2a 70 50 61 72 61 6d 65 74 METERS *pParamet
2040: 65 72 73 29 3b 0d 0a 20 20 20 20 48 52 45 53 55 ers);.. HRESU
2050: 4c 54 20 53 65 74 43 75 72 73 6f 72 50 72 6f 70 LT SetCursorProp
2060: 65 72 74 69 65 73 28 20 55 49 4e 54 20 58 48 6f erties( UINT XHo
2070: 74 53 70 6f 74 2c 55 49 4e 54 20 59 48 6f 74 53 tSpot,UINT YHotS
2080: 70 6f 74 2c 4c 50 44 49 52 45 43 54 33 44 53 55 pot,LPDIRECT3DSU
2090: 52 46 41 43 45 39 20 70 43 75 72 73 6f 72 42 69 RFACE9 pCursorBi
20a0: 74 6d 61 70 29 3b 0d 0a 20 20 20 20 76 6f 69 64 tmap);.. void
20b0: 20 53 65 74 43 75 72 73 6f 72 50 6f 73 69 74 69 SetCursorPositi
20c0: 6f 6e 28 69 6e 74 20 58 2c 69 6e 74 20 59 2c 44 on(int X,int Y,D
20d0: 57 4f 52 44 20 46 6c 61 67 73 29 3b 0d 0a 20 20 WORD Flags);..
20e0: 20 20 42 4f 4f 4c 20 53 68 6f 77 43 75 72 73 6f BOOL ShowCurso
20f0: 72 28 42 4f 4f 4c 20 62 53 68 6f 77 29 3b 0d 0a r(BOOL bShow);..
2100: 20 20 20 20 48 52 45 53 55 4c 54 20 43 72 65 61 HRESULT Crea
2110: 74 65 41 64 64 69 74 69 6f 6e 61 6c 53 77 61 70 teAdditionalSwap
2120: 43 68 61 69 6e 28 20 44 33 44 50 52 45 53 45 4e Chain( D3DPRESEN
2130: 54 5f 50 41 52 41 4d 45 54 45 52 53 2a 20 70 50 T_PARAMETERS* pP
2140: 72 65 73 65 6e 74 61 74 69 6f 6e 50 61 72 61 6d resentationParam
2150: 65 74 65 72 73 2c 4c 50 44 49 52 45 43 54 33 44 eters,LPDIRECT3D
2160: 53 57 41 50 43 48 41 49 4e 39 2a 20 70 53 77 61 SWAPCHAIN9* pSwa
2170: 70 43 68 61 69 6e 29 3b 0d 0a 20 20 20 20 48 52 pChain);.. HR
2180: 45 53 55 4c 54 20 47 65 74 53 77 61 70 43 68 61 ESULT GetSwapCha
2190: 69 6e 28 20 55 49 4e 54 20 69 53 77 61 70 43 68 in( UINT iSwapCh
21a0: 61 69 6e 2c 4c 50 44 49 52 45 43 54 33 44 53 57 ain,LPDIRECT3DSW
21b0: 41 50 43 48 41 49 4e 39 2a 20 70 53 77 61 70 43 APCHAIN9* pSwapC
21c0: 68 61 69 6e 29 3b 0d 0a 20 20 20 20 55 49 4e 54 hain);.. UINT
21d0: 20 47 65 74 4e 75 6d 62 65 72 4f 66 53 77 61 70 GetNumberOfSwap
21e0: 43 68 61 69 6e 73 28 29 3b 0d 0a 20 20 20 20 48 Chains();.. H
21f0: 52 45 53 55 4c 54 20 52 65 73 65 74 28 20 44 33 RESULT Reset( D3
2200: 44 50 52 45 53 45 4e 54 5f 50 41 52 41 4d 45 54 DPRESENT_PARAMET
2210: 45 52 53 2a 20 70 50 72 65 73 65 6e 74 61 74 69 ERS* pPresentati
2220: 6f 6e 50 61 72 61 6d 65 74 65 72 73 29 3b 0d 0a onParameters);..
2230: 20 20 20 20 48 52 45 53 55 4c 54 20 50 72 65 73 HRESULT Pres
2240: 65 6e 74 28 52 45 43 54 2a 20 70 53 6f 75 72 63 ent(RECT* pSourc
2250: 65 52 65 63 74 2c 52 45 43 54 2a 20 70 44 65 73 eRect,RECT* pDes
2260: 74 52 65 63 74 2c 48 57 4e 44 20 68 44 65 73 74 tRect,HWND hDest
2270: 57 69 6e 64 6f 77 4f 76 65 72 72 69 64 65 2c 20 WindowOverride,
2280: 52 47 4e 44 41 54 41 2a 20 70 44 69 72 74 79 52 RGNDATA* pDirtyR
2290: 65 67 69 6f 6e 29 3b 0d 0a 20 20 20 20 48 52 45 egion);.. HRE
22a0: 53 55 4c 54 20 47 65 74 42 61 63 6b 42 75 66 66 SULT GetBackBuff
22b0: 65 72 28 20 55 49 4e 54 20 69 53 77 61 70 43 68 er( UINT iSwapCh
22c0: 61 69 6e 2c 55 49 4e 54 20 69 42 61 63 6b 42 75 ain,UINT iBackBu
22d0: 66 66 65 72 2c 44 33 44 42 41 43 4b 42 55 46 46 ffer,D3DBACKBUFF
22e0: 45 52 5f 54 59 50 45 20 54 79 70 65 2c 4c 50 44 ER_TYPE Type,LPD
22f0: 49 52 45 43 54 33 44 53 55 52 46 41 43 45 39 2a IRECT3DSURFACE9*
2300: 20 70 70 42 61 63 6b 42 75 66 66 65 72 29 3b 0d ppBackBuffer);.
2310: 0a 20 20 20 20 48 52 45 53 55 4c 54 20 47 65 74 . HRESULT Get
2320: 52 61 73 74 65 72 53 74 61 74 75 73 28 20 55 49 RasterStatus( UI
2330: 4e 54 20 69 53 77 61 70 43 68 61 69 6e 2c 44 33 NT iSwapChain,D3
2340: 44 52 41 53 54 45 52 5f 53 54 41 54 55 53 2a 20 DRASTER_STATUS*
2350: 70 52 61 73 74 65 72 53 74 61 74 75 73 29 3b 0d pRasterStatus);.
2360: 0a 20 20 20 20 48 52 45 53 55 4c 54 20 53 65 74 . HRESULT Set
2370: 44 69 61 6c 6f 67 42 6f 78 4d 6f 64 65 28 20 42 DialogBoxMode( B
2380: 4f 4f 4c 20 62 45 6e 61 62 6c 65 44 69 61 6c 6f OOL bEnableDialo
2390: 67 73 29 3b 0d 0a 20 20 20 20 76 6f 69 64 20 53 gs);.. void S
23a0: 65 74 47 61 6d 6d 61 52 61 6d 70 28 55 49 4e 54 etGammaRamp(UINT
23b0: 20 69 53 77 61 70 43 68 61 69 6e 2c 44 57 4f 52 iSwapChain,DWOR
23c0: 44 20 46 6c 61 67 73 2c 20 44 33 44 47 41 4d 4d D Flags, D3DGAMM
23d0: 41 52 41 4d 50 2a 20 70 52 61 6d 70 29 3b 0d 0a ARAMP* pRamp);..
23e0: 20 20 20 20 76 6f 69 64 20 47 65 74 47 61 6d 6d void GetGamm
23f0: 61 52 61 6d 70 28 55 49 4e 54 20 69 53 77 61 70 aRamp(UINT iSwap
2400: 43 68 61 69 6e 2c 44 33 44 47 41 4d 4d 41 52 41 Chain,D3DGAMMARA
2410: 4d 50 2a 20 70 52 61 6d 70 29 3b 0d 0a 20 20 20 MP* pRamp);..
2420: 20 48 52 45 53 55 4c 54 20 43 72 65 61 74 65 54 HRESULT CreateT
2430: 65 78 74 75 72 65 28 20 55 49 4e 54 20 57 69 64 exture( UINT Wid
2440: 74 68 2c 55 49 4e 54 20 48 65 69 67 68 74 2c 55 th,UINT Height,U
2450: 49 4e 54 20 4c 65 76 65 6c 73 2c 44 57 4f 52 44 INT Levels,DWORD
2460: 20 55 73 61 67 65 2c 44 33 44 46 4f 52 4d 41 54 Usage,D3DFORMAT
2470: 20 46 6f 72 6d 61 74 2c 44 33 44 50 4f 4f 4c 20 Format,D3DPOOL
2480: 50 6f 6f 6c 2c 4c 50 44 49 52 45 43 54 33 44 54 Pool,LPDIRECT3DT
2490: 45 58 54 55 52 45 39 2a 20 70 70 54 65 78 74 75 EXTURE9* ppTextu
24a0: 72 65 2c 48 41 4e 44 4c 45 2a 20 70 53 68 61 72 re,HANDLE* pShar
24b0: 65 64 48 61 6e 64 6c 65 29 3b 0d 0a 20 20 20 20 edHandle);..
24c0: 48 52 45 53 55 4c 54 20 43 72 65 61 74 65 56 6f HRESULT CreateVo
24d0: 6c 75 6d 65 54 65 78 74 75 72 65 28 20 55 49 4e lumeTexture( UIN
24e0: 54 20 57 69 64 74 68 2c 55 49 4e 54 20 48 65 69 T Width,UINT Hei
24f0: 67 68 74 2c 55 49 4e 54 20 44 65 70 74 68 2c 55 ght,UINT Depth,U
2500: 49 4e 54 20 4c 65 76 65 6c 73 2c 44 57 4f 52 44 INT Levels,DWORD
2510: 20 55 73 61 67 65 2c 44 33 44 46 4f 52 4d 41 54 Usage,D3DFORMAT
2520: 20 46 6f 72 6d 61 74 2c 44 33 44 50 4f 4f 4c 20 Format,D3DPOOL
2530: 50 6f 6f 6c 2c 4c 50 44 49 52 45 43 54 33 44 56 Pool,LPDIRECT3DV
2540: 4f 4c 55 4d 45 54 45 58 54 55 52 45 39 2a 20 70 OLUMETEXTURE9* p
2550: 70 56 6f 6c 75 6d 65 54 65 78 74 75 72 65 2c 48 pVolumeTexture,H
2560: 41 4e 44 4c 45 2a 20 70 53 68 61 72 65 64 48 61 ANDLE* pSharedHa
2570: 6e 64 6c 65 29 3b 0d 0a 20 20 20 20 48 52 45 53 ndle);.. HRES
2580: 55 4c 54 20 43 72 65 61 74 65 43 75 62 65 54 65 ULT CreateCubeTe
2590: 78 74 75 72 65 28 20 55 49 4e 54 20 45 64 67 65 xture( UINT Edge
25a0: 4c 65 6e 67 74 68 2c 55 49 4e 54 20 4c 65 76 65 Length,UINT Leve
25b0: 6c 73 2c 44 57 4f 52 44 20 55 73 61 67 65 2c 44 ls,DWORD Usage,D
25c0: 33 44 46 4f 52 4d 41 54 20 46 6f 72 6d 61 74 2c 3DFORMAT Format,
25d0: 44 33 44 50 4f 4f 4c 20 50 6f 6f 6c 2c 4c 50 44 D3DPOOL Pool,LPD
25e0: 49 52 45 43 54 33 44 43 55 42 45 54 45 58 54 55 IRECT3DCUBETEXTU
25f0: 52 45 39 2a 20 70 70 43 75 62 65 54 65 78 74 75 RE9* ppCubeTextu
2600: 72 65 2c 48 41 4e 44 4c 45 2a 20 70 53 68 61 72 re,HANDLE* pShar
2610: 65 64 48 61 6e 64 6c 65 29 3b 0d 0a 20 20 20 20 edHandle);..
2620: 48 52 45 53 55 4c 54 20 43 72 65 61 74 65 56 65 HRESULT CreateVe
2630: 72 74 65 78 42 75 66 66 65 72 28 20 55 49 4e 54 rtexBuffer( UINT
2640: 20 4c 65 6e 67 74 68 2c 44 57 4f 52 44 20 55 73 Length,DWORD Us
2650: 61 67 65 2c 44 57 4f 52 44 20 46 56 46 2c 44 33 age,DWORD FVF,D3
2660: 44 50 4f 4f 4c 20 50 6f 6f 6c 2c 4c 50 44 49 52 DPOOL Pool,LPDIR
2670: 45 43 54 33 44 56 45 52 54 45 58 42 55 46 46 45 ECT3DVERTEXBUFFE
2680: 52 39 2a 20 70 70 56 65 72 74 65 78 42 75 66 66 R9* ppVertexBuff
2690: 65 72 2c 48 41 4e 44 4c 45 2a 20 70 53 68 61 72 er,HANDLE* pShar
26a0: 65 64 48 61 6e 64 6c 65 29 3b 0d 0a 20 20 20 20 edHandle);..
26b0: 48 52 45 53 55 4c 54 20 43 72 65 61 74 65 49 6e HRESULT CreateIn
26c0: 64 65 78 42 75 66 66 65 72 28 20 55 49 4e 54 20 dexBuffer( UINT
26d0: 4c 65 6e 67 74 68 2c 44 57 4f 52 44 20 55 73 61 Length,DWORD Usa
26e0: 67 65 2c 44 33 44 46 4f 52 4d 41 54 20 46 6f 72 ge,D3DFORMAT For
26f0: 6d 61 74 2c 44 33 44 50 4f 4f 4c 20 50 6f 6f 6c mat,D3DPOOL Pool
2700: 2c 4c 50 44 49 52 45 43 54 33 44 49 4e 44 45 58 ,LPDIRECT3DINDEX
2710: 42 55 46 46 45 52 39 2a 20 70 70 49 6e 64 65 78 BUFFER9* ppIndex
2720: 42 75 66 66 65 72 2c 48 41 4e 44 4c 45 2a 20 70 Buffer,HANDLE* p
2730: 53 68 61 72 65 64 48 61 6e 64 6c 65 29 3b 0d 0a SharedHandle);..
2740: 20 20 20 20 48 52 45 53 55 4c 54 20 43 72 65 61 HRESULT Crea
2750: 74 65 52 65 6e 64 65 72 54 61 72 67 65 74 28 20 teRenderTarget(
2760: 55 49 4e 54 20 57 69 64 74 68 2c 55 49 4e 54 20 UINT Width,UINT
2770: 48 65 69 67 68 74 2c 44 33 44 46 4f 52 4d 41 54 Height,D3DFORMAT
2780: 20 46 6f 72 6d 61 74 2c 44 33 44 4d 55 4c 54 49 Format,D3DMULTI
2790: 53 41 4d 50 4c 45 5f 54 59 50 45 20 4d 75 6c 74 SAMPLE_TYPE Mult
27a0: 69 53 61 6d 70 6c 65 2c 44 57 4f 52 44 20 4d 75 iSample,DWORD Mu
27b0: 6c 74 69 73 61 6d 70 6c 65 51 75 61 6c 69 74 79 ltisampleQuality
27c0: 2c 42 4f 4f 4c 20 4c 6f 63 6b 61 62 6c 65 2c 4c ,BOOL Lockable,L
27d0: 50 44 49 52 45 43 54 33 44 53 55 52 46 41 43 45 PDIRECT3DSURFACE
27e0: 39 2a 20 70 70 53 75 72 66 61 63 65 2c 48 41 4e 9* ppSurface,HAN
27f0: 44 4c 45 2a 20 70 53 68 61 72 65 64 48 61 6e 64 DLE* pSharedHand
2800: 6c 65 29 3b 0d 0a 20 20 20 20 48 52 45 53 55 4c le);.. HRESUL
2810: 54 20 43 72 65 61 74 65 44 65 70 74 68 53 74 65 T CreateDepthSte
2820: 6e 63 69 6c 53 75 72 66 61 63 65 28 20 55 49 4e ncilSurface( UIN
2830: 54 20 57 69 64 74 68 2c 55 49 4e 54 20 48 65 69 T Width,UINT Hei
2840: 67 68 74 2c 44 33 44 46 4f 52 4d 41 54 20 46 6f ght,D3DFORMAT Fo
2850: 72 6d 61 74 2c 44 33 44 4d 55 4c 54 49 53 41 4d rmat,D3DMULTISAM
2860: 50 4c 45 5f 54 59 50 45 20 4d 75 6c 74 69 53 61 PLE_TYPE MultiSa
2870: 6d 70 6c 65 2c 44 57 4f 52 44 20 4d 75 6c 74 69 mple,DWORD Multi
2880: 73 61 6d 70 6c 65 51 75 61 6c 69 74 79 2c 42 4f sampleQuality,BO
2890: 4f 4c 20 44 69 73 63 61 72 64 2c 4c 50 44 49 52 OL Discard,LPDIR
28a0: 45 43 54 33 44 53 55 52 46 41 43 45 39 2a 20 70 ECT3DSURFACE9* p
28b0: 70 53 75 72 66 61 63 65 2c 48 41 4e 44 4c 45 2a pSurface,HANDLE*
28c0: 20 70 53 68 61 72 65 64 48 61 6e 64 6c 65 29 3b pSharedHandle);
28d0: 0d 0a 20 20 20 20 48 52 45 53 55 4c 54 20 55 70 .. HRESULT Up
28e0: 64 61 74 65 53 75 72 66 61 63 65 28 20 4c 50 44 dateSurface( LPD
28f0: 49 52 45 43 54 33 44 53 55 52 46 41 43 45 39 20 IRECT3DSURFACE9
2900: 70 53 6f 75 72 63 65 53 75 72 66 61 63 65 2c 20 pSourceSurface,
2910: 52 45 43 54 2a 20 70 53 6f 75 72 63 65 52 65 63 RECT* pSourceRec
2920: 74 2c 4c 50 44 49 52 45 43 54 33 44 53 55 52 46 t,LPDIRECT3DSURF
2930: 41 43 45 39 20 70 44 65 73 74 69 6e 61 74 69 6f ACE9 pDestinatio
2940: 6e 53 75 72 66 61 63 65 2c 20 50 4f 49 4e 54 2a nSurface, POINT*
2950: 20 70 44 65 73 74 50 6f 69 6e 74 29 3b 0d 0a 20 pDestPoint);..
2960: 20 20 20 48 52 45 53 55 4c 54 20 55 70 64 61 74 HRESULT Updat
2970: 65 54 65 78 74 75 72 65 28 20 4c 50 44 49 52 45 eTexture( LPDIRE
2980: 43 54 33 44 42 41 53 45 54 45 58 54 55 52 45 39 CT3DBASETEXTURE9
2990: 20 70 53 6f 75 72 63 65 54 65 78 74 75 72 65 2c pSourceTexture,
29a0: 4c 50 44 49 52 45 43 54 33 44 42 41 53 45 54 45 LPDIRECT3DBASETE
29b0: 58 54 55 52 45 39 20 70 44 65 73 74 69 6e 61 74 XTURE9 pDestinat
29c0: 69 6f 6e 54 65 78 74 75 72 65 29 3b 0d 0a 20 20 ionTexture);..
29d0: 20 20 48 52 45 53 55 4c 54 20 47 65 74 52 65 6e HRESULT GetRen
29e0: 64 65 72 54 61 72 67 65 74 44 61 74 61 28 20 4c derTargetData( L
29f0: 50 44 49 52 45 43 54 33 44 53 55 52 46 41 43 45 PDIRECT3DSURFACE
2a00: 39 20 70 52 65 6e 64 65 72 54 61 72 67 65 74 2c 9 pRenderTarget,
2a10: 4c 50 44 49 52 45 43 54 33 44 53 55 52 46 41 43 LPDIRECT3DSURFAC
2a20: 45 39 20 70 44 65 73 74 53 75 72 66 61 63 65 29 E9 pDestSurface)
2a30: 3b 0d 0a 20 20 20 20 48 52 45 53 55 4c 54 20 47 ;.. HRESULT G
2a40: 65 74 46 72 6f 6e 74 42 75 66 66 65 72 44 61 74 etFrontBufferDat
2a50: 61 28 20 55 49 4e 54 20 69 53 77 61 70 43 68 61 a( UINT iSwapCha
2a60: 69 6e 2c 4c 50 44 49 52 45 43 54 33 44 53 55 52 in,LPDIRECT3DSUR
2a70: 46 41 43 45 39 20 70 44 65 73 74 53 75 72 66 61 FACE9 pDestSurfa
2a80: 63 65 29 3b 0d 0a 20 20 20 20 48 52 45 53 55 4c ce);.. HRESUL
2a90: 54 20 53 74 72 65 74 63 68 52 65 63 74 28 20 4c T StretchRect( L
2aa0: 50 44 49 52 45 43 54 33 44 53 55 52 46 41 43 45 PDIRECT3DSURFACE
2ab0: 39 20 70 53 6f 75 72 63 65 53 75 72 66 61 63 65 9 pSourceSurface
2ac0: 2c 20 52 45 43 54 2a 20 70 53 6f 75 72 63 65 52 , RECT* pSourceR
2ad0: 65 63 74 2c 4c 50 44 49 52 45 43 54 33 44 53 55 ect,LPDIRECT3DSU
2ae0: 52 46 41 43 45 39 20 70 44 65 73 74 53 75 72 66 RFACE9 pDestSurf
2af0: 61 63 65 2c 20 52 45 43 54 2a 20 70 44 65 73 74 ace, RECT* pDest
2b00: 52 65 63 74 2c 44 33 44 54 45 58 54 55 52 45 46 Rect,D3DTEXTUREF
2b10: 49 4c 54 45 52 54 59 50 45 20 46 69 6c 74 65 72 ILTERTYPE Filter
2b20: 29 3b 0d 0a 20 20 20 20 48 52 45 53 55 4c 54 20 );.. HRESULT
2b30: 43 6f 6c 6f 72 46 69 6c 6c 28 20 4c 50 44 49 52 ColorFill( LPDIR
2b40: 45 43 54 33 44 53 55 52 46 41 43 45 39 20 70 53 ECT3DSURFACE9 pS
2b50: 75 72 66 61 63 65 2c 20 52 45 43 54 2a 20 70 52 urface, RECT* pR
2b60: 65 63 74 2c 44 33 44 43 4f 4c 4f 52 20 63 6f 6c ect,D3DCOLOR col
2b70: 6f 72 29 3b 0d 0a 20 20 20 20 48 52 45 53 55 4c or);.. HRESUL
2b80: 54 20 43 72 65 61 74 65 4f 66 66 73 63 72 65 65 T CreateOffscree
2b90: 6e 50 6c 61 69 6e 53 75 72 66 61 63 65 28 20 55 nPlainSurface( U
2ba0: 49 4e 54 20 57 69 64 74 68 2c 55 49 4e 54 20 48 INT Width,UINT H
2bb0: 65 69 67 68 74 2c 44 33 44 46 4f 52 4d 41 54 20 eight,D3DFORMAT
2bc0: 46 6f 72 6d 61 74 2c 44 33 44 50 4f 4f 4c 20 50 Format,D3DPOOL P
2bd0: 6f 6f 6c 2c 4c 50 44 49 52 45 43 54 33 44 53 55 ool,LPDIRECT3DSU
2be0: 52 46 41 43 45 39 2a 20 70 70 53 75 72 66 61 63 RFACE9* ppSurfac
2bf0: 65 2c 48 41 4e 44 4c 45 2a 20 70 53 68 61 72 65 e,HANDLE* pShare
2c00: 64 48 61 6e 64 6c 65 29 3b 0d 0a 20 20 20 20 48 dHandle);.. H
2c10: 52 45 53 55 4c 54 20 53 65 74 52 65 6e 64 65 72 RESULT SetRender
2c20: 54 61 72 67 65 74 28 20 44 57 4f 52 44 20 52 65 Target( DWORD Re
2c30: 6e 64 65 72 54 61 72 67 65 74 49 6e 64 65 78 2c nderTargetIndex,
2c40: 4c 50 44 49 52 45 43 54 33 44 53 55 52 46 41 43 LPDIRECT3DSURFAC
2c50: 45 39 20 70 52 65 6e 64 65 72 54 61 72 67 65 74 E9 pRenderTarget
2c60: 29 3b 0d 0a 20 20 20 20 48 52 45 53 55 4c 54 20 );.. HRESULT
2c70: 47 65 74 52 65 6e 64 65 72 54 61 72 67 65 74 28 GetRenderTarget(
2c80: 20 44 57 4f 52 44 20 52 65 6e 64 65 72 54 61 72 DWORD RenderTar
2c90: 67 65 74 49 6e 64 65 78 2c 4c 50 44 49 52 45 43 getIndex,LPDIREC
2ca0: 54 33 44 53 55 52 46 41 43 45 39 2a 20 70 70 52 T3DSURFACE9* ppR
2cb0: 65 6e 64 65 72 54 61 72 67 65 74 29 3b 0d 0a 20 enderTarget);..
2cc0: 20 20 20 48 52 45 53 55 4c 54 20 53 65 74 44 65 HRESULT SetDe
2cd0: 70 74 68 53 74 65 6e 63 69 6c 53 75 72 66 61 63 pthStencilSurfac
2ce0: 65 28 20 4c 50 44 49 52 45 43 54 33 44 53 55 52 e( LPDIRECT3DSUR
2cf0: 46 41 43 45 39 20 70 4e 65 77 5a 53 74 65 6e 63 FACE9 pNewZStenc
2d00: 69 6c 29 3b 0d 0a 20 20 20 20 48 52 45 53 55 4c il);.. HRESUL
2d10: 54 20 47 65 74 44 65 70 74 68 53 74 65 6e 63 69 T GetDepthStenci
2d20: 6c 53 75 72 66 61 63 65 28 20 4c 50 44 49 52 45 lSurface( LPDIRE
2d30: 43 54 33 44 53 55 52 46 41 43 45 39 2a 20 70 70 CT3DSURFACE9* pp
2d40: 5a 53 74 65 6e 63 69 6c 53 75 72 66 61 63 65 29 ZStencilSurface)
2d50: 3b 0d 0a 20 20 20 20 48 52 45 53 55 4c 54 20 42 ;.. HRESULT B
2d60: 65 67 69 6e 53 63 65 6e 65 28 29 3b 0d 0a 20 20 eginScene();..
2d70: 20 20 48 52 45 53 55 4c 54 20 45 6e 64 53 63 65 HRESULT EndSce
2d80: 6e 65 28 29 3b 0d 0a 20 20 20 20 48 52 45 53 55 ne();.. HRESU
2d90: 4c 54 20 43 6c 65 61 72 28 20 44 57 4f 52 44 20 LT Clear( DWORD
2da0: 43 6f 75 6e 74 2c 20 44 33 44 52 45 43 54 2a 20 Count, D3DRECT*
2db0: 70 52 65 63 74 73 2c 44 57 4f 52 44 20 46 6c 61 pRects,DWORD Fla
2dc0: 67 73 2c 44 33 44 43 4f 4c 4f 52 20 43 6f 6c 6f gs,D3DCOLOR Colo
2dd0: 72 2c 66 6c 6f 61 74 20 5a 2c 44 57 4f 52 44 20 r,float Z,DWORD
2de0: 53 74 65 6e 63 69 6c 29 3b 0d 0a 20 20 20 20 48 Stencil);.. H
2df0: 52 45 53 55 4c 54 20 53 65 74 54 72 61 6e 73 66 RESULT SetTransf
2e00: 6f 72 6d 28 20 44 33 44 54 52 41 4e 53 46 4f 52 orm( D3DTRANSFOR
2e10: 4d 53 54 41 54 45 54 59 50 45 20 53 74 61 74 65 MSTATETYPE State
2e20: 2c 20 44 33 44 4d 41 54 52 49 58 2a 20 70 4d 61 , D3DMATRIX* pMa
2e30: 74 72 69 78 29 3b 0d 0a 20 20 20 20 48 52 45 53 trix);.. HRES
2e40: 55 4c 54 20 47 65 74 54 72 61 6e 73 66 6f 72 6d ULT GetTransform
2e50: 28 20 44 33 44 54 52 41 4e 53 46 4f 52 4d 53 54 ( D3DTRANSFORMST
2e60: 41 54 45 54 59 50 45 20 53 74 61 74 65 2c 44 33 ATETYPE State,D3
2e70: 44 4d 41 54 52 49 58 2a 20 70 4d 61 74 72 69 78 DMATRIX* pMatrix
2e80: 29 3b 0d 0a 20 20 20 20 48 52 45 53 55 4c 54 20 );.. HRESULT
2e90: 4d 75 6c 74 69 70 6c 79 54 72 61 6e 73 66 6f 72 MultiplyTransfor
2ea0: 6d 28 20 44 33 44 54 52 41 4e 53 46 4f 52 4d 53 m( D3DTRANSFORMS
2eb0: 54 41 54 45 54 59 50 45 2c 20 44 33 44 4d 41 54 TATETYPE, D3DMAT
2ec0: 52 49 58 2a 29 3b 0d 0a 20 20 20 20 48 52 45 53 RIX*);.. HRES
2ed0: 55 4c 54 20 53 65 74 56 69 65 77 70 6f 72 74 28 ULT SetViewport(
2ee0: 20 44 33 44 56 49 45 57 50 4f 52 54 39 2a 20 70 D3DVIEWPORT9* p
2ef0: 56 69 65 77 70 6f 72 74 29 3b 0d 0a 20 20 20 20 Viewport);..
2f00: 48 52 45 53 55 4c 54 20 47 65 74 56 69 65 77 70 HRESULT GetViewp
2f10: 6f 72 74 28 20 44 33 44 56 49 45 57 50 4f 52 54 ort( D3DVIEWPORT
2f20: 39 2a 20 70 56 69 65 77 70 6f 72 74 29 3b 0d 0a 9* pViewport);..
2f30: 20 20 20 20 48 52 45 53 55 4c 54 20 53 65 74 4d HRESULT SetM
2f40: 61 74 65 72 69 61 6c 28 20 44 33 44 4d 41 54 45 aterial( D3DMATE
2f50: 52 49 41 4c 39 2a 20 70 4d 61 74 65 72 69 61 6c RIAL9* pMaterial
2f60: 29 3b 0d 0a 20 20 20 20 48 52 45 53 55 4c 54 20 );.. HRESULT
2f70: 47 65 74 4d 61 74 65 72 69 61 6c 28 20 44 33 44 GetMaterial( D3D
2f80: 4d 41 54 45 52 49 41 4c 39 2a 20 70 4d 61 74 65 MATERIAL9* pMate
2f90: 72 69 61 6c 29 3b 0d 0a 20 20 20 20 48 52 45 53 rial);.. HRES
2fa0: 55 4c 54 20 53 65 74 4c 69 67 68 74 28 20 44 57 ULT SetLight( DW
2fb0: 4f 52 44 20 49 6e 64 65 78 2c 20 44 33 44 4c 49 ORD Index, D3DLI
2fc0: 47 48 54 39 2a 29 3b 0d 0a 20 20 20 20 48 52 45 GHT9*);.. HRE
2fd0: 53 55 4c 54 20 47 65 74 4c 69 67 68 74 28 20 44 SULT GetLight( D
2fe0: 57 4f 52 44 20 49 6e 64 65 78 2c 44 33 44 4c 49 WORD Index,D3DLI
2ff0: 47 48 54 39 2a 29 3b 0d 0a 20 20 20 20 48 52 45 GHT9*);.. HRE
3000: 53 55 4c 54 20 4c 69 67 68 74 45 6e 61 62 6c 65 SULT LightEnable
3010: 28 20 44 57 4f 52 44 20 49 6e 64 65 78 2c 42 4f ( DWORD Index,BO
3020: 4f 4c 20 45 6e 61 62 6c 65 29 3b 0d 0a 20 20 20 OL Enable);..
3030: 20 48 52 45 53 55 4c 54 20 47 65 74 4c 69 67 68 HRESULT GetLigh
3040: 74 45 6e 61 62 6c 65 28 20 44 57 4f 52 44 20 49 tEnable( DWORD I
3050: 6e 64 65 78 2c 42 4f 4f 4c 2a 20 70 45 6e 61 62 ndex,BOOL* pEnab
3060: 6c 65 29 3b 0d 0a 20 20 20 20 48 52 45 53 55 4c le);.. HRESUL
3070: 54 20 53 65 74 43 6c 69 70 50 6c 61 6e 65 28 20 T SetClipPlane(
3080: 44 57 4f 52 44 20 49 6e 64 65 78 2c 20 66 6c 6f DWORD Index, flo
3090: 61 74 2a 20 70 50 6c 61 6e 65 29 3b 0d 0a 20 20 at* pPlane);..
30a0: 20 20 48 52 45 53 55 4c 54 20 47 65 74 43 6c 69 HRESULT GetCli
30b0: 70 50 6c 61 6e 65 28 20 44 57 4f 52 44 20 49 6e pPlane( DWORD In
30c0: 64 65 78 2c 66 6c 6f 61 74 2a 20 70 50 6c 61 6e dex,float* pPlan
30d0: 65 29 3b 0d 0a 20 20 20 20 48 52 45 53 55 4c 54 e);.. HRESULT
30e0: 20 53 65 74 52 65 6e 64 65 72 53 74 61 74 65 28 SetRenderState(
30f0: 20 44 33 44 52 45 4e 44 45 52 53 54 41 54 45 54 D3DRENDERSTATET
3100: 59 50 45 20 53 74 61 74 65 2c 44 57 4f 52 44 20 YPE State,DWORD
3110: 56 61 6c 75 65 29 3b 0d 0a 20 20 20 20 48 52 45 Value);.. HRE
3120: 53 55 4c 54 20 47 65 74 52 65 6e 64 65 72 53 74 SULT GetRenderSt
3130: 61 74 65 28 20 44 33 44 52 45 4e 44 45 52 53 54 ate( D3DRENDERST
3140: 41 54 45 54 59 50 45 20 53 74 61 74 65 2c 44 57 ATETYPE State,DW
3150: 4f 52 44 2a 20 70 56 61 6c 75 65 29 3b 0d 0a 20 ORD* pValue);..
3160: 20 20 20 48 52 45 53 55 4c 54 20 43 72 65 61 74 HRESULT Creat
3170: 65 53 74 61 74 65 42 6c 6f 63 6b 28 20 44 33 44 eStateBlock( D3D
3180: 53 54 41 54 45 42 4c 4f 43 4b 54 59 50 45 20 54 STATEBLOCKTYPE T
3190: 79 70 65 2c 4c 50 44 49 52 45 43 54 33 44 53 54 ype,LPDIRECT3DST
31a0: 41 54 45 42 4c 4f 43 4b 39 2a 20 70 70 53 42 29 ATEBLOCK9* ppSB)
31b0: 3b 0d 0a 20 20 20 20 48 52 45 53 55 4c 54 20 42 ;.. HRESULT B
31c0: 65 67 69 6e 53 74 61 74 65 42 6c 6f 63 6b 28 29 eginStateBlock()
31d0: 3b 0d 0a 20 20 20 20 48 52 45 53 55 4c 54 20 45 ;.. HRESULT E
31e0: 6e 64 53 74 61 74 65 42 6c 6f 63 6b 28 20 4c 50 ndStateBlock( LP
31f0: 44 49 52 45 43 54 33 44 53 54 41 54 45 42 4c 4f DIRECT3DSTATEBLO
3200: 43 4b 39 2a 20 70 70 53 42 29 3b 0d 0a 20 20 20 CK9* ppSB);..
3210: 20 48 52 45 53 55 4c 54 20 53 65 74 43 6c 69 70 HRESULT SetClip
3220: 53 74 61 74 75 73 28 20 44 33 44 43 4c 49 50 53 Status( D3DCLIPS
3230: 54 41 54 55 53 39 2a 20 70 43 6c 69 70 53 74 61 TATUS9* pClipSta
3240: 74 75 73 29 3b 0d 0a 20 20 20 20 48 52 45 53 55 tus);.. HRESU
3250: 4c 54 20 47 65 74 43 6c 69 70 53 74 61 74 75 73 LT GetClipStatus
3260: 28 20 44 33 44 43 4c 49 50 53 54 41 54 55 53 39 ( D3DCLIPSTATUS9
3270: 2a 20 70 43 6c 69 70 53 74 61 74 75 73 29 3b 0d * pClipStatus);.
3280: 0a 20 20 20 20 48 52 45 53 55 4c 54 20 47 65 74 . HRESULT Get
3290: 54 65 78 74 75 72 65 28 20 44 57 4f 52 44 20 53 Texture( DWORD S
32a0: 74 61 67 65 2c 4c 50 44 49 52 45 43 54 33 44 42 tage,LPDIRECT3DB
32b0: 41 53 45 54 45 58 54 55 52 45 39 2a 20 70 70 54 ASETEXTURE9* ppT
32c0: 65 78 74 75 72 65 29 3b 0d 0a 20 20 20 20 48 52 exture);.. HR
32d0: 45 53 55 4c 54 20 53 65 74 54 65 78 74 75 72 65 ESULT SetTexture
32e0: 28 20 44 57 4f 52 44 20 53 74 61 67 65 2c 4c 50 ( DWORD Stage,LP
32f0: 44 49 52 45 43 54 33 44 42 41 53 45 54 45 58 54 DIRECT3DBASETEXT
3300: 55 52 45 39 20 70 54 65 78 74 75 72 65 29 3b 0d URE9 pTexture);.
3310: 0a 20 20 20 20 48 52 45 53 55 4c 54 20 47 65 74 . HRESULT Get
3320: 54 65 78 74 75 72 65 53 74 61 67 65 53 74 61 74 TextureStageStat
3330: 65 28 20 44 57 4f 52 44 20 53 74 61 67 65 2c 44 e( DWORD Stage,D
3340: 33 44 54 45 58 54 55 52 45 53 54 41 47 45 53 54 3DTEXTURESTAGEST
3350: 41 54 45 54 59 50 45 20 54 79 70 65 2c 44 57 4f ATETYPE Type,DWO
3360: 52 44 2a 20 70 56 61 6c 75 65 29 3b 0d 0a 20 20 RD* pValue);..
3370: 20 20 48 52 45 53 55 4c 54 20 53 65 74 54 65 78 HRESULT SetTex
3380: 74 75 72 65 53 74 61 67 65 53 74 61 74 65 28 20 tureStageState(
3390: 44 57 4f 52 44 20 53 74 61 67 65 2c 44 33 44 54 DWORD Stage,D3DT
33a0: 45 58 54 55 52 45 53 54 41 47 45 53 54 41 54 45 EXTURESTAGESTATE
33b0: 54 59 50 45 20 54 79 70 65 2c 44 57 4f 52 44 20 TYPE Type,DWORD
33c0: 56 61 6c 75 65 29 3b 0d 0a 20 20 20 20 48 52 45 Value);.. HRE
33d0: 53 55 4c 54 20 47 65 74 53 61 6d 70 6c 65 72 53 SULT GetSamplerS
33e0: 74 61 74 65 28 20 44 57 4f 52 44 20 53 61 6d 70 tate( DWORD Samp
33f0: 6c 65 72 2c 44 33 44 53 41 4d 50 4c 45 52 53 54 ler,D3DSAMPLERST
3400: 41 54 45 54 59 50 45 20 54 79 70 65 2c 44 57 4f ATETYPE Type,DWO
3410: 52 44 2a 20 70 56 61 6c 75 65 29 3b 0d 0a 20 20 RD* pValue);..
3420: 20 20 48 52 45 53 55 4c 54 20 53 65 74 53 61 6d HRESULT SetSam
3430: 70 6c 65 72 53 74 61 74 65 28 20 44 57 4f 52 44 plerState( DWORD
3440: 20 53 61 6d 70 6c 65 72 2c 44 33 44 53 41 4d 50 Sampler,D3DSAMP
3450: 4c 45 52 53 54 41 54 45 54 59 50 45 20 54 79 70 LERSTATETYPE Typ
3460: 65 2c 44 57 4f 52 44 20 56 61 6c 75 65 29 3b 0d e,DWORD Value);.
3470: 0a 20 20 20 20 48 52 45 53 55 4c 54 20 56 61 6c . HRESULT Val
3480: 69 64 61 74 65 44 65 76 69 63 65 28 20 44 57 4f idateDevice( DWO
3490: 52 44 2a 20 70 4e 75 6d 50 61 73 73 65 73 29 3b RD* pNumPasses);
34a0: 0d 0a 20 20 20 20 48 52 45 53 55 4c 54 20 53 65 .. HRESULT Se
34b0: 74 50 61 6c 65 74 74 65 45 6e 74 72 69 65 73 28 tPaletteEntries(
34c0: 20 55 49 4e 54 20 50 61 6c 65 74 74 65 4e 75 6d UINT PaletteNum
34d0: 62 65 72 2c 20 50 41 4c 45 54 54 45 45 4e 54 52 ber, PALETTEENTR
34e0: 59 2a 20 70 45 6e 74 72 69 65 73 29 3b 0d 0a 20 Y* pEntries);..
34f0: 20 20 20 48 52 45 53 55 4c 54 20 47 65 74 50 61 HRESULT GetPa
3500: 6c 65 74 74 65 45 6e 74 72 69 65 73 28 20 55 49 letteEntries( UI
3510: 4e 54 20 50 61 6c 65 74 74 65 4e 75 6d 62 65 72 NT PaletteNumber
3520: 2c 50 41 4c 45 54 54 45 45 4e 54 52 59 2a 20 70 ,PALETTEENTRY* p
3530: 45 6e 74 72 69 65 73 29 3b 0d 0a 20 20 20 20 48 Entries);.. H
3540: 52 45 53 55 4c 54 20 53 65 74 43 75 72 72 65 6e RESULT SetCurren
3550: 74 54 65 78 74 75 72 65 50 61 6c 65 74 74 65 28 tTexturePalette(
3560: 20 55 49 4e 54 20 50 61 6c 65 74 74 65 4e 75 6d UINT PaletteNum
3570: 62 65 72 29 3b 0d 0a 20 20 20 20 48 52 45 53 55 ber);.. HRESU
3580: 4c 54 20 47 65 74 43 75 72 72 65 6e 74 54 65 78 LT GetCurrentTex
3590: 74 75 72 65 50 61 6c 65 74 74 65 28 20 55 49 4e turePalette( UIN
35a0: 54 20 2a 50 61 6c 65 74 74 65 4e 75 6d 62 65 72 T *PaletteNumber
35b0: 29 3b 0d 0a 20 20 20 20 48 52 45 53 55 4c 54 20 );.. HRESULT
35c0: 53 65 74 53 63 69 73 73 6f 72 52 65 63 74 28 20 SetScissorRect(
35d0: 52 45 43 54 2a 20 70 52 65 63 74 29 3b 0d 0a 20 RECT* pRect);..
35e0: 20 20 20 48 52 45 53 55 4c 54 20 47 65 74 53 63 HRESULT GetSc
35f0: 69 73 73 6f 72 52 65 63 74 28 20 52 45 43 54 2a issorRect( RECT*
3600: 20 70 52 65 63 74 29 3b 0d 0a 20 20 20 20 48 52 pRect);.. HR
3610: 45 53 55 4c 54 20 53 65 74 53 6f 66 74 77 61 72 ESULT SetSoftwar
3620: 65 56 65 72 74 65 78 50 72 6f 63 65 73 73 69 6e eVertexProcessin
3630: 67 28 20 42 4f 4f 4c 20 62 53 6f 66 74 77 61 72 g( BOOL bSoftwar
3640: 65 29 3b 0d 0a 20 20 20 20 42 4f 4f 4c 20 47 65 e);.. BOOL Ge
3650: 74 53 6f 66 74 77 61 72 65 56 65 72 74 65 78 50 tSoftwareVertexP
3660: 72 6f 63 65 73 73 69 6e 67 28 29 3b 0d 0a 20 20 rocessing();..
3670: 20 20 48 52 45 53 55 4c 54 20 53 65 74 4e 50 61 HRESULT SetNPa
3680: 74 63 68 4d 6f 64 65 28 20 66 6c 6f 61 74 20 6e tchMode( float n
3690: 53 65 67 6d 65 6e 74 73 29 3b 0d 0a 20 20 20 20 Segments);..
36a0: 66 6c 6f 61 74 20 47 65 74 4e 50 61 74 63 68 4d float GetNPatchM
36b0: 6f 64 65 28 29 3b 0d 0a 20 20 20 20 48 52 45 53 ode();.. HRES
36c0: 55 4c 54 20 44 72 61 77 50 72 69 6d 69 74 69 76 ULT DrawPrimitiv
36d0: 65 28 20 44 33 44 50 52 49 4d 49 54 49 56 45 54 e( D3DPRIMITIVET
36e0: 59 50 45 20 50 72 69 6d 69 74 69 76 65 54 79 70 YPE PrimitiveTyp
36f0: 65 2c 55 49 4e 54 20 53 74 61 72 74 56 65 72 74 e,UINT StartVert
3700: 65 78 2c 55 49 4e 54 20 50 72 69 6d 69 74 69 76 ex,UINT Primitiv
3710: 65 43 6f 75 6e 74 29 3b 0d 0a 20 20 20 20 48 52 eCount);.. HR
3720: 45 53 55 4c 54 20 44 72 61 77 49 6e 64 65 78 65 ESULT DrawIndexe
3730: 64 50 72 69 6d 69 74 69 76 65 28 20 44 33 44 50 dPrimitive( D3DP
3740: 52 49 4d 49 54 49 56 45 54 59 50 45 2c 49 4e 54 RIMITIVETYPE,INT
3750: 20 42 61 73 65 56 65 72 74 65 78 49 6e 64 65 78 BaseVertexIndex
3760: 2c 55 49 4e 54 20 4d 69 6e 56 65 72 74 65 78 49 ,UINT MinVertexI
3770: 6e 64 65 78 2c 55 49 4e 54 20 4e 75 6d 56 65 72 ndex,UINT NumVer
3780: 74 69 63 65 73 2c 55 49 4e 54 20 73 74 61 72 74 tices,UINT start
3790: 49 6e 64 65 78 2c 55 49 4e 54 20 70 72 69 6d 43 Index,UINT primC
37a0: 6f 75 6e 74 29 3b 0d 0a 20 20 20 20 48 52 45 53 ount);.. HRES
37b0: 55 4c 54 20 44 72 61 77 50 72 69 6d 69 74 69 76 ULT DrawPrimitiv
37c0: 65 55 50 28 20 44 33 44 50 52 49 4d 49 54 49 56 eUP( D3DPRIMITIV
37d0: 45 54 59 50 45 20 50 72 69 6d 69 74 69 76 65 54 ETYPE PrimitiveT
37e0: 79 70 65 2c 55 49 4e 54 20 50 72 69 6d 69 74 69 ype,UINT Primiti
37f0: 76 65 43 6f 75 6e 74 2c 20 76 6f 69 64 2a 20 70 veCount, void* p
3800: 56 65 72 74 65 78 53 74 72 65 61 6d 5a 65 72 6f VertexStreamZero
3810: 44 61 74 61 2c 55 49 4e 54 20 56 65 72 74 65 78 Data,UINT Vertex
3820: 53 74 72 65 61 6d 5a 65 72 6f 53 74 72 69 64 65 StreamZeroStride
3830: 29 3b 0d 0a 20 20 20 20 48 52 45 53 55 4c 54 20 );.. HRESULT
3840: 44 72 61 77 49 6e 64 65 78 65 64 50 72 69 6d 69 DrawIndexedPrimi
3850: 74 69 76 65 55 50 28 20 44 33 44 50 52 49 4d 49 tiveUP( D3DPRIMI
3860: 54 49 56 45 54 59 50 45 20 50 72 69 6d 69 74 69 TIVETYPE Primiti
3870: 76 65 54 79 70 65 2c 55 49 4e 54 20 4d 69 6e 56 veType,UINT MinV
3880: 65 72 74 65 78 49 6e 64 65 78 2c 55 49 4e 54 20 ertexIndex,UINT
3890: 4e 75 6d 56 65 72 74 69 63 65 73 2c 55 49 4e 54 NumVertices,UINT
38a0: 20 50 72 69 6d 69 74 69 76 65 43 6f 75 6e 74 2c PrimitiveCount,
38b0: 20 76 6f 69 64 2a 20 70 49 6e 64 65 78 44 61 74 void* pIndexDat
38c0: 61 2c 44 33 44 46 4f 52 4d 41 54 20 49 6e 64 65 a,D3DFORMAT Inde
38d0: 78 44 61 74 61 46 6f 72 6d 61 74 2c 20 76 6f 69 xDataFormat, voi
38e0: 64 2a 20 70 56 65 72 74 65 78 53 74 72 65 61 6d d* pVertexStream
38f0: 5a 65 72 6f 44 61 74 61 2c 55 49 4e 54 20 56 65 ZeroData,UINT Ve
3900: 72 74 65 78 53 74 72 65 61 6d 5a 65 72 6f 53 74 rtexStreamZeroSt
3910: 72 69 64 65 29 3b 0d 0a 20 20 20 20 48 52 45 53 ride);.. HRES
3920: 55 4c 54 20 50 72 6f 63 65 73 73 56 65 72 74 69 ULT ProcessVerti
3930: 63 65 73 28 20 55 49 4e 54 20 53 72 63 53 74 61 ces( UINT SrcSta
3940: 72 74 49 6e 64 65 78 2c 55 49 4e 54 20 44 65 73 rtIndex,UINT Des
3950: 74 49 6e 64 65 78 2c 55 49 4e 54 20 56 65 72 74 tIndex,UINT Vert
3960: 65 78 43 6f 75 6e 74 2c 4c 50 44 49 52 45 43 54 exCount,LPDIRECT
3970: 33 44 56 45 52 54 45 58 42 55 46 46 45 52 39 20 3DVERTEXBUFFER9
3980: 70 44 65 73 74 42 75 66 66 65 72 2c 4c 50 44 49 pDestBuffer,LPDI
3990: 52 45 43 54 33 44 56 45 52 54 45 58 44 45 43 4c RECT3DVERTEXDECL
39a0: 41 52 41 54 49 4f 4e 39 20 70 56 65 72 74 65 78 ARATION9 pVertex
39b0: 44 65 63 6c 2c 44 57 4f 52 44 20 46 6c 61 67 73 Decl,DWORD Flags
39c0: 29 3b 0d 0a 20 20 20 20 48 52 45 53 55 4c 54 20 );.. HRESULT
39d0: 43 72 65 61 74 65 56 65 72 74 65 78 44 65 63 6c CreateVertexDecl
39e0: 61 72 61 74 69 6f 6e 28 20 44 33 44 56 45 52 54 aration( D3DVERT
39f0: 45 58 45 4c 45 4d 45 4e 54 39 2a 20 70 56 65 72 EXELEMENT9* pVer
3a00: 74 65 78 45 6c 65 6d 65 6e 74 73 2c 4c 50 44 49 texElements,LPDI
3a10: 52 45 43 54 33 44 56 45 52 54 45 58 44 45 43 4c RECT3DVERTEXDECL
3a20: 41 52 41 54 49 4f 4e 39 2a 20 70 70 44 65 63 6c ARATION9* ppDecl
3a30: 29 3b 0d 0a 20 20 20 20 48 52 45 53 55 4c 54 20 );.. HRESULT
3a40: 53 65 74 56 65 72 74 65 78 44 65 63 6c 61 72 61 SetVertexDeclara
3a50: 74 69 6f 6e 28 4c 50 44 49 52 45 43 54 33 44 56 tion(LPDIRECT3DV
3a60: 45 52 54 45 58 44 45 43 4c 41 52 41 54 49 4f 4e ERTEXDECLARATION
3a70: 39 20 70 44 65 63 6c 29 3b 0d 0a 20 20 20 20 48 9 pDecl);.. H
3a80: 52 45 53 55 4c 54 20 47 65 74 56 65 72 74 65 78 RESULT GetVertex
3a90: 44 65 63 6c 61 72 61 74 69 6f 6e 28 4c 50 44 49 Declaration(LPDI
3aa0: 52 45 43 54 33 44 56 45 52 54 45 58 44 45 43 4c RECT3DVERTEXDECL
3ab0: 41 52 41 54 49 4f 4e 39 2a 20 70 70 44 65 63 6c ARATION9* ppDecl
3ac0: 29 3b 0d 0a 20 20 20 20 48 52 45 53 55 4c 54 20 );.. HRESULT
3ad0: 53 65 74 46 56 46 28 20 44 57 4f 52 44 20 46 56 SetFVF( DWORD FV
3ae0: 46 29 3b 0d 0a 20 20 20 20 48 52 45 53 55 4c 54 F);.. HRESULT
3af0: 20 47 65 74 46 56 46 28 20 44 57 4f 52 44 2a 20 GetFVF( DWORD*
3b00: 70 46 56 46 29 3b 0d 0a 20 20 20 20 48 52 45 53 pFVF);.. HRES
3b10: 55 4c 54 20 43 72 65 61 74 65 56 65 72 74 65 78 ULT CreateVertex
3b20: 53 68 61 64 65 72 28 20 44 57 4f 52 44 2a 20 70 Shader( DWORD* p
3b30: 46 75 6e 63 74 69 6f 6e 2c 4c 50 44 49 52 45 43 Function,LPDIREC
3b40: 54 33 44 56 45 52 54 45 58 53 48 41 44 45 52 39 T3DVERTEXSHADER9
3b50: 2a 20 70 70 53 68 61 64 65 72 29 3b 0d 0a 20 20 * ppShader);..
3b60: 20 20 48 52 45 53 55 4c 54 20 53 65 74 56 65 72 HRESULT SetVer
3b70: 74 65 78 53 68 61 64 65 72 28 20 4c 50 44 49 52 texShader( LPDIR
3b80: 45 43 54 33 44 56 45 52 54 45 58 53 48 41 44 45 ECT3DVERTEXSHADE
3b90: 52 39 20 70 53 68 61 64 65 72 29 3b 0d 0a 20 20 R9 pShader);..
3ba0: 20 20 48 52 45 53 55 4c 54 20 47 65 74 56 65 72 HRESULT GetVer
3bb0: 74 65 78 53 68 61 64 65 72 28 20 4c 50 44 49 52 texShader( LPDIR
3bc0: 45 43 54 33 44 56 45 52 54 45 58 53 48 41 44 45 ECT3DVERTEXSHADE
3bd0: 52 39 2a 20 70 70 53 68 61 64 65 72 29 3b 0d 0a R9* ppShader);..
3be0: 20 20 20 20 48 52 45 53 55 4c 54 20 53 65 74 56 HRESULT SetV
3bf0: 65 72 74 65 78 53 68 61 64 65 72 43 6f 6e 73 74 ertexShaderConst
3c00: 61 6e 74 46 28 20 55 49 4e 54 20 53 74 61 72 74 antF( UINT Start
3c10: 52 65 67 69 73 74 65 72 2c 20 66 6c 6f 61 74 2a Register, float*
3c20: 20 70 43 6f 6e 73 74 61 6e 74 44 61 74 61 2c 55 pConstantData,U
3c30: 49 4e 54 20 56 65 63 74 6f 72 34 66 43 6f 75 6e INT Vector4fCoun
3c40: 74 29 3b 0d 0a 20 20 20 20 48 52 45 53 55 4c 54 t);.. HRESULT
3c50: 20 47 65 74 56 65 72 74 65 78 53 68 61 64 65 72 GetVertexShader
3c60: 43 6f 6e 73 74 61 6e 74 46 28 20 55 49 4e 54 20 ConstantF( UINT
3c70: 53 74 61 72 74 52 65 67 69 73 74 65 72 2c 66 6c StartRegister,fl
3c80: 6f 61 74 2a 20 70 43 6f 6e 73 74 61 6e 74 44 61 oat* pConstantDa
3c90: 74 61 2c 55 49 4e 54 20 56 65 63 74 6f 72 34 66 ta,UINT Vector4f
3ca0: 43 6f 75 6e 74 29 3b 0d 0a 20 20 20 20 48 52 45 Count);.. HRE
3cb0: 53 55 4c 54 20 53 65 74 56 65 72 74 65 78 53 68 SULT SetVertexSh
3cc0: 61 64 65 72 43 6f 6e 73 74 61 6e 74 49 28 20 55 aderConstantI( U
3cd0: 49 4e 54 20 53 74 61 72 74 52 65 67 69 73 74 65 INT StartRegiste
3ce0: 72 2c 20 69 6e 74 2a 20 70 43 6f 6e 73 74 61 6e r, int* pConstan
3cf0: 74 44 61 74 61 2c 55 49 4e 54 20 56 65 63 74 6f tData,UINT Vecto
3d00: 72 34 69 43 6f 75 6e 74 29 3b 0d 0a 20 20 20 20 r4iCount);..
3d10: 48 52 45 53 55 4c 54 20 47 65 74 56 65 72 74 65 HRESULT GetVerte
3d20: 78 53 68 61 64 65 72 43 6f 6e 73 74 61 6e 74 49 xShaderConstantI
3d30: 28 20 55 49 4e 54 20 53 74 61 72 74 52 65 67 69 ( UINT StartRegi
3d40: 73 74 65 72 2c 69 6e 74 2a 20 70 43 6f 6e 73 74 ster,int* pConst
3d50: 61 6e 74 44 61 74 61 2c 55 49 4e 54 20 56 65 63 antData,UINT Vec
3d60: 74 6f 72 34 69 43 6f 75 6e 74 29 3b 0d 0a 20 20 tor4iCount);..
3d70: 20 20 48 52 45 53 55 4c 54 20 53 65 74 56 65 72 HRESULT SetVer
3d80: 74 65 78 53 68 61 64 65 72 43 6f 6e 73 74 61 6e texShaderConstan
3d90: 74 42 28 20 55 49 4e 54 20 53 74 61 72 74 52 65 tB( UINT StartRe
3da0: 67 69 73 74 65 72 2c 20 42 4f 4f 4c 2a 20 70 43 gister, BOOL* pC
3db0: 6f 6e 73 74 61 6e 74 44 61 74 61 2c 55 49 4e 54 onstantData,UINT
3dc0: 20 20 42 6f 6f 6c 43 6f 75 6e 74 29 3b 0d 0a 20 BoolCount);..
3dd0: 20 20 20 48 52 45 53 55 4c 54 20 47 65 74 56 65 HRESULT GetVe
3de0: 72 74 65 78 53 68 61 64 65 72 43 6f 6e 73 74 61 rtexShaderConsta
3df0: 6e 74 42 28 20 55 49 4e 54 20 53 74 61 72 74 52 ntB( UINT StartR
3e00: 65 67 69 73 74 65 72 2c 42 4f 4f 4c 2a 20 70 43 egister,BOOL* pC
3e10: 6f 6e 73 74 61 6e 74 44 61 74 61 2c 55 49 4e 54 onstantData,UINT
3e20: 20 42 6f 6f 6c 43 6f 75 6e 74 29 3b 0d 0a 20 20 BoolCount);..
3e30: 20 20 48 52 45 53 55 4c 54 20 53 65 74 53 74 72 HRESULT SetStr
3e40: 65 61 6d 53 6f 75 72 63 65 28 20 55 49 4e 54 20 eamSource( UINT
3e50: 53 74 72 65 61 6d 4e 75 6d 62 65 72 2c 4c 50 44 StreamNumber,LPD
3e60: 49 52 45 43 54 33 44 56 45 52 54 45 58 42 55 46 IRECT3DVERTEXBUF
3e70: 46 45 52 39 20 70 53 74 72 65 61 6d 44 61 74 61 FER9 pStreamData
3e80: 2c 55 49 4e 54 20 4f 66 66 73 65 74 49 6e 42 79 ,UINT OffsetInBy
3e90: 74 65 73 2c 55 49 4e 54 20 53 74 72 69 64 65 29 tes,UINT Stride)
3ea0: 3b 0d 0a 20 20 20 20 48 52 45 53 55 4c 54 20 47 ;.. HRESULT G
3eb0: 65 74 53 74 72 65 61 6d 53 6f 75 72 63 65 28 20 etStreamSource(
3ec0: 55 49 4e 54 20 53 74 72 65 61 6d 4e 75 6d 62 65 UINT StreamNumbe
3ed0: 72 2c 4c 50 44 49 52 45 43 54 33 44 56 45 52 54 r,LPDIRECT3DVERT
3ee0: 45 58 42 55 46 46 45 52 39 2a 20 70 70 53 74 72 EXBUFFER9* ppStr
3ef0: 65 61 6d 44 61 74 61 2c 55 49 4e 54 2a 20 70 4f eamData,UINT* pO
3f00: 66 66 73 65 74 49 6e 42 79 74 65 73 2c 55 49 4e ffsetInBytes,UIN
3f10: 54 2a 20 70 53 74 72 69 64 65 29 3b 0d 0a 20 20 T* pStride);..
3f20: 20 20 48 52 45 53 55 4c 54 20 53 65 74 53 74 72 HRESULT SetStr
3f30: 65 61 6d 53 6f 75 72 63 65 46 72 65 71 28 20 55 eamSourceFreq( U
3f40: 49 4e 54 20 53 74 72 65 61 6d 4e 75 6d 62 65 72 INT StreamNumber
3f50: 2c 55 49 4e 54 20 53 65 74 74 69 6e 67 29 3b 0d ,UINT Setting);.
3f60: 0a 20 20 20 20 48 52 45 53 55 4c 54 20 47 65 74 . HRESULT Get
3f70: 53 74 72 65 61 6d 53 6f 75 72 63 65 46 72 65 71 StreamSourceFreq
3f80: 28 20 55 49 4e 54 20 53 74 72 65 61 6d 4e 75 6d ( UINT StreamNum
3f90: 62 65 72 2c 55 49 4e 54 2a 20 70 53 65 74 74 69 ber,UINT* pSetti
3fa0: 6e 67 29 3b 0d 0a 20 20 20 20 48 52 45 53 55 4c ng);.. HRESUL
3fb0: 54 20 53 65 74 49 6e 64 69 63 65 73 28 20 4c 50 T SetIndices( LP
3fc0: 44 49 52 45 43 54 33 44 49 4e 44 45 58 42 55 46 DIRECT3DINDEXBUF
3fd0: 46 45 52 39 20 70 49 6e 64 65 78 44 61 74 61 29 FER9 pIndexData)
3fe0: 3b 0d 0a 20 20 20 20 48 52 45 53 55 4c 54 20 47 ;.. HRESULT G
3ff0: 65 74 49 6e 64 69 63 65 73 28 20 4c 50 44 49 52 etIndices( LPDIR
4000: 45 43 54 33 44 49 4e 44 45 58 42 55 46 46 45 52 ECT3DINDEXBUFFER
4010: 39 2a 20 70 70 49 6e 64 65 78 44 61 74 61 29 3b 9* ppIndexData);
4020: 0d 0a 20 20 20 20 48 52 45 53 55 4c 54 20 43 72 .. HRESULT Cr
4030: 65 61 74 65 50 69 78 65 6c 53 68 61 64 65 72 28 eatePixelShader(
4040: 20 44 57 4f 52 44 2a 20 70 46 75 6e 63 74 69 6f DWORD* pFunctio
4050: 6e 2c 4c 50 44 49 52 45 43 54 33 44 50 49 58 45 n,LPDIRECT3DPIXE
4060: 4c 53 48 41 44 45 52 39 2a 20 70 70 53 68 61 64 LSHADER9* ppShad
4070: 65 72 29 3b 0d 0a 20 20 20 20 48 52 45 53 55 4c er);.. HRESUL
4080: 54 20 53 65 74 50 69 78 65 6c 53 68 61 64 65 72 T SetPixelShader
4090: 28 4c 50 44 49 52 45 43 54 33 44 50 49 58 45 4c (LPDIRECT3DPIXEL
40a0: 53 48 41 44 45 52 39 20 70 53 68 61 64 65 72 29 SHADER9 pShader)
40b0: 3b 0d 0a 20 20 20 20 48 52 45 53 55 4c 54 20 47 ;.. HRESULT G
40c0: 65 74 50 69 78 65 6c 53 68 61 64 65 72 28 4c 50 etPixelShader(LP
40d0: 44 49 52 45 43 54 33 44 50 49 58 45 4c 53 48 41 DIRECT3DPIXELSHA
40e0: 44 45 52 39 2a 20 70 70 53 68 61 64 65 72 29 3b DER9* ppShader);
40f0: 0d 0a 20 20 20 20 48 52 45 53 55 4c 54 20 53 65 .. HRESULT Se
4100: 74 50 69 78 65 6c 53 68 61 64 65 72 43 6f 6e 73 tPixelShaderCons
4110: 74 61 6e 74 46 28 20 55 49 4e 54 20 53 74 61 72 tantF( UINT Star
4120: 74 52 65 67 69 73 74 65 72 2c 20 66 6c 6f 61 74 tRegister, float
4130: 2a 20 70 43 6f 6e 73 74 61 6e 74 44 61 74 61 2c * pConstantData,
4140: 55 49 4e 54 20 56 65 63 74 6f 72 34 66 43 6f 75 UINT Vector4fCou
4150: 6e 74 29 3b 0d 0a 20 20 20 20 48 52 45 53 55 4c nt);.. HRESUL
4160: 54 20 47 65 74 50 69 78 65 6c 53 68 61 64 65 72 T GetPixelShader
4170: 43 6f 6e 73 74 61 6e 74 46 28 20 55 49 4e 54 20 ConstantF( UINT
4180: 53 74 61 72 74 52 65 67 69 73 74 65 72 2c 66 6c StartRegister,fl
4190: 6f 61 74 2a 20 70 43 6f 6e 73 74 61 6e 74 44 61 oat* pConstantDa
41a0: 74 61 2c 55 49 4e 54 20 56 65 63 74 6f 72 34 66 ta,UINT Vector4f
41b0: 43 6f 75 6e 74 29 3b 0d 0a 20 20 20 20 48 52 45 Count);.. HRE
41c0: 53 55 4c 54 20 53 65 74 50 69 78 65 6c 53 68 61 SULT SetPixelSha
41d0: 64 65 72 43 6f 6e 73 74 61 6e 74 49 28 20 55 49 derConstantI( UI
41e0: 4e 54 20 53 74 61 72 74 52 65 67 69 73 74 65 72 NT StartRegister
41f0: 2c 20 69 6e 74 2a 20 70 43 6f 6e 73 74 61 6e 74 , int* pConstant
4200: 44 61 74 61 2c 55 49 4e 54 20 56 65 63 74 6f 72 Data,UINT Vector
4210: 34 69 43 6f 75 6e 74 29 3b 0d 0a 20 20 20 20 48 4iCount);.. H
4220: 52 45 53 55 4c 54 20 47 65 74 50 69 78 65 6c 53 RESULT GetPixelS
4230: 68 61 64 65 72 43 6f 6e 73 74 61 6e 74 49 28 20 haderConstantI(
4240: 55 49 4e 54 20 53 74 61 72 74 52 65 67 69 73 74 UINT StartRegist
4250: 65 72 2c 69 6e 74 2a 20 70 43 6f 6e 73 74 61 6e er,int* pConstan
4260: 74 44 61 74 61 2c 55 49 4e 54 20 56 65 63 74 6f tData,UINT Vecto
4270: 72 34 69 43 6f 75 6e 74 29 3b 0d 0a 20 20 20 20 r4iCount);..
4280: 48 52 45 53 55 4c 54 20 53 65 74 50 69 78 65 6c HRESULT SetPixel
4290: 53 68 61 64 65 72 43 6f 6e 73 74 61 6e 74 42 28 ShaderConstantB(
42a0: 20 55 49 4e 54 20 53 74 61 72 74 52 65 67 69 73 UINT StartRegis
42b0: 74 65 72 2c 20 42 4f 4f 4c 2a 20 70 43 6f 6e 73 ter, BOOL* pCons
42c0: 74 61 6e 74 44 61 74 61 2c 55 49 4e 54 20 20 42 tantData,UINT B
42d0: 6f 6f 6c 43 6f 75 6e 74 29 3b 0d 0a 20 20 20 20 oolCount);..
42e0: 48 52 45 53 55 4c 54 20 47 65 74 50 69 78 65 6c HRESULT GetPixel
42f0: 53 68 61 64 65 72 43 6f 6e 73 74 61 6e 74 42 28 ShaderConstantB(
4300: 20 55 49 4e 54 20 53 74 61 72 74 52 65 67 69 73 UINT StartRegis
4310: 74 65 72 2c 42 4f 4f 4c 2a 20 70 43 6f 6e 73 74 ter,BOOL* pConst
4320: 61 6e 74 44 61 74 61 2c 55 49 4e 54 20 42 6f 6f antData,UINT Boo
4330: 6c 43 6f 75 6e 74 29 3b 0d 0a 20 20 20 20 48 52 lCount);.. HR
4340: 45 53 55 4c 54 20 44 72 61 77 52 65 63 74 50 61 ESULT DrawRectPa
4350: 74 63 68 28 20 55 49 4e 54 20 48 61 6e 64 6c 65 tch( UINT Handle
4360: 2c 20 66 6c 6f 61 74 2a 20 70 4e 75 6d 53 65 67 , float* pNumSeg
4370: 73 2c 20 44 33 44 52 45 43 54 50 41 54 43 48 5f s, D3DRECTPATCH_
4380: 49 4e 46 4f 2a 20 70 52 65 63 74 50 61 74 63 68 INFO* pRectPatch
4390: 49 6e 66 6f 29 3b 0d 0a 20 20 20 20 48 52 45 53 Info);.. HRES
43a0: 55 4c 54 20 44 72 61 77 54 72 69 50 61 74 63 68 ULT DrawTriPatch
43b0: 28 20 55 49 4e 54 20 48 61 6e 64 6c 65 2c 20 66 ( UINT Handle, f
43c0: 6c 6f 61 74 2a 20 70 4e 75 6d 53 65 67 73 2c 20 loat* pNumSegs,
43d0: 44 33 44 54 52 49 50 41 54 43 48 5f 49 4e 46 4f D3DTRIPATCH_INFO
43e0: 2a 20 70 54 72 69 50 61 74 63 68 49 6e 66 6f 29 * pTriPatchInfo)
43f0: 3b 0d 0a 20 20 20 20 48 52 45 53 55 4c 54 20 44 ;.. HRESULT D
4400: 65 6c 65 74 65 50 61 74 63 68 28 20 55 49 4e 54 eletePatch( UINT
4410: 20 48 61 6e 64 6c 65 29 3b 0d 0a 20 20 20 20 48 Handle);.. H
4420: 52 45 53 55 4c 54 20 43 72 65 61 74 65 51 75 65 RESULT CreateQue
4430: 72 79 28 20 44 33 44 51 55 45 52 59 54 59 50 45 ry( D3DQUERYTYPE
4440: 20 54 79 70 65 2c 4c 50 44 49 52 45 43 54 33 44 Type,LPDIRECT3D
4450: 51 55 45 52 59 39 2a 20 70 70 51 75 65 72 79 29 QUERY9* ppQuery)
4460: 3b 0d 0a 2f 2a 0d 0a 20 20 20 20 64 65 62 75 67 ;../*.. debug
4470: 20 7b 0d 0a 20 20 20 20 20 20 20 20 44 33 44 44 {.. D3DD
4480: 45 56 49 43 45 5f 43 52 45 41 54 49 4f 4e 5f 50 EVICE_CREATION_P
4490: 41 52 41 4d 45 54 45 52 53 20 43 72 65 61 74 69 ARAMETERS Creati
44a0: 6f 6e 50 61 72 61 6d 65 74 65 72 73 3b 0d 0a 20 onParameters;..
44b0: 20 20 20 20 20 20 20 44 33 44 50 52 45 53 45 4e D3DPRESEN
44c0: 54 5f 50 41 52 41 4d 45 54 45 52 53 20 50 72 65 T_PARAMETERS Pre
44d0: 73 65 6e 74 50 61 72 61 6d 65 74 65 72 73 3b 0d sentParameters;.
44e0: 0a 20 20 20 20 20 20 20 20 44 33 44 44 49 53 50 . D3DDISP
44f0: 4c 41 59 4d 4f 44 45 20 44 69 73 70 6c 61 79 4d LAYMODE DisplayM
4500: 6f 64 65 3b 0d 0a 20 20 20 20 20 20 20 20 44 33 ode;.. D3
4510: 44 43 41 50 53 39 20 43 61 70 73 3b 0d 0a 0d 0a DCAPS9 Caps;....
4520: 20 20 20 20 20 20 20 20 55 49 4e 54 20 41 76 61 UINT Ava
4530: 69 6c 61 62 6c 65 54 65 78 74 75 72 65 4d 65 6d ilableTextureMem
4540: 3b 0d 0a 20 20 20 20 20 20 20 20 55 49 4e 54 20 ;.. UINT
4550: 53 77 61 70 43 68 61 69 6e 73 3b 0d 0a 20 20 20 SwapChains;..
4560: 20 20 20 20 20 55 49 4e 54 20 54 65 78 74 75 72 UINT Textur
4570: 65 73 3b 0d 0a 20 20 20 20 20 20 20 20 55 49 4e es;.. UIN
4580: 54 20 56 65 72 74 65 78 42 75 66 66 65 72 73 3b T VertexBuffers;
4590: 0d 0a 20 20 20 20 20 20 20 20 55 49 4e 54 20 49 .. UINT I
45a0: 6e 64 65 78 42 75 66 66 65 72 73 3b 0d 0a 20 20 ndexBuffers;..
45b0: 20 20 20 20 20 20 55 49 4e 54 20 56 65 72 74 65 UINT Verte
45c0: 78 53 68 61 64 65 72 73 3b 0d 0a 20 20 20 20 20 xShaders;..
45d0: 20 20 20 55 49 4e 54 20 50 69 78 65 6c 53 68 61 UINT PixelSha
45e0: 64 65 72 73 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 ders;....
45f0: 20 44 33 44 56 49 45 57 50 4f 52 54 39 20 56 69 D3DVIEWPORT9 Vi
4600: 65 77 70 6f 72 74 3b 0d 0a 20 20 20 20 20 20 20 ewport;..
4610: 20 44 33 44 4d 41 54 52 49 58 20 50 72 6f 6a 65 D3DMATRIX Proje
4620: 63 74 69 6f 6e 4d 61 74 72 69 78 3b 0d 0a 20 20 ctionMatrix;..
4630: 20 20 20 20 20 20 44 33 44 4d 41 54 52 49 58 20 D3DMATRIX
4640: 56 69 65 77 4d 61 74 72 69 78 3b 0d 0a 20 20 20 ViewMatrix;..
4650: 20 20 20 20 20 44 33 44 4d 41 54 52 49 58 20 57 D3DMATRIX W
4660: 6f 72 6c 64 4d 61 74 72 69 78 3b 0d 0a 20 20 20 orldMatrix;..
4670: 20 20 20 20 20 44 33 44 4d 41 54 52 49 58 5b 38 D3DMATRIX[8
4680: 5d 20 54 65 78 74 75 72 65 4d 61 74 72 69 63 65 ] TextureMatrice
4690: 73 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 44 57 s;.... DW
46a0: 4f 52 44 20 46 56 46 3b 0d 0a 20 20 20 20 20 20 ORD FVF;..
46b0: 20 20 55 49 4e 54 20 56 65 72 74 65 78 53 69 7a UINT VertexSiz
46c0: 65 3b 0d 0a 20 20 20 20 20 20 20 20 44 57 4f 52 e;.. DWOR
46d0: 44 20 56 65 72 74 65 78 53 68 61 64 65 72 56 65 D VertexShaderVe
46e0: 72 73 69 6f 6e 3b 0d 0a 20 20 20 20 20 20 20 20 rsion;..
46f0: 44 57 4f 52 44 20 50 69 78 65 6c 53 68 61 64 65 DWORD PixelShade
4700: 72 56 65 72 73 69 6f 6e 3b 0d 0a 20 20 20 20 20 rVersion;..
4710: 20 20 20 42 4f 4f 4c 20 53 6f 66 74 77 61 72 65 BOOL Software
4720: 56 65 72 74 65 78 50 72 6f 63 65 73 73 69 6e 67 VertexProcessing
4730: 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 44 33 44 ;.... D3D
4740: 4d 41 54 45 52 49 41 4c 39 20 4d 61 74 65 72 69 MATERIAL9 Materi
4750: 61 6c 3b 0d 0a 20 20 20 20 20 20 20 20 44 33 44 al;.. D3D
4760: 4c 49 47 48 54 39 5b 31 36 5d 20 4c 69 67 68 74 LIGHT9[16] Light
4770: 73 3b 0d 0a 20 20 20 20 20 20 20 20 42 4f 4f 4c s;.. BOOL
4780: 5b 31 36 5d 20 4c 69 67 68 74 73 45 6e 61 62 6c [16] LightsEnabl
4790: 65 64 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 44 ed;.... D
47a0: 33 44 47 41 4d 4d 41 52 41 4d 50 20 47 61 6d 6d 3DGAMMARAMP Gamm
47b0: 61 52 61 6d 70 3b 0d 0a 20 20 20 20 20 20 20 20 aRamp;..
47c0: 52 45 43 54 20 53 63 69 73 73 6f 72 52 65 63 74 RECT ScissorRect
47d0: 3b 0d 0a 20 20 20 20 20 20 20 20 42 4f 4f 4c 20 ;.. BOOL
47e0: 44 69 61 6c 6f 67 42 6f 78 4d 6f 64 65 3b 0d 0a DialogBoxMode;..
47f0: 20 20 20 20 7d 0d 0a 2a 2f 0d 0a 7d 0d 0a 0d 0a }..*/..}....
4800: 61 6c 69 61 73 20 4c 50 44 49 52 45 43 54 33 44 alias LPDIRECT3D
4810: 44 45 56 49 43 45 39 20 49 44 69 72 65 63 74 33 DEVICE9 IDirect3
4820: 44 44 65 76 69 63 65 39 3b 0d 0a 0d 0a 0d 0a 69 DDevice9;......i
4830: 6e 74 65 72 66 61 63 65 20 4c 50 44 49 52 45 43 nterface LPDIREC
4840: 54 33 44 53 54 41 54 45 42 4c 4f 43 4b 39 20 3a T3DSTATEBLOCK9 :
4850: 20 49 55 6e 6b 6e 6f 77 6e 0d 0a 7b 0d 0a 20 20 IUnknown..{..
4860: 20 20 48 52 45 53 55 4c 54 20 47 65 74 44 65 76 HRESULT GetDev
4870: 69 63 65 28 4c 50 44 49 52 45 43 54 33 44 44 45 ice(LPDIRECT3DDE
4880: 56 49 43 45 39 2a 20 70 70 44 65 76 69 63 65 29 VICE9* ppDevice)
4890: 3b 0d 0a 20 20 20 20 48 52 45 53 55 4c 54 20 43 ;.. HRESULT C
48a0: 61 70 74 75 72 65 28 29 3b 0d 0a 20 20 20 20 48 apture();.. H
48b0: 52 45 53 55 4c 54 20 41 70 70 6c 79 28 29 3b 0d RESULT Apply();.
48c0: 0a 2f 2a 0d 0a 20 20 20 20 64 65 62 75 67 20 7b ./*.. debug {
48d0: 0d 0a 20 20 20 20 20 20 20 20 4c 50 43 57 53 54 .. LPCWST
48e0: 52 20 43 72 65 61 74 69 6f 6e 43 61 6c 6c 53 74 R CreationCallSt
48f0: 61 63 6b 3b 0d 0a 20 20 20 20 7d 0d 0a 2a 2f 0d ack;.. }..*/.
4900: 0a 7d 0d 0a 0d 0a 61 6c 69 61 73 20 4c 50 44 49 .}....alias LPDI
4910: 52 45 43 54 33 44 53 54 41 54 45 42 4c 4f 43 4b RECT3DSTATEBLOCK
4920: 39 20 49 44 69 72 65 63 74 33 44 53 74 61 74 65 9 IDirect3DState
4930: 42 6c 6f 63 6b 39 3b 0d 0a 0d 0a 69 6e 74 65 72 Block9;....inter
4940: 66 61 63 65 20 4c 50 44 49 52 45 43 54 33 44 53 face LPDIRECT3DS
4950: 57 41 50 43 48 41 49 4e 39 20 3a 20 49 55 6e 6b WAPCHAIN9 : IUnk
4960: 6e 6f 77 6e 0d 0a 7b 0d 0a 20 20 20 20 48 52 45 nown..{.. HRE
4970: 53 55 4c 54 20 50 72 65 73 65 6e 74 28 20 52 45 SULT Present( RE
4980: 43 54 2a 20 70 53 6f 75 72 63 65 52 65 63 74 2c CT* pSourceRect,
4990: 20 52 45 43 54 2a 20 70 44 65 73 74 52 65 63 74 RECT* pDestRect
49a0: 2c 48 57 4e 44 20 68 44 65 73 74 57 69 6e 64 6f ,HWND hDestWindo
49b0: 77 4f 76 65 72 72 69 64 65 2c 20 52 47 4e 44 41 wOverride, RGNDA
49c0: 54 41 2a 20 70 44 69 72 74 79 52 65 67 69 6f 6e TA* pDirtyRegion
49d0: 2c 44 57 4f 52 44 20 64 77 46 6c 61 67 73 29 3b ,DWORD dwFlags);
49e0: 0d 0a 20 20 20 20 48 52 45 53 55 4c 54 20 47 65 .. HRESULT Ge
49f0: 74 46 72 6f 6e 74 42 75 66 66 65 72 44 61 74 61 tFrontBufferData
4a00: 28 20 4c 50 44 49 52 45 43 54 33 44 53 55 52 46 ( LPDIRECT3DSURF
4a10: 41 43 45 39 20 70 44 65 73 74 53 75 72 66 61 63 ACE9 pDestSurfac
4a20: 65 29 3b 0d 0a 20 20 20 20 48 52 45 53 55 4c 54 e);.. HRESULT
4a30: 20 47 65 74 42 61 63 6b 42 75 66 66 65 72 28 20 GetBackBuffer(
4a40: 55 49 4e 54 20 69 42 61 63 6b 42 75 66 66 65 72 UINT iBackBuffer
4a50: 2c 44 33 44 42 41 43 4b 42 55 46 46 45 52 5f 54 ,D3DBACKBUFFER_T
4a60: 59 50 45 20 54 79 70 65 2c 4c 50 44 49 52 45 43 YPE Type,LPDIREC
4a70: 54 33 44 53 55 52 46 41 43 45 39 2a 20 70 70 42 T3DSURFACE9* ppB
4a80: 61 63 6b 42 75 66 66 65 72 29 3b 0d 0a 20 20 20 ackBuffer);..
4a90: 20 48 52 45 53 55 4c 54 20 47 65 74 52 61 73 74 HRESULT GetRast
4aa0: 65 72 53 74 61 74 75 73 28 20 44 33 44 52 41 53 erStatus( D3DRAS
4ab0: 54 45 52 5f 53 54 41 54 55 53 2a 20 70 52 61 73 TER_STATUS* pRas
4ac0: 74 65 72 53 74 61 74 75 73 29 3b 0d 0a 20 20 20 terStatus);..
4ad0: 20 48 52 45 53 55 4c 54 20 47 65 74 44 69 73 70 HRESULT GetDisp
4ae0: 6c 61 79 4d 6f 64 65 28 20 44 33 44 44 49 53 50 layMode( D3DDISP
4af0: 4c 41 59 4d 4f 44 45 2a 20 70 4d 6f 64 65 29 3b LAYMODE* pMode);
4b00: 0d 0a 20 20 20 20 48 52 45 53 55 4c 54 20 47 65 .. HRESULT Ge
4b10: 74 44 65 76 69 63 65 28 20 4c 50 44 49 52 45 43 tDevice( LPDIREC
4b20: 54 33 44 44 45 56 49 43 45 39 20 2a 20 70 70 44 T3DDEVICE9 * ppD
4b30: 65 76 69 63 65 29 3b 0d 0a 20 20 20 20 48 52 45 evice);.. HRE
4b40: 53 55 4c 54 20 47 65 74 50 72 65 73 65 6e 74 50 SULT GetPresentP
4b50: 61 72 61 6d 65 74 65 72 73 28 20 44 33 44 50 52 arameters( D3DPR
4b60: 45 53 45 4e 54 5f 50 41 52 41 4d 45 54 45 52 53 ESENT_PARAMETERS
4b70: 2a 20 70 50 72 65 73 65 6e 74 61 74 69 6f 6e 50 * pPresentationP
4b80: 61 72 61 6d 65 74 65 72 73 29 3b 0d 0a 2f 2a 0d arameters);../*.
4b90: 0a 20 20 20 20 64 65 62 75 67 20 7b 0d 0a 20 20 . debug {..
4ba0: 20 20 20 20 20 20 44 33 44 50 52 45 53 45 4e 54 D3DPRESENT
4bb0: 5f 50 41 52 41 4d 45 54 45 52 53 20 50 72 65 73 _PARAMETERS Pres
4bc0: 65 6e 74 50 61 72 61 6d 65 74 65 72 73 3b 0d 0a entParameters;..
4bd0: 20 20 20 20 20 20 20 20 44 33 44 44 49 53 50 4c D3DDISPL
4be0: 41 59 4d 4f 44 45 20 44 69 73 70 6c 61 79 4d 6f AYMODE DisplayMo
4bf0: 64 65 3b 0d 0a 20 20 20 20 20 20 20 20 4c 50 43 de;.. LPC
4c00: 57 53 54 52 20 43 72 65 61 74 69 6f 6e 43 61 6c WSTR CreationCal
4c10: 6c 53 74 61 63 6b 3b 0d 0a 20 20 20 20 7d 0d 0a lStack;.. }..
4c20: 2a 2f 0d 0a 7d 0d 0a 0d 0a 61 6c 69 61 73 20 4c */..}....alias L
4c30: 50 44 49 52 45 43 54 33 44 53 57 41 50 43 48 41 PDIRECT3DSWAPCHA
4c40: 49 4e 39 20 49 44 69 72 65 63 74 33 44 53 77 61 IN9 IDirect3DSwa
4c50: 70 43 68 61 69 6e 39 3b 0d 0a 0d 0a 69 6e 74 65 pChain9;....inte
4c60: 72 66 61 63 65 20 4c 50 44 49 52 45 43 54 33 44 rface LPDIRECT3D
4c70: 52 45 53 4f 55 52 43 45 39 20 3a 20 49 55 6e 6b RESOURCE9 : IUnk
4c80: 6e 6f 77 6e 0d 0a 7b 0d 0a 20 20 20 20 48 52 45 nown..{.. HRE
4c90: 53 55 4c 54 20 47 65 74 44 65 76 69 63 65 28 20 SULT GetDevice(
4ca0: 4c 50 44 49 52 45 43 54 33 44 44 45 56 49 43 45 LPDIRECT3DDEVICE
4cb0: 39 2a 20 70 70 44 65 76 69 63 65 29 3b 0d 0a 20 9* ppDevice);..
4cc0: 20 20 20 48 52 45 53 55 4c 54 20 53 65 74 50 72 HRESULT SetPr
4cd0: 69 76 61 74 65 44 61 74 61 28 20 52 45 46 47 55 ivateData( REFGU
4ce0: 49 44 20 72 65 66 67 75 69 64 2c 20 76 6f 69 64 ID refguid, void
4cf0: 2a 20 70 44 61 74 61 2c 44 57 4f 52 44 20 53 69 * pData,DWORD Si
4d00: 7a 65 4f 66 44 61 74 61 2c 44 57 4f 52 44 20 46 zeOfData,DWORD F
4d10: 6c 61 67 73 29 3b 0d 0a 20 20 20 20 48 52 45 53 lags);.. HRES
4d20: 55 4c 54 20 47 65 74 50 72 69 76 61 74 65 44 61 ULT GetPrivateDa
4d30: 74 61 28 20 52 45 46 47 55 49 44 20 72 65 66 67 ta( REFGUID refg
4d40: 75 69 64 2c 76 6f 69 64 2a 20 70 44 61 74 61 2c uid,void* pData,
4d50: 44 57 4f 52 44 2a 20 70 53 69 7a 65 4f 66 44 61 DWORD* pSizeOfDa
4d60: 74 61 29 3b 0d 0a 20 20 20 20 48 52 45 53 55 4c ta);.. HRESUL
4d70: 54 20 46 72 65 65 50 72 69 76 61 74 65 44 61 74 T FreePrivateDat
4d80: 61 28 20 52 45 46 47 55 49 44 20 72 65 66 67 75 a( REFGUID refgu
4d90: 69 64 29 3b 0d 0a 20 20 20 20 44 57 4f 52 44 20 id);.. DWORD
4da0: 53 65 74 50 72 69 6f 72 69 74 79 28 44 57 4f 52 SetPriority(DWOR
4db0: 44 20 50 72 69 6f 72 69 74 79 4e 65 77 29 3b 0d D PriorityNew);.
4dc0: 0a 20 20 20 20 44 57 4f 52 44 20 47 65 74 50 72 . DWORD GetPr
4dd0: 69 6f 72 69 74 79 28 29 3b 0d 0a 20 20 20 20 76 iority();.. v
4de0: 6f 69 64 20 50 72 65 4c 6f 61 64 28 29 3b 0d 0a oid PreLoad();..
4df0: 20 20 20 20 44 33 44 52 45 53 4f 55 52 43 45 54 D3DRESOURCET
4e00: 59 50 45 20 47 65 74 54 79 70 65 28 29 3b 0d 0a YPE GetType();..
4e10: 7d 0d 0a 0d 0a 61 6c 69 61 73 20 4c 50 44 49 52 }....alias LPDIR
4e20: 45 43 54 33 44 52 45 53 4f 55 52 43 45 39 20 49 ECT3DRESOURCE9 I
4e30: 44 69 72 65 63 74 33 44 52 65 73 6f 75 72 63 65 Direct3DResource
4e40: 39 3b 0d 0a 0d 0a 69 6e 74 65 72 66 61 63 65 20 9;....interface
4e50: 4c 50 44 49 52 45 43 54 33 44 56 45 52 54 45 58 LPDIRECT3DVERTEX
4e60: 44 45 43 4c 41 52 41 54 49 4f 4e 39 20 3a 20 49 DECLARATION9 : I
4e70: 55 6e 6b 6e 6f 77 6e 0d 0a 7b 0d 0a 20 20 20 20 Unknown..{..
4e80: 48 52 45 53 55 4c 54 20 47 65 74 44 65 76 69 63 HRESULT GetDevic
4e90: 65 28 20 4c 50 44 49 52 45 43 54 33 44 44 45 56 e( LPDIRECT3DDEV
4ea0: 49 43 45 39 2a 20 70 70 44 65 76 69 63 65 29 3b ICE9* ppDevice);
4eb0: 0d 0a 20 20 20 20 48 52 45 53 55 4c 54 20 47 65 .. HRESULT Ge
4ec0: 74 44 65 63 6c 61 72 61 74 69 6f 6e 28 20 44 33 tDeclaration( D3
4ed0: 44 56 45 52 54 45 58 45 4c 45 4d 45 4e 54 39 2a DVERTEXELEMENT9*
4ee0: 20 70 45 6c 65 6d 65 6e 74 2c 55 49 4e 54 2a 20 pElement,UINT*
4ef0: 70 4e 75 6d 45 6c 65 6d 65 6e 74 73 29 3b 0d 0a pNumElements);..
4f00: 2f 2a 0d 0a 20 20 20 20 64 65 62 75 67 20 7b 0d /*.. debug {.
4f10: 0a 20 20 20 20 20 20 20 20 4c 50 43 57 53 54 52 . LPCWSTR
4f20: 20 43 72 65 61 74 69 6f 6e 43 61 6c 6c 53 74 61 CreationCallSta
4f30: 63 6b 3b 0d 0a 20 20 20 20 7d 0d 0a 2a 2f 0d 0a ck;.. }..*/..
4f40: 7d 0d 0a 0d 0a 61 6c 69 61 73 20 4c 50 44 49 52 }....alias LPDIR
4f50: 45 43 54 33 44 56 45 52 54 45 58 44 45 43 4c 41 ECT3DVERTEXDECLA
4f60: 52 41 54 49 4f 4e 39 20 49 44 69 72 65 63 74 33 RATION9 IDirect3
4f70: 44 56 65 72 74 65 78 44 65 63 6c 61 72 61 74 69 DVertexDeclarati
4f80: 6f 6e 39 3b 0d 0a 0d 0a 69 6e 74 65 72 66 61 63 on9;....interfac
4f90: 65 20 4c 50 44 49 52 45 43 54 33 44 56 45 52 54 e LPDIRECT3DVERT
4fa0: 45 58 53 48 41 44 45 52 39 20 3a 20 49 55 6e 6b EXSHADER9 : IUnk
4fb0: 6e 6f 77 6e 0d 0a 7b 0d 0a 20 20 20 20 48 52 45 nown..{.. HRE
4fc0: 53 55 4c 54 20 47 65 74 44 65 76 69 63 65 28 20 SULT GetDevice(
4fd0: 4c 50 44 49 52 45 43 54 33 44 44 45 56 49 43 45 LPDIRECT3DDEVICE
4fe0: 39 20 2a 20 70 70 44 65 76 69 63 65 29 3b 0d 0a 9 * ppDevice);..
4ff0: 20 20 20 20 48 52 45 53 55 4c 54 20 47 65 74 46 HRESULT GetF
5000: 75 6e 63 74 69 6f 6e 28 20 76 6f 69 64 2a 2c 55 unction( void*,U
5010: 49 4e 54 2a 20 70 53 69 7a 65 4f 66 44 61 74 61 INT* pSizeOfData
5020: 29 3b 0d 0a 2f 2a 0d 0a 20 20 20 20 64 65 62 75 );../*.. debu
5030: 67 20 7b 0d 0a 20 20 20 20 20 20 20 20 44 57 4f g {.. DWO
5040: 52 44 20 56 65 72 73 69 6f 6e 3b 0d 0a 20 20 20 RD Version;..
5050: 20 20 20 20 20 4c 50 43 57 53 54 52 20 43 72 65 LPCWSTR Cre
5060: 61 74 69 6f 6e 43 61 6c 6c 53 74 61 63 6b 3b 0d ationCallStack;.
5070: 0a 20 20 20 20 7d 0d 0a 2a 2f 0d 0a 7d 0d 0a 0d . }..*/..}...
5080: 0a 61 6c 69 61 73 20 4c 50 44 49 52 45 43 54 33 .alias LPDIRECT3
5090: 44 56 45 52 54 45 58 53 48 41 44 45 52 39 20 49 DVERTEXSHADER9 I
50a0: 44 69 72 65 63 74 33 44 56 65 72 74 65 78 53 68 Direct3DVertexSh
50b0: 61 64 65 72 39 3b 0d 0a 0d 0a 69 6e 74 65 72 66 ader9;....interf
50c0: 61 63 65 20 4c 50 44 49 52 45 43 54 33 44 50 49 ace LPDIRECT3DPI
50d0: 58 45 4c 53 48 41 44 45 52 39 20 3a 20 49 55 6e XELSHADER9 : IUn
50e0: 6b 6e 6f 77 6e 0d 0a 7b 0d 0a 20 20 20 20 48 52 known..{.. HR
50f0: 45 53 55 4c 54 20 47 65 74 44 65 76 69 63 65 28 ESULT GetDevice(
5100: 20 4c 50 44 49 52 45 43 54 33 44 44 45 56 49 43 LPDIRECT3DDEVIC
5110: 45 39 20 2a 20 70 70 44 65 76 69 63 65 29 3b 0d E9 * ppDevice);.
5120: 0a 20 20 20 20 48 52 45 53 55 4c 54 20 47 65 74 . HRESULT Get
5130: 46 75 6e 63 74 69 6f 6e 28 20 76 6f 69 64 2a 2c Function( void*,
5140: 55 49 4e 54 2a 20 70 53 69 7a 65 4f 66 44 61 74 UINT* pSizeOfDat
5150: 61 29 3b 0d 0a 2f 2a 0d 0a 20 20 20 20 64 65 62 a);../*.. deb
5160: 75 67 20 7b 0d 0a 20 20 20 20 20 20 20 20 44 57 ug {.. DW
5170: 4f 52 44 20 56 65 72 73 69 6f 6e 3b 0d 0a 20 20 ORD Version;..
5180: 20 20 20 20 20 20 4c 50 43 57 53 54 52 20 43 72 LPCWSTR Cr
5190: 65 61 74 69 6f 6e 43 61 6c 6c 53 74 61 63 6b 3b eationCallStack;
51a0: 0d 0a 20 20 20 20 7d 0d 0a 2a 2f 0d 0a 7d 0d 0a .. }..*/..}..
51b0: 0d 0a 61 6c 69 61 73 20 4c 50 44 49 52 45 43 54 ..alias LPDIRECT
51c0: 33 44 50 49 58 45 4c 53 48 41 44 45 52 39 20 49 3DPIXELSHADER9 I
51d0: 44 69 72 65 63 74 33 44 50 69 78 65 6c 53 68 61 Direct3DPixelSha
51e0: 64 65 72 39 3b 0d 0a 0d 0a 69 6e 74 65 72 66 61 der9;....interfa
51f0: 63 65 20 4c 50 44 49 52 45 43 54 33 44 42 41 53 ce LPDIRECT3DBAS
5200: 45 54 45 58 54 55 52 45 39 20 3a 20 4c 50 44 49 ETEXTURE9 : LPDI
5210: 52 45 43 54 33 44 52 45 53 4f 55 52 43 45 39 0d RECT3DRESOURCE9.
5220: 0a 7b 0d 0a 20 20 20 20 44 57 4f 52 44 20 53 65 .{.. DWORD Se
5230: 74 4c 4f 44 28 44 57 4f 52 44 20 4c 4f 44 4e 65 tLOD(DWORD LODNe
5240: 77 29 3b 0d 0a 20 20 20 20 44 57 4f 52 44 20 47 w);.. DWORD G
5250: 65 74 4c 4f 44 28 29 3b 0d 0a 20 20 20 20 44 57 etLOD();.. DW
5260: 4f 52 44 20 47 65 74 4c 65 76 65 6c 43 6f 75 6e ORD GetLevelCoun
5270: 74 28 29 3b 0d 0a 20 20 20 20 48 52 45 53 55 4c t();.. HRESUL
5280: 54 20 53 65 74 41 75 74 6f 47 65 6e 46 69 6c 74 T SetAutoGenFilt
5290: 65 72 54 79 70 65 28 20 44 33 44 54 45 58 54 55 erType( D3DTEXTU
52a0: 52 45 46 49 4c 54 45 52 54 59 50 45 20 46 69 6c REFILTERTYPE Fil
52b0: 74 65 72 54 79 70 65 29 3b 0d 0a 20 20 20 20 44 terType);.. D
52c0: 33 44 54 45 58 54 55 52 45 46 49 4c 54 45 52 54 3DTEXTUREFILTERT
52d0: 59 50 45 20 47 65 74 41 75 74 6f 47 65 6e 46 69 YPE GetAutoGenFi
52e0: 6c 74 65 72 54 79 70 65 28 29 3b 0d 0a 20 20 20 lterType();..
52f0: 20 76 6f 69 64 20 47 65 6e 65 72 61 74 65 4d 69 void GenerateMi
5300: 70 53 75 62 4c 65 76 65 6c 73 28 29 3b 0d 0a 7d pSubLevels();..}
5310: 0d 0a 0d 0a 61 6c 69 61 73 20 4c 50 44 49 52 45 ....alias LPDIRE
5320: 43 54 33 44 42 41 53 45 54 45 58 54 55 52 45 39 CT3DBASETEXTURE9
5330: 20 49 44 69 72 65 63 74 33 44 42 61 73 65 54 65 IDirect3DBaseTe
5340: 78 74 75 72 65 39 3b 0d 0a 0d 0a 69 6e 74 65 72 xture9;....inter
5350: 66 61 63 65 20 4c 50 44 49 52 45 43 54 33 44 54 face LPDIRECT3DT
5360: 45 58 54 55 52 45 39 20 3a 20 4c 50 44 49 52 45 EXTURE9 : LPDIRE
5370: 43 54 33 44 42 41 53 45 54 45 58 54 55 52 45 39 CT3DBASETEXTURE9
5380: 0d 0a 7b 0d 0a 20 20 20 20 48 52 45 53 55 4c 54 ..{.. HRESULT
5390: 20 47 65 74 4c 65 76 65 6c 44 65 73 63 28 20 55 GetLevelDesc( U
53a0: 49 4e 54 20 4c 65 76 65 6c 2c 44 33 44 53 55 52 INT Level,D3DSUR
53b0: 46 41 43 45 5f 44 45 53 43 20 2a 70 44 65 73 63 FACE_DESC *pDesc
53c0: 29 3b 0d 0a 20 20 20 20 48 52 45 53 55 4c 54 20 );.. HRESULT
53d0: 47 65 74 53 75 72 66 61 63 65 4c 65 76 65 6c 28 GetSurfaceLevel(
53e0: 20 55 49 4e 54 20 4c 65 76 65 6c 2c 4c 50 44 49 UINT Level,LPDI
53f0: 52 45 43 54 33 44 53 55 52 46 41 43 45 39 2a 20 RECT3DSURFACE9*
5400: 70 70 53 75 72 66 61 63 65 4c 65 76 65 6c 29 3b ppSurfaceLevel);
5410: 0d 0a 20 20 20 20 48 52 45 53 55 4c 54 20 4c 6f .. HRESULT Lo
5420: 63 6b 52 65 63 74 28 20 55 49 4e 54 20 4c 65 76 ckRect( UINT Lev
5430: 65 6c 2c 44 33 44 4c 4f 43 4b 45 44 5f 52 45 43 el,D3DLOCKED_REC
5440: 54 2a 20 70 4c 6f 63 6b 65 64 52 65 63 74 2c 52 T* pLockedRect,R
5450: 45 43 54 2a 20 70 52 65 63 74 2c 44 57 4f 52 44 ECT* pRect,DWORD
5460: 20 46 6c 61 67 73 29 3b 0d 0a 20 20 20 20 48 52 Flags);.. HR
5470: 45 53 55 4c 54 20 55 6e 6c 6f 63 6b 52 65 63 74 ESULT UnlockRect
5480: 28 20 55 49 4e 54 20 4c 65 76 65 6c 29 3b 0d 0a ( UINT Level);..
5490: 20 20 20 20 48 52 45 53 55 4c 54 20 41 64 64 44 HRESULT AddD
54a0: 69 72 74 79 52 65 63 74 28 52 45 43 54 2a 20 70 irtyRect(RECT* p
54b0: 44 69 72 74 79 52 65 63 74 29 3b 0d 0a 2f 2a 0d DirtyRect);../*.
54c0: 0a 20 20 20 20 64 65 62 75 67 20 7b 0d 0a 20 20 . debug {..
54d0: 20 20 20 20 20 20 4c 50 43 57 53 54 52 20 4e 61 LPCWSTR Na
54e0: 6d 65 3b 0d 0a 20 20 20 20 20 20 20 20 55 49 4e me;.. UIN
54f0: 54 20 57 69 64 74 68 3b 0d 0a 20 20 20 20 20 20 T Width;..
5500: 20 20 55 49 4e 54 20 48 65 69 67 68 74 3b 0d 0a UINT Height;..
5510: 20 20 20 20 20 20 20 20 55 49 4e 54 20 4c 65 76 UINT Lev
5520: 65 6c 73 3b 0d 0a 20 20 20 20 20 20 20 20 44 57 els;.. DW
5530: 4f 52 44 20 55 73 61 67 65 3b 0d 0a 20 20 20 20 ORD Usage;..
5540: 20 20 20 20 44 33 44 46 4f 52 4d 41 54 20 46 6f D3DFORMAT Fo
5550: 72 6d 61 74 3b 0d 0a 20 20 20 20 20 20 20 20 44 rmat;.. D
5560: 33 44 50 4f 4f 4c 20 50 6f 6f 6c 3b 0d 0a 20 20 3DPOOL Pool;..
5570: 20 20 20 20 20 20 44 57 4f 52 44 20 50 72 69 6f DWORD Prio
5580: 72 69 74 79 3b 0d 0a 20 20 20 20 20 20 20 20 44 rity;.. D
5590: 57 4f 52 44 20 4c 4f 44 3b 0d 0a 20 20 20 20 20 WORD LOD;..
55a0: 20 20 20 44 33 44 54 45 58 54 55 52 45 46 49 4c D3DTEXTUREFIL
55b0: 54 45 52 54 59 50 45 20 46 69 6c 74 65 72 54 79 TERTYPE FilterTy
55c0: 70 65 3b 0d 0a 20 20 20 20 20 20 20 20 55 49 4e pe;.. UIN
55d0: 54 20 4c 6f 63 6b 43 6f 75 6e 74 3b 0d 0a 20 20 T LockCount;..
55e0: 20 20 20 20 20 20 4c 50 43 57 53 54 52 20 43 72 LPCWSTR Cr
55f0: 65 61 74 69 6f 6e 43 61 6c 6c 53 74 61 63 6b 3b eationCallStack;
5600: 0d 0a 20 20 20 20 7d 0d 0a 2a 2f 0d 0a 7d 0d 0a .. }..*/..}..
5610: 0d 0a 61 6c 69 61 73 20 4c 50 44 49 52 45 43 54 ..alias LPDIRECT
5620: 33 44 54 45 58 54 55 52 45 39 20 49 44 69 72 65 3DTEXTURE9 IDire
5630: 63 74 33 44 54 65 78 74 75 72 65 39 3b 0d 0a 0d ct3DTexture9;...
5640: 0a 69 6e 74 65 72 66 61 63 65 20 4c 50 44 49 52 .interface LPDIR
5650: 45 43 54 33 44 56 4f 4c 55 4d 45 54 45 58 54 55 ECT3DVOLUMETEXTU
5660: 52 45 39 20 3a 20 4c 50 44 49 52 45 43 54 33 44 RE9 : LPDIRECT3D
5670: 42 41 53 45 54 45 58 54 55 52 45 39 0d 0a 7b 0d BASETEXTURE9..{.
5680: 0a 20 20 20 20 48 52 45 53 55 4c 54 20 47 65 74 . HRESULT Get
5690: 4c 65 76 65 6c 44 65 73 63 28 20 55 49 4e 54 20 LevelDesc( UINT
56a0: 4c 65 76 65 6c 2c 44 33 44 56 4f 4c 55 4d 45 5f Level,D3DVOLUME_
56b0: 44 45 53 43 20 2a 70 44 65 73 63 29 3b 0d 0a 20 DESC *pDesc);..
56c0: 20 20 20 48 52 45 53 55 4c 54 20 47 65 74 56 6f HRESULT GetVo
56d0: 6c 75 6d 65 4c 65 76 65 6c 28 20 55 49 4e 54 20 lumeLevel( UINT
56e0: 4c 65 76 65 6c 2c 4c 50 44 49 52 45 43 54 33 44 Level,LPDIRECT3D
56f0: 56 4f 4c 55 4d 45 39 2a 20 70 70 56 6f 6c 75 6d VOLUME9* ppVolum
5700: 65 4c 65 76 65 6c 29 3b 0d 0a 20 20 20 20 48 52 eLevel);.. HR
5710: 45 53 55 4c 54 20 4c 6f 63 6b 42 6f 78 28 20 55 ESULT LockBox( U
5720: 49 4e 54 20 4c 65 76 65 6c 2c 44 33 44 4c 4f 43 INT Level,D3DLOC
5730: 4b 45 44 5f 42 4f 58 2a 20 70 4c 6f 63 6b 65 64 KED_BOX* pLocked
5740: 56 6f 6c 75 6d 65 2c 20 44 33 44 42 4f 58 2a 20 Volume, D3DBOX*
5750: 70 42 6f 78 2c 44 57 4f 52 44 20 46 6c 61 67 73 pBox,DWORD Flags
5760: 29 3b 0d 0a 20 20 20 20 48 52 45 53 55 4c 54 20 );.. HRESULT
5770: 55 6e 6c 6f 63 6b 42 6f 78 28 20 55 49 4e 54 20 UnlockBox( UINT
5780: 4c 65 76 65 6c 29 3b 0d 0a 20 20 20 20 48 52 45 Level);.. HRE
5790: 53 55 4c 54 20 41 64 64 44 69 72 74 79 42 6f 78 SULT AddDirtyBox
57a0: 28 20 44 33 44 42 4f 58 2a 20 70 44 69 72 74 79 ( D3DBOX* pDirty
57b0: 42 6f 78 29 3b 0d 0a 2f 2a 0d 0a 20 20 20 20 64 Box);../*.. d
57c0: 65 62 75 67 20 7b 0d 0a 20 20 20 20 20 20 20 20 ebug {..
57d0: 4c 50 43 57 53 54 52 20 4e 61 6d 65 3b 0d 0a 20 LPCWSTR Name;..
57e0: 20 20 20 20 20 20 20 55 49 4e 54 20 57 69 64 74 UINT Widt
57f0: 68 3b 0d 0a 20 20 20 20 20 20 20 20 55 49 4e 54 h;.. UINT
5800: 20 48 65 69 67 68 74 3b 0d 0a 20 20 20 20 20 20 Height;..
5810: 20 20 55 49 4e 54 20 44 65 70 74 68 3b 0d 0a 20 UINT Depth;..
5820: 20 20 20 20 20 20 20 55 49 4e 54 20 4c 65 76 65 UINT Leve
5830: 6c 73 3b 0d 0a 20 20 20 20 20 20 20 20 44 57 4f ls;.. DWO
5840: 52 44 20 55 73 61 67 65 3b 0d 0a 20 20 20 20 20 RD Usage;..
5850: 20 20 20 44 33 44 46 4f 52 4d 41 54 20 46 6f 72 D3DFORMAT For
5860: 6d 61 74 3b 0d 0a 20 20 20 20 20 20 20 20 44 33 mat;.. D3
5870: 44 50 4f 4f 4c 20 50 6f 6f 6c 3b 0d 0a 20 20 20 DPOOL Pool;..
5880: 20 20 20 20 20 44 57 4f 52 44 20 50 72 69 6f 72 DWORD Prior
5890: 69 74 79 3b 0d 0a 20 20 20 20 20 20 20 20 44 57 ity;.. DW
58a0: 4f 52 44 20 4c 4f 44 3b 0d 0a 20 20 20 20 20 20 ORD LOD;..
58b0: 20 20 44 33 44 54 45 58 54 55 52 45 46 49 4c 54 D3DTEXTUREFILT
58c0: 45 52 54 59 50 45 20 46 69 6c 74 65 72 54 79 70 ERTYPE FilterTyp
58d0: 65 3b 0d 0a 20 20 20 20 20 20 20 20 55 49 4e 54 e;.. UINT
58e0: 20 4c 6f 63 6b 43 6f 75 6e 74 3b 0d 0a 20 20 20 LockCount;..
58f0: 20 20 20 20 20 4c 50 43 57 53 54 52 20 43 72 65 LPCWSTR Cre
5900: 61 74 69 6f 6e 43 61 6c 6c 53 74 61 63 6b 3b 0d ationCallStack;.
5910: 0a 20 20 20 20 7d 0d 0a 2a 2f 0d 0a 7d 0d 0a 0d . }..*/..}...
5920: 0a 61 6c 69 61 73 20 4c 50 44 49 52 45 43 54 33 .alias LPDIRECT3
5930: 44 56 4f 4c 55 4d 45 54 45 58 54 55 52 45 39 20 DVOLUMETEXTURE9
5940: 49 44 69 72 65 63 74 33 44 56 6f 6c 75 6d 65 54 IDirect3DVolumeT
5950: 65 78 74 75 72 65 39 3b 0d 0a 0d 0a 69 6e 74 65 exture9;....inte
5960: 72 66 61 63 65 20 4c 50 44 49 52 45 43 54 33 44 rface LPDIRECT3D
5970: 43 55 42 45 54 45 58 54 55 52 45 39 20 3a 20 4c CUBETEXTURE9 : L
5980: 50 44 49 52 45 43 54 33 44 42 41 53 45 54 45 58 PDIRECT3DBASETEX
5990: 54 55 52 45 39 0d 0a 7b 0d 0a 20 20 20 20 48 52 TURE9..{.. HR
59a0: 45 53 55 4c 54 20 47 65 74 4c 65 76 65 6c 44 65 ESULT GetLevelDe
59b0: 73 63 28 20 55 49 4e 54 20 4c 65 76 65 6c 2c 44 sc( UINT Level,D
59c0: 33 44 53 55 52 46 41 43 45 5f 44 45 53 43 20 2a 3DSURFACE_DESC *
59d0: 70 44 65 73 63 29 3b 0d 0a 20 20 20 20 48 52 45 pDesc);.. HRE
59e0: 53 55 4c 54 20 47 65 74 43 75 62 65 4d 61 70 53 SULT GetCubeMapS
59f0: 75 72 66 61 63 65 28 20 44 33 44 43 55 42 45 4d urface( D3DCUBEM
5a00: 41 50 5f 46 41 43 45 53 20 46 61 63 65 54 79 70 AP_FACES FaceTyp
5a10: 65 2c 55 49 4e 54 20 4c 65 76 65 6c 2c 4c 50 44 e,UINT Level,LPD
5a20: 49 52 45 43 54 33 44 53 55 52 46 41 43 45 39 2a IRECT3DSURFACE9*
5a30: 20 70 70 43 75 62 65 4d 61 70 53 75 72 66 61 63 ppCubeMapSurfac
5a40: 65 29 3b 0d 0a 20 20 20 20 48 52 45 53 55 4c 54 e);.. HRESULT
5a50: 20 4c 6f 63 6b 52 65 63 74 28 20 44 33 44 43 55 LockRect( D3DCU
5a60: 42 45 4d 41 50 5f 46 41 43 45 53 20 46 61 63 65 BEMAP_FACES Face
5a70: 54 79 70 65 2c 55 49 4e 54 20 4c 65 76 65 6c 2c Type,UINT Level,
5a80: 44 33 44 4c 4f 43 4b 45 44 5f 52 45 43 54 2a 20 D3DLOCKED_RECT*
5a90: 70 4c 6f 63 6b 65 64 52 65 63 74 2c 20 52 45 43 pLockedRect, REC
5aa0: 54 2a 20 70 52 65 63 74 2c 44 57 4f 52 44 20 46 T* pRect,DWORD F
5ab0: 6c 61 67 73 29 3b 0d 0a 20 20 20 20 48 52 45 53 lags);.. HRES
5ac0: 55 4c 54 20 55 6e 6c 6f 63 6b 52 65 63 74 28 20 ULT UnlockRect(
5ad0: 44 33 44 43 55 42 45 4d 41 50 5f 46 41 43 45 53 D3DCUBEMAP_FACES
5ae0: 20 46 61 63 65 54 79 70 65 2c 55 49 4e 54 20 4c FaceType,UINT L
5af0: 65 76 65 6c 29 3b 0d 0a 20 20 20 20 48 52 45 53 evel);.. HRES
5b00: 55 4c 54 20 41 64 64 44 69 72 74 79 52 65 63 74 ULT AddDirtyRect
5b10: 28 20 44 33 44 43 55 42 45 4d 41 50 5f 46 41 43 ( D3DCUBEMAP_FAC
5b20: 45 53 20 46 61 63 65 54 79 70 65 2c 20 52 45 43 ES FaceType, REC
5b30: 54 2a 20 70 44 69 72 74 79 52 65 63 74 29 3b 0d T* pDirtyRect);.
5b40: 0a 2f 2a 0d 0a 20 20 20 20 64 65 62 75 67 20 7b ./*.. debug {
5b50: 0d 0a 20 20 20 20 20 20 20 20 4c 50 43 57 53 54 .. LPCWST
5b60: 52 20 4e 61 6d 65 3b 0d 0a 20 20 20 20 20 20 20 R Name;..
5b70: 20 55 49 4e 54 20 57 69 64 74 68 3b 0d 0a 20 20 UINT Width;..
5b80: 20 20 20 20 20 20 55 49 4e 54 20 48 65 69 67 68 UINT Heigh
5b90: 74 3b 0d 0a 20 20 20 20 20 20 20 20 55 49 4e 54 t;.. UINT
5ba0: 20 4c 65 76 65 6c 73 3b 0d 0a 20 20 20 20 20 20 Levels;..
5bb0: 20 20 44 57 4f 52 44 20 55 73 61 67 65 3b 0d 0a DWORD Usage;..
5bc0: 20 20 20 20 20 20 20 20 44 33 44 46 4f 52 4d 41 D3DFORMA
5bd0: 54 20 46 6f 72 6d 61 74 3b 0d 0a 20 20 20 20 20 T Format;..
5be0: 20 20 20 44 33 44 50 4f 4f 4c 20 50 6f 6f 6c 3b D3DPOOL Pool;
5bf0: 0d 0a 20 20 20 20 20 20 20 20 44 57 4f 52 44 20 .. DWORD
5c00: 50 72 69 6f 72 69 74 79 3b 0d 0a 20 20 20 20 20 Priority;..
5c10: 20 20 20 44 57 4f 52 44 20 4c 4f 44 3b 0d 0a 20 DWORD LOD;..
5c20: 20 20 20 20 20 20 20 44 33 44 54 45 58 54 55 52 D3DTEXTUR
5c30: 45 46 49 4c 54 45 52 54 59 50 45 20 46 69 6c 74 EFILTERTYPE Filt
5c40: 65 72 54 79 70 65 3b 0d 0a 20 20 20 20 20 20 20 erType;..
5c50: 20 55 49 4e 54 20 4c 6f 63 6b 43 6f 75 6e 74 3b UINT LockCount;
5c60: 0d 0a 20 20 20 20 20 20 20 20 4c 50 43 57 53 54 .. LPCWST
5c70: 52 20 43 72 65 61 74 69 6f 6e 43 61 6c 6c 53 74 R CreationCallSt
5c80: 61 63 6b 3b 0d 0a 20 20 20 20 7d 0d 0a 2a 2f 0d ack;.. }..*/.
5c90: 0a 7d 0d 0a 0d 0a 61 6c 69 61 73 20 4c 50 44 49 .}....alias LPDI
5ca0: 52 45 43 54 33 44 43 55 42 45 54 45 58 54 55 52 RECT3DCUBETEXTUR
5cb0: 45 39 20 49 44 69 72 65 63 74 33 44 43 75 62 65 E9 IDirect3DCube
5cc0: 54 65 78 74 75 72 65 39 3b 0d 0a 0d 0a 69 6e 74 Texture9;....int
5cd0: 65 72 66 61 63 65 20 4c 50 44 49 52 45 43 54 33 erface LPDIRECT3
5ce0: 44 56 45 52 54 45 58 42 55 46 46 45 52 39 20 3a DVERTEXBUFFER9 :
5cf0: 20 4c 50 44 49 52 45 43 54 33 44 52 45 53 4f 55 LPDIRECT3DRESOU
5d00: 52 43 45 39 0d 0a 7b 0d 0a 20 20 20 20 48 52 45 RCE9..{.. HRE
5d10: 53 55 4c 54 20 4c 6f 63 6b 28 20 55 49 4e 54 20 SULT Lock( UINT
5d20: 4f 66 66 73 65 74 54 6f 4c 6f 63 6b 2c 55 49 4e OffsetToLock,UIN
5d30: 54 20 53 69 7a 65 54 6f 4c 6f 63 6b 2c 76 6f 69 T SizeToLock,voi
5d40: 64 2a 2a 20 70 70 62 44 61 74 61 2c 44 57 4f 52 d** ppbData,DWOR
5d50: 44 20 46 6c 61 67 73 29 3b 0d 0a 20 20 20 20 48 D Flags);.. H
5d60: 52 45 53 55 4c 54 20 55 6e 6c 6f 63 6b 28 29 3b RESULT Unlock();
5d70: 0d 0a 20 20 20 20 48 52 45 53 55 4c 54 20 47 65 .. HRESULT Ge
5d80: 74 44 65 73 63 28 20 44 33 44 56 45 52 54 45 58 tDesc( D3DVERTEX
5d90: 42 55 46 46 45 52 5f 44 45 53 43 20 2a 70 44 65 BUFFER_DESC *pDe
5da0: 73 63 29 3b 0d 0a 2f 2a 0d 0a 20 20 20 20 64 65 sc);../*.. de
5db0: 62 75 67 20 7b 0d 0a 20 20 20 20 20 20 20 20 4c bug {.. L
5dc0: 50 43 57 53 54 52 20 4e 61 6d 65 3b 0d 0a 20 20 PCWSTR Name;..
5dd0: 20 20 20 20 20 20 55 49 4e 54 20 4c 65 6e 67 74 UINT Lengt
5de0: 68 3b 0d 0a 20 20 20 20 20 20 20 20 44 57 4f 52 h;.. DWOR
5df0: 44 20 55 73 61 67 65 3b 0d 0a 20 20 20 20 20 20 D Usage;..
5e00: 20 20 44 57 4f 52 44 20 46 56 46 3b 0d 0a 20 20 DWORD FVF;..
5e10: 20 20 20 20 20 20 44 33 44 50 4f 4f 4c 20 50 6f D3DPOOL Po
5e20: 6f 6c 3b 0d 0a 20 20 20 20 20 20 20 20 44 57 4f ol;.. DWO
5e30: 52 44 20 50 72 69 6f 72 69 74 79 3b 0d 0a 20 20 RD Priority;..
5e40: 20 20 20 20 20 20 55 49 4e 54 20 4c 6f 63 6b 43 UINT LockC
5e50: 6f 75 6e 74 3b 0d 0a 20 20 20 20 20 20 20 20 4c ount;.. L
5e60: 50 43 57 53 54 52 20 43 72 65 61 74 69 6f 6e 43 PCWSTR CreationC
5e70: 61 6c 6c 53 74 61 63 6b 3b 0d 0a 20 20 20 20 7d allStack;.. }
5e80: 0d 0a 2a 2f 0d 0a 7d 0d 0a 0d 0a 61 6c 69 61 73 ..*/..}....alias
5e90: 20 4c 50 44 49 52 45 43 54 33 44 56 45 52 54 45 LPDIRECT3DVERTE
5ea0: 58 42 55 46 46 45 52 39 20 49 44 69 72 65 63 74 XBUFFER9 IDirect
5eb0: 33 44 56 65 72 74 65 78 42 75 66 66 65 72 39 3b 3DVertexBuffer9;
5ec0: 0d 0a 0d 0a 69 6e 74 65 72 66 61 63 65 20 4c 50 ....interface LP
5ed0: 44 49 52 45 43 54 33 44 49 4e 44 45 58 42 55 46 DIRECT3DINDEXBUF
5ee0: 46 45 52 39 20 3a 20 4c 50 44 49 52 45 43 54 33 FER9 : LPDIRECT3
5ef0: 44 52 45 53 4f 55 52 43 45 39 0d 0a 7b 0d 0a 20 DRESOURCE9..{..
5f00: 20 20 20 48 52 45 53 55 4c 54 20 4c 6f 63 6b 28 HRESULT Lock(
5f10: 20 55 49 4e 54 20 4f 66 66 73 65 74 54 6f 4c 6f UINT OffsetToLo
5f20: 63 6b 2c 55 49 4e 54 20 53 69 7a 65 54 6f 4c 6f ck,UINT SizeToLo
5f30: 63 6b 2c 76 6f 69 64 2a 2a 20 70 70 62 44 61 74 ck,void** ppbDat
5f40: 61 2c 44 57 4f 52 44 20 46 6c 61 67 73 29 3b 0d a,DWORD Flags);.
5f50: 0a 20 20 20 20 48 52 45 53 55 4c 54 20 55 6e 6c . HRESULT Unl
5f60: 6f 63 6b 28 29 3b 0d 0a 20 20 20 20 48 52 45 53 ock();.. HRES
5f70: 55 4c 54 20 47 65 74 44 65 73 63 28 20 44 33 44 ULT GetDesc( D3D
5f80: 49 4e 44 45 58 42 55 46 46 45 52 5f 44 45 53 43 INDEXBUFFER_DESC
5f90: 20 2a 70 44 65 73 63 29 3b 0d 0a 2f 2a 0d 0a 20 *pDesc);../*..
5fa0: 20 20 20 64 65 62 75 67 20 7b 0d 0a 20 20 20 20 debug {..
5fb0: 20 20 20 20 4c 50 43 57 53 54 52 20 4e 61 6d 65 LPCWSTR Name
5fc0: 3b 0d 0a 20 20 20 20 20 20 20 20 55 49 4e 54 20 ;.. UINT
5fd0: 4c 65 6e 67 74 68 3b 0d 0a 20 20 20 20 20 20 20 Length;..
5fe0: 20 44 57 4f 52 44 20 55 73 61 67 65 3b 0d 0a 20 DWORD Usage;..
5ff0: 20 20 20 20 20 20 20 44 33 44 46 4f 52 4d 41 54 D3DFORMAT
6000: 20 46 6f 72 6d 61 74 3b 0d 0a 20 20 20 20 20 20 Format;..
6010: 20 20 44 33 44 50 4f 4f 4c 20 50 6f 6f 6c 3b 0d D3DPOOL Pool;.
6020: 0a 20 20 20 20 20 20 20 20 44 57 4f 52 44 20 50 . DWORD P
6030: 72 69 6f 72 69 74 79 3b 0d 0a 20 20 20 20 20 20 riority;..
6040: 20 20 55 49 4e 54 20 4c 6f 63 6b 43 6f 75 6e 74 UINT LockCount
6050: 3b 0d 0a 20 20 20 20 20 20 20 20 4c 50 43 57 53 ;.. LPCWS
6060: 54 52 20 43 72 65 61 74 69 6f 6e 43 61 6c 6c 53 TR CreationCallS
6070: 74 61 63 6b 3b 0d 0a 20 20 20 20 7d 0d 0a 2a 2f tack;.. }..*/
6080: 0d 0a 7d 0d 0a 0d 0a 61 6c 69 61 73 20 4c 50 44 ..}....alias LPD
6090: 49 52 45 43 54 33 44 49 4e 44 45 58 42 55 46 46 IRECT3DINDEXBUFF
60a0: 45 52 39 20 49 44 69 72 65 63 74 33 44 49 6e 64 ER9 IDirect3DInd
60b0: 65 78 42 75 66 66 65 72 39 3b 0d 0a 0d 0a 69 6e exBuffer9;....in
60c0: 74 65 72 66 61 63 65 20 4c 50 44 49 52 45 43 54 terface LPDIRECT
60d0: 33 44 53 55 52 46 41 43 45 39 20 3a 20 4c 50 44 3DSURFACE9 : LPD
60e0: 49 52 45 43 54 33 44 52 45 53 4f 55 52 43 45 39 IRECT3DRESOURCE9
60f0: 0d 0a 7b 0d 0a 20 20 20 20 48 52 45 53 55 4c 54 ..{.. HRESULT
6100: 20 47 65 74 43 6f 6e 74 61 69 6e 65 72 28 20 52 GetContainer( R
6110: 45 46 49 49 44 20 72 69 69 64 2c 76 6f 69 64 2a EFIID riid,void*
6120: 2a 20 70 70 43 6f 6e 74 61 69 6e 65 72 29 3b 0d * ppContainer);.
6130: 0a 20 20 20 20 48 52 45 53 55 4c 54 20 47 65 74 . HRESULT Get
6140: 44 65 73 63 28 20 44 33 44 53 55 52 46 41 43 45 Desc( D3DSURFACE
6150: 5f 44 45 53 43 20 2a 70 44 65 73 63 29 3b 0d 0a _DESC *pDesc);..
6160: 20 20 20 20 48 52 45 53 55 4c 54 20 4c 6f 63 6b HRESULT Lock
6170: 52 65 63 74 28 20 44 33 44 4c 4f 43 4b 45 44 5f Rect( D3DLOCKED_
6180: 52 45 43 54 2a 20 70 4c 6f 63 6b 65 64 52 65 63 RECT* pLockedRec
6190: 74 2c 20 52 45 43 54 2a 20 70 52 65 63 74 2c 44 t, RECT* pRect,D
61a0: 57 4f 52 44 20 46 6c 61 67 73 29 3b 0d 0a 20 20 WORD Flags);..
61b0: 20 20 48 52 45 53 55 4c 54 20 55 6e 6c 6f 63 6b HRESULT Unlock
61c0: 52 65 63 74 28 29 3b 0d 0a 20 20 20 20 48 52 45 Rect();.. HRE
61d0: 53 55 4c 54 20 47 65 74 44 43 28 20 48 44 43 20 SULT GetDC( HDC
61e0: 2a 70 68 64 63 29 3b 0d 0a 20 20 20 20 48 52 45 *phdc);.. HRE
61f0: 53 55 4c 54 20 52 65 6c 65 61 73 65 44 43 28 20 SULT ReleaseDC(
6200: 48 44 43 20 68 64 63 29 3b 0d 0a 2f 2a 0d 0a 20 HDC hdc);../*..
6210: 20 20 20 64 65 62 75 67 20 7b 0d 0a 20 20 20 20 debug {..
6220: 20 20 20 20 4c 50 43 57 53 54 52 20 4e 61 6d 65 LPCWSTR Name
6230: 3b 0d 0a 20 20 20 20 20 20 20 20 55 49 4e 54 20 ;.. UINT
6240: 57 69 64 74 68 3b 0d 0a 20 20 20 20 20 20 20 20 Width;..
6250: 55 49 4e 54 20 48 65 69 67 68 74 3b 0d 0a 20 20 UINT Height;..
6260: 20 20 20 20 20 20 44 57 4f 52 44 20 55 73 61 67 DWORD Usag
6270: 65 3b 0d 0a 20 20 20 20 20 20 20 20 44 33 44 46 e;.. D3DF
6280: 4f 52 4d 41 54 20 46 6f 72 6d 61 74 3b 0d 0a 20 ORMAT Format;..
6290: 20 20 20 20 20 20 20 44 33 44 50 4f 4f 4c 20 50 D3DPOOL P
62a0: 6f 6f 6c 3b 0d 0a 20 20 20 20 20 20 20 20 44 33 ool;.. D3
62b0: 44 4d 55 4c 54 49 53 41 4d 50 4c 45 5f 54 59 50 DMULTISAMPLE_TYP
62c0: 45 20 4d 75 6c 74 69 53 61 6d 70 6c 65 54 79 70 E MultiSampleTyp
62d0: 65 3b 0d 0a 20 20 20 20 20 20 20 20 44 57 4f 52 e;.. DWOR
62e0: 44 20 4d 75 6c 74 69 53 61 6d 70 6c 65 51 75 61 D MultiSampleQua
62f0: 6c 69 74 79 3b 0d 0a 20 20 20 20 20 20 20 20 44 lity;.. D
6300: 57 4f 52 44 20 50 72 69 6f 72 69 74 79 3b 0d 0a WORD Priority;..
6310: 20 20 20 20 20 20 20 20 55 49 4e 54 20 4c 6f 63 UINT Loc
6320: 6b 43 6f 75 6e 74 3b 0d 0a 20 20 20 20 20 20 20 kCount;..
6330: 20 55 49 4e 54 20 44 43 43 6f 75 6e 74 3b 0d 0a UINT DCCount;..
6340: 20 20 20 20 20 20 20 20 4c 50 43 57 53 54 52 20 LPCWSTR
6350: 43 72 65 61 74 69 6f 6e 43 61 6c 6c 53 74 61 63 CreationCallStac
6360: 6b 3b 0d 0a 20 20 20 20 7d 0d 0a 2a 2f 0d 0a 7d k;.. }..*/..}
6370: 0d 0a 0d 0a 61 6c 69 61 73 20 4c 50 44 49 52 45 ....alias LPDIRE
6380: 43 54 33 44 53 55 52 46 41 43 45 39 20 49 44 69 CT3DSURFACE9 IDi
6390: 72 65 63 74 33 44 53 75 72 66 61 63 65 39 3b 0d rect3DSurface9;.
63a0: 0a 0d 0a 69 6e 74 65 72 66 61 63 65 20 4c 50 44 ...interface LPD
63b0: 49 52 45 43 54 33 44 56 4f 4c 55 4d 45 39 20 3a IRECT3DVOLUME9 :
63c0: 20 49 55 6e 6b 6e 6f 77 6e 0d 0a 7b 0d 0a 20 20 IUnknown..{..
63d0: 20 20 48 52 45 53 55 4c 54 20 47 65 74 44 65 76 HRESULT GetDev
63e0: 69 63 65 28 20 4c 50 44 49 52 45 43 54 33 44 44 ice( LPDIRECT3DD
63f0: 45 56 49 43 45 39 20 2a 20 70 70 44 65 76 69 63 EVICE9 * ppDevic
6400: 65 29 3b 0d 0a 20 20 20 20 48 52 45 53 55 4c 54 e);.. HRESULT
6410: 20 53 65 74 50 72 69 76 61 74 65 44 61 74 61 28 SetPrivateData(
6420: 20 52 45 46 47 55 49 44 20 72 65 66 67 75 69 64 REFGUID refguid
6430: 2c 20 76 6f 69 64 2a 20 70 44 61 74 61 2c 44 57 , void* pData,DW
6440: 4f 52 44 20 53 69 7a 65 4f 66 44 61 74 61 2c 44 ORD SizeOfData,D
6450: 57 4f 52 44 20 46 6c 61 67 73 29 3b 0d 0a 20 20 WORD Flags);..
6460: 20 20 48 52 45 53 55 4c 54 20 47 65 74 50 72 69 HRESULT GetPri
6470: 76 61 74 65 44 61 74 61 28 20 52 45 46 47 55 49 vateData( REFGUI
6480: 44 20 72 65 66 67 75 69 64 2c 76 6f 69 64 2a 20 D refguid,void*
6490: 70 44 61 74 61 2c 44 57 4f 52 44 2a 20 70 53 69 pData,DWORD* pSi
64a0: 7a 65 4f 66 44 61 74 61 29 3b 0d 0a 20 20 20 20 zeOfData);..
64b0: 48 52 45 53 55 4c 54 20 46 72 65 65 50 72 69 76 HRESULT FreePriv
64c0: 61 74 65 44 61 74 61 28 20 52 45 46 47 55 49 44 ateData( REFGUID
64d0: 20 72 65 66 67 75 69 64 29 3b 0d 0a 20 20 20 20 refguid);..
64e0: 48 52 45 53 55 4c 54 20 47 65 74 43 6f 6e 74 61 HRESULT GetConta
64f0: 69 6e 65 72 28 20 52 45 46 49 49 44 20 72 69 69 iner( REFIID rii
6500: 64 2c 76 6f 69 64 2a 2a 20 70 70 43 6f 6e 74 61 d,void** ppConta
6510: 69 6e 65 72 29 3b 0d 0a 20 20 20 20 48 52 45 53 iner);.. HRES
6520: 55 4c 54 20 47 65 74 44 65 73 63 28 20 44 33 44 ULT GetDesc( D3D
6530: 56 4f 4c 55 4d 45 5f 44 45 53 43 20 2a 70 44 65 VOLUME_DESC *pDe
6540: 73 63 29 3b 0d 0a 20 20 20 20 48 52 45 53 55 4c sc);.. HRESUL
6550: 54 20 4c 6f 63 6b 42 6f 78 28 20 44 33 44 4c 4f T LockBox( D3DLO
6560: 43 4b 45 44 5f 42 4f 58 20 2a 20 70 4c 6f 63 6b CKED_BOX * pLock
6570: 65 64 56 6f 6c 75 6d 65 2c 20 44 33 44 42 4f 58 edVolume, D3DBOX
6580: 2a 20 70 42 6f 78 2c 44 57 4f 52 44 20 46 6c 61 * pBox,DWORD Fla
6590: 67 73 29 3b 0d 0a 20 20 20 20 48 52 45 53 55 4c gs);.. HRESUL
65a0: 54 20 55 6e 6c 6f 63 6b 42 6f 78 28 29 3b 0d 0a T UnlockBox();..
65b0: 2f 2a 0d 0a 20 20 20 20 64 65 62 75 67 20 7b 0d /*.. debug {.
65c0: 0a 20 20 20 20 20 20 20 20 4c 50 43 57 53 54 52 . LPCWSTR
65d0: 20 4e 61 6d 65 3b 0d 0a 20 20 20 20 20 20 20 20 Name;..
65e0: 55 49 4e 54 20 57 69 64 74 68 3b 0d 0a 20 20 20 UINT Width;..
65f0: 20 20 20 20 20 55 49 4e 54 20 48 65 69 67 68 74 UINT Height
6600: 3b 0d 0a 20 20 20 20 20 20 20 20 55 49 4e 54 20 ;.. UINT
6610: 44 65 70 74 68 3b 0d 0a 20 20 20 20 20 20 20 20 Depth;..
6620: 44 57 4f 52 44 20 55 73 61 67 65 3b 0d 0a 20 20 DWORD Usage;..
6630: 20 20 20 20 20 20 44 33 44 46 4f 52 4d 41 54 20 D3DFORMAT
6640: 46 6f 72 6d 61 74 3b 0d 0a 20 20 20 20 20 20 20 Format;..
6650: 20 44 33 44 50 4f 4f 4c 20 50 6f 6f 6c 3b 0d 0a D3DPOOL Pool;..
6660: 20 20 20 20 20 20 20 20 55 49 4e 54 20 4c 6f 63 UINT Loc
6670: 6b 43 6f 75 6e 74 3b 0d 0a 20 20 20 20 20 20 20 kCount;..
6680: 20 4c 50 43 57 53 54 52 20 43 72 65 61 74 69 6f LPCWSTR Creatio
6690: 6e 43 61 6c 6c 53 74 61 63 6b 3b 0d 0a 20 20 20 nCallStack;..
66a0: 20 7d 0d 0a 2a 2f 0d 0a 7d 0d 0a 0d 0a 61 6c 69 }..*/..}....ali
66b0: 61 73 20 4c 50 44 49 52 45 43 54 33 44 56 4f 4c as LPDIRECT3DVOL
66c0: 55 4d 45 39 20 49 44 69 72 65 63 74 33 44 56 6f UME9 IDirect3DVo
66d0: 6c 75 6d 65 39 3b 0d 0a 0d 0a 69 6e 74 65 72 66 lume9;....interf
66e0: 61 63 65 20 4c 50 44 49 52 45 43 54 33 44 51 55 ace LPDIRECT3DQU
66f0: 45 52 59 39 20 3a 20 49 55 6e 6b 6e 6f 77 6e 0d ERY9 : IUnknown.
6700: 0a 7b 0d 0a 20 20 20 20 48 52 45 53 55 4c 54 20 .{.. HRESULT
6710: 47 65 74 44 65 76 69 63 65 28 20 4c 50 44 49 52 GetDevice( LPDIR
6720: 45 43 54 33 44 44 45 56 49 43 45 39 2a 20 70 70 ECT3DDEVICE9* pp
6730: 44 65 76 69 63 65 29 3b 0d 0a 20 20 20 20 44 33 Device);.. D3
6740: 44 51 55 45 52 59 54 59 50 45 20 47 65 74 54 79 DQUERYTYPE GetTy
6750: 70 65 28 29 3b 0d 0a 20 20 20 20 44 57 4f 52 44 pe();.. DWORD
6760: 20 47 65 74 44 61 74 61 53 69 7a 65 28 29 3b 0d GetDataSize();.
6770: 0a 20 20 20 20 48 52 45 53 55 4c 54 20 49 73 73 . HRESULT Iss
6780: 75 65 28 20 44 57 4f 52 44 20 64 77 49 73 73 75 ue( DWORD dwIssu
6790: 65 46 6c 61 67 73 29 3b 0d 0a 20 20 20 20 48 52 eFlags);.. HR
67a0: 45 53 55 4c 54 20 47 65 74 44 61 74 61 28 20 76 ESULT GetData( v
67b0: 6f 69 64 2a 20 70 44 61 74 61 2c 44 57 4f 52 44 oid* pData,DWORD
67c0: 20 64 77 53 69 7a 65 2c 44 57 4f 52 44 20 64 77 dwSize,DWORD dw
67d0: 47 65 74 44 61 74 61 46 6c 61 67 73 29 3b 0d 0a GetDataFlags);..
67e0: 2f 2a 0d 0a 20 20 20 20 64 65 62 75 67 20 7b 0d /*.. debug {.
67f0: 0a 20 20 20 20 20 20 20 20 44 33 44 51 55 45 52 . D3DQUER
6800: 59 54 59 50 45 20 54 79 70 65 3b 0d 0a 20 20 20 YTYPE Type;..
6810: 20 20 20 20 20 44 57 4f 52 44 20 44 61 74 61 53 DWORD DataS
6820: 69 7a 65 3b 0d 0a 20 20 20 20 20 20 20 20 4c 50 ize;.. LP
6830: 43 57 53 54 52 20 43 72 65 61 74 69 6f 6e 43 61 CWSTR CreationCa
6840: 6c 6c 53 74 61 63 6b 3b 0d 0a 20 20 20 20 7d 0d llStack;.. }.
6850: 0a 2a 2f 0d 0a 7d 0d 0a 0d 0a 61 6c 69 61 73 20 .*/..}....alias
6860: 4c 50 44 49 52 45 43 54 33 44 51 55 45 52 59 39 LPDIRECT3DQUERY9
6870: 20 49 44 69 72 65 63 74 33 44 51 75 65 72 79 39 IDirect3DQuery9
6880: 3b 0d 0a 0d 0a 2f 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ;..../**********
6890: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
68a0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
68b0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
68c0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
68d0: 2a 2a 0d 0a 20 2a 20 46 6c 61 67 73 20 66 6f 72 **.. * Flags for
68e0: 20 53 65 74 50 72 69 76 61 74 65 44 61 74 61 20 SetPrivateData
68f0: 6d 65 74 68 6f 64 20 6f 6e 20 61 6c 6c 20 44 33 method on all D3
6900: 44 39 20 69 6e 74 65 72 66 61 63 65 73 0d 0a 20 D9 interfaces..
6910: 2a 0d 0a 20 2a 20 54 68 65 20 70 61 73 73 65 64 *.. * The passed
6920: 20 70 6f 69 6e 74 65 72 20 69 73 20 61 6e 20 49 pointer is an I
6930: 55 6e 6b 6e 6f 77 6e 20 70 74 72 2e 20 54 68 65 Unknown ptr. The
6940: 20 53 69 7a 65 4f 66 44 61 74 61 20 61 72 67 75 SizeOfData argu
6950: 6d 65 6e 74 20 74 6f 20 53 65 74 50 72 69 76 61 ment to SetPriva
6960: 74 65 44 61 74 61 0d 0a 20 2a 20 6d 75 73 74 20 teData.. * must
6970: 62 65 20 73 65 74 20 74 6f 20 73 69 7a 65 6f 66 be set to sizeof
6980: 28 49 55 6e 6b 6e 6f 77 6e 2a 29 2e 20 44 69 72 (IUnknown*). Dir
6990: 65 63 74 33 44 20 77 69 6c 6c 20 63 61 6c 6c 20 ect3D will call
69a0: 41 64 64 52 65 66 20 74 68 72 6f 75 67 68 20 74 AddRef through t
69b0: 68 69 73 0d 0a 20 2a 20 70 6f 69 6e 74 65 72 20 his.. * pointer
69c0: 61 6e 64 20 52 65 6c 65 61 73 65 20 77 68 65 6e and Release when
69d0: 20 74 68 65 20 70 72 69 76 61 74 65 20 64 61 74 the private dat
69e0: 61 20 69 73 20 64 65 73 74 72 6f 79 65 64 2e 20 a is destroyed.
69f0: 54 68 65 20 64 61 74 61 20 77 69 6c 6c 20 62 65 The data will be
6a00: 0d 0a 20 2a 20 64 65 73 74 72 6f 79 65 64 20 77 .. * destroyed w
6a10: 68 65 6e 20 61 6e 6f 74 68 65 72 20 53 65 74 50 hen another SetP
6a20: 72 69 76 61 74 65 44 61 74 61 20 77 69 74 68 20 rivateData with
6a30: 74 68 65 20 73 61 6d 65 20 47 55 49 44 20 69 73 the same GUID is
6a40: 20 73 65 74 2c 20 77 68 65 6e 0d 0a 20 2a 20 46 set, when.. * F
6a50: 72 65 65 50 72 69 76 61 74 65 44 61 74 61 20 69 reePrivateData i
6a60: 73 20 63 61 6c 6c 65 64 2c 20 6f 72 20 77 68 65 s called, or whe
6a70: 6e 20 74 68 65 20 44 33 44 39 20 6f 62 6a 65 63 n the D3D9 objec
6a80: 74 20 69 73 20 66 72 65 65 64 2e 0d 0a 20 2a 2a t is freed... **
6a90: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
6aa0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
6ab0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
6ac0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
6ad0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2f 0d 0a 63 6f 6e **********/..con
6ae0: 73 74 20 44 33 44 53 50 44 5f 49 55 4e 4b 4e 4f st D3DSPD_IUNKNO
6af0: 57 4e 20 3d 20 30 78 30 30 30 30 30 30 30 31 4c WN = 0x00000001L
6b00: 3b 0d 0a 0d 0a 2f 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ;..../**********
6b10: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
6b20: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
6b30: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
6b40: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
6b50: 2a 2a 0d 0a 20 2a 0d 0a 20 2a 20 46 6c 61 67 73 **.. *.. * Flags
6b60: 20 66 6f 72 20 49 44 69 72 65 63 74 33 44 39 3a for IDirect3D9:
6b70: 3a 43 72 65 61 74 65 44 65 76 69 63 65 27 73 20 :CreateDevice's
6b80: 42 65 68 61 76 69 6f 72 46 6c 61 67 73 0d 0a 20 BehaviorFlags..
6b90: 2a 0d 0a 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a *.. ************
6ba0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
6bb0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
6bc0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
6bd0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
6be0: 2f 0d 0a 0d 0a 63 6f 6e 73 74 20 44 33 44 43 52 /....const D3DCR
6bf0: 45 41 54 45 5f 46 50 55 5f 50 52 45 53 45 52 56 EATE_FPU_PRESERV
6c00: 45 20 3d 20 30 78 30 30 30 30 30 30 30 32 4c 3b E = 0x00000002L;
6c10: 0d 0a 63 6f 6e 73 74 20 44 33 44 43 52 45 41 54 ..const D3DCREAT
6c20: 45 5f 4d 55 4c 54 49 54 48 52 45 41 44 45 44 20 E_MULTITHREADED
6c30: 3d 20 30 78 30 30 30 30 30 30 30 34 4c 3b 0d 0a = 0x00000004L;..
6c40: 0d 0a 63 6f 6e 73 74 20 44 33 44 43 52 45 41 54 ..const D3DCREAT
6c50: 45 5f 50 55 52 45 44 45 56 49 43 45 20 3d 20 30 E_PUREDEVICE = 0
6c60: 78 30 30 30 30 30 30 31 30 4c 3b 0d 0a 63 6f 6e x00000010L;..con
6c70: 73 74 20 44 33 44 43 52 45 41 54 45 5f 53 4f 46 st D3DCREATE_SOF
6c80: 54 57 41 52 45 5f 56 45 52 54 45 58 50 52 4f 43 TWARE_VERTEXPROC
6c90: 45 53 53 49 4e 47 20 3d 20 30 78 30 30 30 30 30 ESSING = 0x00000
6ca0: 30 32 30 4c 3b 0d 0a 63 6f 6e 73 74 20 44 33 44 020L;..const D3D
6cb0: 43 52 45 41 54 45 5f 48 41 52 44 57 41 52 45 5f CREATE_HARDWARE_
6cc0: 56 45 52 54 45 58 50 52 4f 43 45 53 53 49 4e 47 VERTEXPROCESSING
6cd0: 20 3d 20 30 78 30 30 30 30 30 30 34 30 4c 3b 0d = 0x00000040L;.
6ce0: 0a 63 6f 6e 73 74 20 44 33 44 43 52 45 41 54 45 .const D3DCREATE
6cf0: 5f 4d 49 58 45 44 5f 56 45 52 54 45 58 50 52 4f _MIXED_VERTEXPRO
6d00: 43 45 53 53 49 4e 47 20 3d 20 30 78 30 30 30 30 CESSING = 0x0000
6d10: 30 30 38 30 4c 3b 0d 0a 0d 0a 63 6f 6e 73 74 20 0080L;....const
6d20: 44 33 44 43 52 45 41 54 45 5f 44 49 53 41 42 4c D3DCREATE_DISABL
6d30: 45 5f 44 52 49 56 45 52 5f 4d 41 4e 41 47 45 4d E_DRIVER_MANAGEM
6d40: 45 4e 54 20 3d 20 30 78 30 30 30 30 30 31 30 30 ENT = 0x00000100
6d50: 4c 3b 0d 0a 63 6f 6e 73 74 20 44 33 44 43 52 45 L;..const D3DCRE
6d60: 41 54 45 5f 41 44 41 50 54 45 52 47 52 4f 55 50 ATE_ADAPTERGROUP
6d70: 5f 44 45 56 49 43 45 20 3d 20 30 78 30 30 30 30 _DEVICE = 0x0000
6d80: 30 32 30 30 4c 3b 0d 0a 63 6f 6e 73 74 20 44 33 0200L;..const D3
6d90: 44 43 52 45 41 54 45 5f 44 49 53 41 42 4c 45 5f DCREATE_DISABLE_
6da0: 44 52 49 56 45 52 5f 4d 41 4e 41 47 45 4d 45 4e DRIVER_MANAGEMEN
6db0: 54 5f 45 58 20 3d 20 30 78 30 30 30 30 30 34 30 T_EX = 0x0000040
6dc0: 30 4c 3b 0d 0a 0d 0a 2f 2f 20 54 68 69 73 20 66 0L;....// This f
6dd0: 6c 61 67 20 63 61 75 73 65 73 20 74 68 65 20 44 lag causes the D
6de0: 33 44 20 72 75 6e 74 69 6d 65 20 6e 6f 74 20 74 3D runtime not t
6df0: 6f 20 61 6c 74 65 72 20 74 68 65 20 66 6f 63 75 o alter the focu
6e00: 73 0d 0a 2f 2f 20 77 69 6e 64 6f 77 20 69 6e 20 s..// window in
6e10: 61 6e 79 20 77 61 79 2e 20 55 73 65 20 77 69 74 any way. Use wit
6e20: 68 20 63 61 75 74 69 6f 6e 2d 20 74 68 65 20 62 h caution- the b
6e30: 75 72 64 65 6e 20 6f 66 20 73 75 70 70 6f 72 74 urden of support
6e40: 69 6e 67 0d 0a 2f 2f 20 66 6f 63 75 73 20 6d 61 ing..// focus ma
6e50: 6e 61 67 65 6d 65 6e 74 20 65 76 65 6e 74 73 20 nagement events
6e60: 28 61 6c 74 2d 74 61 62 2c 20 65 74 63 2e 29 20 (alt-tab, etc.)
6e70: 66 61 6c 6c 73 20 6f 6e 20 74 68 65 0d 0a 2f 2f falls on the..//
6e80: 20 61 70 70 6c 69 63 61 74 69 6f 6e 2c 20 61 6e application, an
6e90: 64 20 61 70 70 72 6f 70 72 69 61 74 65 20 72 65 d appropriate re
6ea0: 73 70 6f 6e 73 65 73 20 28 73 77 69 74 63 68 69 sponses (switchi
6eb0: 6e 67 20 64 69 73 70 6c 61 79 0d 0a 2f 2f 20 6d ng display..// m
6ec0: 6f 64 65 2c 20 65 74 63 2e 29 20 73 68 6f 75 6c ode, etc.) shoul
6ed0: 64 20 62 65 20 63 6f 64 65 64 2e 0d 0a 63 6f 6e d be coded...con
6ee0: 73 74 20 44 33 44 43 52 45 41 54 45 5f 4e 4f 57 st D3DCREATE_NOW
6ef0: 49 4e 44 4f 57 43 48 41 4e 47 45 53 20 3d 20 30 INDOWCHANGES = 0
6f00: 78 30 30 30 30 30 38 30 30 4c 3b 0d 0a 0d 0a 2f x00000800L;..../
6f10: 2f 20 44 69 73 61 62 6c 65 20 6d 75 6c 74 69 74 / Disable multit
6f20: 68 72 65 61 64 69 6e 67 20 66 6f 72 20 73 6f 66 hreading for sof
6f30: 74 77 61 72 65 20 76 65 72 74 65 78 20 70 72 6f tware vertex pro
6f40: 63 65 73 73 69 6e 67 0d 0a 63 6f 6e 73 74 20 44 cessing..const D
6f50: 33 44 43 52 45 41 54 45 5f 44 49 53 41 42 4c 45 3DCREATE_DISABLE
6f60: 5f 50 53 47 50 5f 54 48 52 45 41 44 49 4e 47 20 _PSGP_THREADING
6f70: 3d 20 30 78 30 30 30 30 32 30 30 30 4c 3b 0d 0a = 0x00002000L;..
6f80: 2f 2f 20 54 68 69 73 20 66 6c 61 67 20 65 6e 61 // This flag ena
6f90: 62 6c 65 73 20 70 72 65 73 65 6e 74 20 73 74 61 bles present sta
6fa0: 74 69 73 74 69 63 73 20 6f 6e 20 64 65 76 69 63 tistics on devic
6fb0: 65 2e 0d 0a 63 6f 6e 73 74 20 44 33 44 43 52 45 e...const D3DCRE
6fc0: 41 54 45 5f 45 4e 41 42 4c 45 5f 50 52 45 53 45 ATE_ENABLE_PRESE
6fd0: 4e 54 53 54 41 54 53 20 3d 20 30 78 30 30 30 30 NTSTATS = 0x0000
6fe0: 34 30 30 30 4c 3b 0d 0a 2f 2f 20 54 68 69 73 20 4000L;..// This
6ff0: 66 6c 61 67 20 64 69 73 61 62 6c 65 73 20 70 72 flag disables pr
7000: 69 6e 74 73 63 72 65 65 6e 20 73 75 70 70 6f 72 intscreen suppor
7010: 74 20 69 6e 20 74 68 65 20 72 75 6e 74 69 6d 65 t in the runtime
7020: 20 66 6f 72 20 74 68 69 73 20 64 65 76 69 63 65 for this device
7030: 0d 0a 63 6f 6e 73 74 20 44 33 44 43 52 45 41 54 ..const D3DCREAT
7040: 45 5f 44 49 53 41 42 4c 45 5f 50 52 49 4e 54 53 E_DISABLE_PRINTS
7050: 43 52 45 45 4e 20 3d 20 30 78 30 30 30 30 38 30 CREEN = 0x000080
7060: 30 30 4c 3b 0d 0a 0d 0a 63 6f 6e 73 74 20 44 33 00L;....const D3
7070: 44 43 52 45 41 54 45 5f 53 43 52 45 45 4e 53 41 DCREATE_SCREENSA
7080: 56 45 52 20 3d 20 30 78 31 30 30 30 30 30 30 30 VER = 0x10000000
7090: 4c 3b 0d 0a 0d 0a 0d 0a 2f 2a 2a 2a 2a 2a 2a 2a L;....../*******
70a0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
70b0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
70c0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
70d0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
70e0: 2a 2a 2a 2a 2a 0d 0a 20 2a 0d 0a 20 2a 20 50 61 *****.. *.. * Pa
70f0: 72 61 6d 65 74 65 72 20 66 6f 72 20 49 44 69 72 rameter for IDir
7100: 65 63 74 33 44 39 3a 3a 43 72 65 61 74 65 44 65 ect3D9::CreateDe
7110: 76 69 63 65 27 73 20 41 64 61 70 74 65 72 20 61 vice's Adapter a
7120: 72 67 75 6d 65 6e 74 0d 0a 20 2a 0d 0a 20 2a 2a rgument.. *.. **
7130: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
7140: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
7150: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
7160: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
7170: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2f 0d 0a 0d 0a 63 **********/....c
7180: 6f 6e 73 74 20 44 33 44 41 44 41 50 54 45 52 5f onst D3DADAPTER_
7190: 44 45 46 41 55 4c 54 20 3d 20 30 3b 0d 0a 0d 0a DEFAULT = 0;....
71a0: 2f 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a /***************
71b0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
71c0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
71d0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
71e0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 20 *************..
71f0: 2a 0d 0a 20 2a 20 46 6c 61 67 73 20 66 6f 72 20 *.. * Flags for
7200: 49 44 69 72 65 63 74 33 44 39 3a 3a 45 6e 75 6d IDirect3D9::Enum
7210: 41 64 61 70 74 65 72 73 0d 0a 20 2a 0d 0a 20 2a Adapters.. *.. *
7220: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
7230: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
7240: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
7250: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
7260: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2f 0d 0a 0d 0a ***********/....
7270: 2f 2a 0d 0a 20 2a 20 54 68 65 20 44 33 44 45 4e /*.. * The D3DEN
7280: 55 4d 5f 57 48 51 4c 5f 4c 45 56 45 4c 20 76 61 UM_WHQL_LEVEL va
7290: 6c 75 65 20 68 61 73 20 62 65 65 6e 20 72 65 74 lue has been ret
72a0: 69 72 65 64 20 66 6f 72 20 39 45 78 20 61 6e 64 ired for 9Ex and
72b0: 20 66 75 74 75 72 65 20 76 65 72 73 69 6f 6e 73 future versions
72c0: 2c 0d 0a 20 2a 20 62 75 74 20 69 74 20 6e 65 65 ,.. * but it nee
72d0: 64 73 20 74 6f 20 62 65 20 64 65 66 69 6e 65 64 ds to be defined
72e0: 20 68 65 72 65 20 66 6f 72 20 63 6f 6d 70 61 74 here for compat
72f0: 69 62 69 6c 69 74 79 20 77 69 74 68 20 44 58 39 ibility with DX9
7300: 20 61 6e 64 20 65 61 72 6c 69 65 72 20 76 65 72 and earlier ver
7310: 73 69 6f 6e 73 2e 0d 0a 20 2a 20 53 65 65 20 74 sions... * See t
7320: 68 65 20 44 69 72 65 63 74 58 20 53 44 4b 20 66 he DirectX SDK f
7330: 6f 72 20 73 61 6d 70 6c 65 20 63 6f 64 65 20 6f or sample code o
7340: 6e 20 64 69 73 63 6f 76 65 72 69 6e 67 20 64 72 n discovering dr
7350: 69 76 65 72 20 73 69 67 6e 61 74 75 72 65 73 2e iver signatures.
7360: 0d 0a 20 2a 2f 0d 0a 63 6f 6e 73 74 20 44 33 44 .. */..const D3D
7370: 45 4e 55 4d 5f 57 48 51 4c 5f 4c 45 56 45 4c 20 ENUM_WHQL_LEVEL
7380: 3d 20 30 78 30 30 30 30 30 30 30 32 4c 3b 0d 0a = 0x00000002L;..
7390: 0d 0a 2f 2a 20 4e 4f 5f 44 52 49 56 45 52 56 45 ../* NO_DRIVERVE
73a0: 52 53 49 4f 4e 20 77 69 6c 6c 20 6e 6f 74 20 66 RSION will not f
73b0: 69 6c 6c 20 6f 75 74 20 74 68 65 20 44 72 69 76 ill out the Driv
73c0: 65 72 56 65 72 73 69 6f 6e 20 66 69 65 6c 64 2c erVersion field,
73d0: 20 6e 6f 72 20 77 69 6c 6c 20 74 68 65 0d 0a 20 nor will the..
73e0: 20 20 44 72 69 76 65 72 56 65 72 73 69 6f 6e 20 DriverVersion
73f0: 62 65 20 69 6e 63 6f 72 70 6f 72 61 74 65 64 20 be incorporated
7400: 69 6e 74 6f 20 74 68 65 20 44 65 76 69 63 65 49 into the DeviceI
7410: 64 65 6e 74 69 66 69 65 72 20 47 55 49 44 2e 20 dentifier GUID.
7420: 57 49 4e 4e 54 20 6f 6e 6c 79 20 2a 2f 0d 0a 63 WINNT only */..c
7430: 6f 6e 73 74 20 44 33 44 45 4e 55 4d 5f 4e 4f 5f onst D3DENUM_NO_
7440: 44 52 49 56 45 52 56 45 52 53 49 4f 4e 20 3d 20 DRIVERVERSION =
7450: 30 78 30 30 30 30 30 30 30 34 4c 3b 0d 0a 0d 0a 0x00000004L;....
7460: 0d 0a 2f 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ../*************
7470: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
7480: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
7490: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
74a0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d ***************.
74b0: 0a 20 2a 0d 0a 20 2a 20 4d 61 78 69 6d 75 6d 20 . *.. * Maximum
74c0: 6e 75 6d 62 65 72 20 6f 66 20 62 61 63 6b 2d 62 number of back-b
74d0: 75 66 66 65 72 73 20 73 75 70 70 6f 72 74 65 64 uffers supported
74e0: 20 69 6e 20 44 58 39 0d 0a 20 2a 0d 0a 20 2a 2a in DX9.. *.. **
74f0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
7500: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
7510: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
7520: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
7530: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2f 0d 0a 0d 0a 63 **********/....c
7540: 6f 6e 73 74 20 44 33 44 50 52 45 53 45 4e 54 5f onst D3DPRESENT_
7550: 42 41 43 4b 5f 42 55 46 46 45 52 53 5f 4d 41 58 BACK_BUFFERS_MAX
7560: 20 3d 20 33 4c 3b 0d 0a 0d 0a 2f 2a 2a 2a 2a 2a = 3L;..../*****
7570: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
7580: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
7590: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
75a0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
75b0: 2a 2a 2a 2a 2a 2a 2a 0d 0a 20 2a 0d 0a 20 2a 20 *******.. *.. *
75c0: 4d 61 78 69 6d 75 6d 20 6e 75 6d 62 65 72 20 6f Maximum number o
75d0: 66 20 62 61 63 6b 2d 62 75 66 66 65 72 73 20 73 f back-buffers s
75e0: 75 70 70 6f 72 74 65 64 20 77 68 65 6e 20 61 70 upported when ap
75f0: 70 73 20 75 73 65 20 43 72 65 61 74 65 44 65 76 ps use CreateDev
7600: 69 63 65 45 78 0d 0a 20 2a 0d 0a 20 2a 2a 2a 2a iceEx.. *.. ****
7610: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
7620: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
7630: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
7640: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
7650: 2a 2a 2a 2a 2a 2a 2a 2a 2f 0d 0a 63 6f 6e 73 74 ********/..const
7660: 20 44 33 44 50 52 45 53 45 4e 54 5f 42 41 43 4b D3DPRESENT_BACK
7670: 5f 42 55 46 46 45 52 53 5f 4d 41 58 5f 45 58 20 _BUFFERS_MAX_EX
7680: 3d 20 33 30 4c 3b 0d 0a 0d 0a 2f 2a 2a 2a 2a 2a = 30L;..../*****
7690: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
76a0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
76b0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
76c0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
76d0: 2a 2a 2a 2a 2a 2a 2a 0d 0a 20 2a 0d 0a 20 2a 20 *******.. *.. *
76e0: 46 6c 61 67 73 20 66 6f 72 20 49 44 69 72 65 63 Flags for IDirec
76f0: 74 33 44 44 65 76 69 63 65 39 3a 3a 53 65 74 47 t3DDevice9::SetG
7700: 61 6d 6d 61 52 61 6d 70 0d 0a 20 2a 0d 0a 20 2a ammaRamp.. *.. *
7710: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
7720: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
7730: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
7740: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
7750: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2f 0d 0a 0d 0a ***********/....
7760: 63 6f 6e 73 74 20 44 33 44 53 47 52 5f 4e 4f 5f const D3DSGR_NO_
7770: 43 41 4c 49 42 52 41 54 49 4f 4e 20 3d 20 30 78 CALIBRATION = 0x
7780: 30 30 30 30 30 30 30 30 4c 3b 0d 0a 63 6f 6e 73 00000000L;..cons
7790: 74 20 44 33 44 53 47 52 5f 43 41 4c 49 42 52 41 t D3DSGR_CALIBRA
77a0: 54 45 20 3d 20 30 78 30 30 30 30 30 30 30 31 4c TE = 0x00000001L
77b0: 3b 0d 0a 0d 0a 2f 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ;..../**********
77c0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
77d0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
77e0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
77f0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
7800: 2a 2a 0d 0a 20 2a 0d 0a 20 2a 20 46 6c 61 67 73 **.. *.. * Flags
7810: 20 66 6f 72 20 49 44 69 72 65 63 74 33 44 44 65 for IDirect3DDe
7820: 76 69 63 65 39 3a 3a 53 65 74 43 75 72 73 6f 72 vice9::SetCursor
7830: 50 6f 73 69 74 69 6f 6e 0d 0a 20 2a 0d 0a 20 2a Position.. *.. *
7840: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
7850: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
7860: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
7870: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
7880: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2f 0d 0a 0d 0a ***********/....
7890: 63 6f 6e 73 74 20 44 33 44 43 55 52 53 4f 52 5f const D3DCURSOR_
78a0: 49 4d 4d 45 44 49 41 54 45 5f 55 50 44 41 54 45 IMMEDIATE_UPDATE
78b0: 20 3d 20 30 78 30 30 30 30 30 30 30 31 4c 3b 0d = 0x00000001L;.
78c0: 0a 0d 0a 2f 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a .../************
78d0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
78e0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
78f0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
7900: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
7910: 0d 0a 20 2a 0d 0a 20 2a 20 46 6c 61 67 73 20 66 .. *.. * Flags f
7920: 6f 72 20 49 44 69 72 65 63 74 33 44 53 77 61 70 or IDirect3DSwap
7930: 43 68 61 69 6e 39 3a 3a 50 72 65 73 65 6e 74 0d Chain9::Present.
7940: 0a 20 2a 0d 0a 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a . *.. **********
7950: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
7960: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
7970: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
7980: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
7990: 2a 2a 2f 0d 0a 0d 0a 63 6f 6e 73 74 20 44 33 44 **/....const D3D
79a0: 50 52 45 53 45 4e 54 5f 44 4f 4e 4f 54 57 41 49 PRESENT_DONOTWAI
79b0: 54 20 3d 20 30 78 30 30 30 30 30 30 30 31 4c 3b T = 0x00000001L;
79c0: 0d 0a 63 6f 6e 73 74 20 44 33 44 50 52 45 53 45 ..const D3DPRESE
79d0: 4e 54 5f 4c 49 4e 45 41 52 5f 43 4f 4e 54 45 4e NT_LINEAR_CONTEN
79e0: 54 20 3d 20 30 78 30 30 30 30 30 30 30 32 4c 3b T = 0x00000002L;
79f0: 0d 0a 63 6f 6e 73 74 20 44 33 44 50 52 45 53 45 ..const D3DPRESE
7a00: 4e 54 5f 44 4f 4e 4f 54 46 4c 49 50 20 3d 20 30 NT_DONOTFLIP = 0
7a10: 78 30 30 30 30 30 30 30 34 4c 3b 0d 0a 63 6f 6e x00000004L;..con
7a20: 73 74 20 44 33 44 50 52 45 53 45 4e 54 5f 46 4c st D3DPRESENT_FL
7a30: 49 50 52 45 53 54 41 52 54 20 3d 20 30 78 30 30 IPRESTART = 0x00
7a40: 30 30 30 30 30 38 4c 3b 0d 0a 63 6f 6e 73 74 20 000008L;..const
7a50: 44 33 44 50 52 45 53 45 4e 54 5f 56 49 44 45 4f D3DPRESENT_VIDEO
7a60: 5f 52 45 53 54 52 49 43 54 5f 54 4f 5f 4d 4f 4e _RESTRICT_TO_MON
7a70: 49 54 4f 52 20 3d 20 30 78 30 30 30 30 30 30 31 ITOR = 0x0000001
7a80: 30 4c 3b 0d 0a 0d 0a 2f 2a 2a 2a 2a 2a 2a 2a 2a 0L;..../********
7a90: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
7aa0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
7ab0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
7ac0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
7ad0: 2a 2a 2a 2a 0d 0a 20 2a 0d 0a 20 2a 20 46 6c 61 ****.. *.. * Fla
7ae0: 67 73 20 66 6f 72 20 44 72 61 77 50 72 69 6d 69 gs for DrawPrimi
7af0: 74 69 76 65 2f 44 72 61 77 49 6e 64 65 78 65 64 tive/DrawIndexed
7b00: 50 72 69 6d 69 74 69 76 65 0d 0a 20 2a 20 20 20 Primitive.. *
7b10: 41 6c 73 6f 20 76 61 6c 69 64 20 66 6f 72 20 42 Also valid for B
7b20: 65 67 69 6e 2f 42 65 67 69 6e 49 6e 64 65 78 65 egin/BeginIndexe
7b30: 64 0d 0a 20 2a 20 20 20 41 6c 73 6f 20 76 61 6c d.. * Also val
7b40: 69 64 20 66 6f 72 20 56 65 72 74 65 78 42 75 66 id for VertexBuf
7b50: 66 65 72 3a 3a 43 72 65 61 74 65 56 65 72 74 65 fer::CreateVerte
7b60: 78 42 75 66 66 65 72 0d 0a 20 2a 2a 2a 2a 2a 2a xBuffer.. ******
7b70: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
7b80: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
7b90: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
7ba0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
7bb0: 2a 2a 2a 2a 2a 2a 2f 0d 0a 0d 0a 0d 0a 2f 2a 0d ******/....../*.
7bc0: 0a 20 2a 20 20 44 69 72 65 63 74 44 72 61 77 20 . * DirectDraw
7bd0: 65 72 72 6f 72 20 63 6f 64 65 73 0d 0a 20 2a 2f error codes.. */
7be0: 0d 0a 63 6f 6e 73 74 20 5f 46 41 43 44 33 44 20 ..const _FACD3D
7bf0: 3d 20 30 78 38 37 36 3b 0d 0a 48 52 45 53 55 4c = 0x876;..HRESUL
7c00: 54 20 4d 41 4b 45 5f 44 33 44 48 52 45 53 55 4c T MAKE_D3DHRESUL
7c10: 54 28 54 29 28 54 20 63 6f 64 65 29 20 7b 20 72 T(T)(T code) { r
7c20: 65 74 75 72 6e 20 4d 41 4b 45 5f 48 52 45 53 55 eturn MAKE_HRESU
7c30: 4c 54 28 20 31 2c 20 5f 46 41 43 44 33 44 2c 20 LT( 1, _FACD3D,
7c40: 63 6f 64 65 20 29 3b 20 7d 0d 0a 48 52 45 53 55 code ); }..HRESU
7c50: 4c 54 20 4d 41 4b 45 5f 44 33 44 53 54 41 54 55 LT MAKE_D3DSTATU
7c60: 53 28 54 29 28 54 20 63 6f 64 65 29 20 7b 20 72 S(T)(T code) { r
7c70: 65 74 75 72 6e 20 4d 41 4b 45 5f 48 52 45 53 55 eturn MAKE_HRESU
7c80: 4c 54 28 20 30 2c 20 5f 46 41 43 44 33 44 2c 20 LT( 0, _FACD3D,
7c90: 63 6f 64 65 20 29 3b 20 7d 0d 0a 0d 0a 2f 2a 0d code ); }..../*.
7ca0: 0a 20 2a 20 44 69 72 65 63 74 33 44 20 45 72 72 . * Direct3D Err
7cb0: 6f 72 73 0d 0a 20 2a 2f 0d 0a 63 6f 6e 73 74 20 ors.. */..const
7cc0: 48 52 45 53 55 4c 54 20 44 33 44 5f 4f 4b 20 3d HRESULT D3D_OK =
7cd0: 20 53 5f 4f 4b 3b 0d 0a 0d 0a 63 6f 6e 73 74 20 S_OK;....const
7ce0: 48 52 45 53 55 4c 54 20 44 33 44 45 52 52 5f 57 HRESULT D3DERR_W
7cf0: 52 4f 4e 47 54 45 58 54 55 52 45 46 4f 52 4d 41 RONGTEXTUREFORMA
7d00: 54 20 3d 20 4d 41 4b 45 5f 44 33 44 48 52 45 53 T = MAKE_D3DHRES
7d10: 55 4c 54 28 32 30 37 32 29 3b 0d 0a 63 6f 6e 73 ULT(2072);..cons
7d20: 74 20 48 52 45 53 55 4c 54 20 44 33 44 45 52 52 t HRESULT D3DERR
7d30: 5f 55 4e 53 55 50 50 4f 52 54 45 44 43 4f 4c 4f _UNSUPPORTEDCOLO
7d40: 52 4f 50 45 52 41 54 49 4f 4e 20 3d 20 4d 41 4b ROPERATION = MAK
7d50: 45 5f 44 33 44 48 52 45 53 55 4c 54 28 32 30 37 E_D3DHRESULT(207
7d60: 33 29 3b 0d 0a 63 6f 6e 73 74 20 48 52 45 53 55 3);..const HRESU
7d70: 4c 54 20 44 33 44 45 52 52 5f 55 4e 53 55 50 50 LT D3DERR_UNSUPP
7d80: 4f 52 54 45 44 43 4f 4c 4f 52 41 52 47 20 3d 20 ORTEDCOLORARG =
7d90: 4d 41 4b 45 5f 44 33 44 48 52 45 53 55 4c 54 28 MAKE_D3DHRESULT(
7da0: 32 30 37 34 29 3b 0d 0a 63 6f 6e 73 74 20 48 52 2074);..const HR
7db0: 45 53 55 4c 54 20 44 33 44 45 52 52 5f 55 4e 53 ESULT D3DERR_UNS
7dc0: 55 50 50 4f 52 54 45 44 41 4c 50 48 41 4f 50 45 UPPORTEDALPHAOPE
7dd0: 52 41 54 49 4f 4e 20 3d 20 4d 41 4b 45 5f 44 33 RATION = MAKE_D3
7de0: 44 48 52 45 53 55 4c 54 28 32 30 37 35 29 3b 0d DHRESULT(2075);.
7df0: 0a 63 6f 6e 73 74 20 48 52 45 53 55 4c 54 20 44 .const HRESULT D
7e00: 33 44 45 52 52 5f 55 4e 53 55 50 50 4f 52 54 45 3DERR_UNSUPPORTE
7e10: 44 41 4c 50 48 41 41 52 47 20 3d 20 4d 41 4b 45 DALPHAARG = MAKE
7e20: 5f 44 33 44 48 52 45 53 55 4c 54 28 32 30 37 36 _D3DHRESULT(2076
7e30: 29 3b 0d 0a 63 6f 6e 73 74 20 48 52 45 53 55 4c );..const HRESUL
7e40: 54 20 44 33 44 45 52 52 5f 54 4f 4f 4d 41 4e 59 T D3DERR_TOOMANY
7e50: 4f 50 45 52 41 54 49 4f 4e 53 20 3d 20 4d 41 4b OPERATIONS = MAK
7e60: 45 5f 44 33 44 48 52 45 53 55 4c 54 28 32 30 37 E_D3DHRESULT(207
7e70: 37 29 3b 0d 0a 63 6f 6e 73 74 20 48 52 45 53 55 7);..const HRESU
7e80: 4c 54 20 44 33 44 45 52 52 5f 43 4f 4e 46 4c 49 LT D3DERR_CONFLI
7e90: 43 54 49 4e 47 54 45 58 54 55 52 45 46 49 4c 54 CTINGTEXTUREFILT
7ea0: 45 52 20 3d 20 4d 41 4b 45 5f 44 33 44 48 52 45 ER = MAKE_D3DHRE
7eb0: 53 55 4c 54 28 32 30 37 38 29 3b 0d 0a 63 6f 6e SULT(2078);..con
7ec0: 73 74 20 48 52 45 53 55 4c 54 20 44 33 44 45 52 st HRESULT D3DER
7ed0: 52 5f 55 4e 53 55 50 50 4f 52 54 45 44 46 41 43 R_UNSUPPORTEDFAC
7ee0: 54 4f 52 56 41 4c 55 45 20 3d 20 4d 41 4b 45 5f TORVALUE = MAKE_
7ef0: 44 33 44 48 52 45 53 55 4c 54 28 32 30 37 39 29 D3DHRESULT(2079)
7f00: 3b 0d 0a 63 6f 6e 73 74 20 48 52 45 53 55 4c 54 ;..const HRESULT
7f10: 20 44 33 44 45 52 52 5f 43 4f 4e 46 4c 49 43 54 D3DERR_CONFLICT
7f20: 49 4e 47 52 45 4e 44 45 52 53 54 41 54 45 20 3d INGRENDERSTATE =
7f30: 20 4d 41 4b 45 5f 44 33 44 48 52 45 53 55 4c 54 MAKE_D3DHRESULT
7f40: 28 32 30 38 31 29 3b 0d 0a 63 6f 6e 73 74 20 48 (2081);..const H
7f50: 52 45 53 55 4c 54 20 44 33 44 45 52 52 5f 55 4e RESULT D3DERR_UN
7f60: 53 55 50 50 4f 52 54 45 44 54 45 58 54 55 52 45 SUPPORTEDTEXTURE
7f70: 46 49 4c 54 45 52 20 3d 20 4d 41 4b 45 5f 44 33 FILTER = MAKE_D3
7f80: 44 48 52 45 53 55 4c 54 28 32 30 38 32 29 3b 0d DHRESULT(2082);.
7f90: 0a 63 6f 6e 73 74 20 48 52 45 53 55 4c 54 20 44 .const HRESULT D
7fa0: 33 44 45 52 52 5f 43 4f 4e 46 4c 49 43 54 49 4e 3DERR_CONFLICTIN
7fb0: 47 54 45 58 54 55 52 45 50 41 4c 45 54 54 45 20 GTEXTUREPALETTE
7fc0: 3d 20 4d 41 4b 45 5f 44 33 44 48 52 45 53 55 4c = MAKE_D3DHRESUL
7fd0: 54 28 32 30 38 36 29 3b 0d 0a 63 6f 6e 73 74 20 T(2086);..const
7fe0: 48 52 45 53 55 4c 54 20 44 33 44 45 52 52 5f 44 HRESULT D3DERR_D
7ff0: 52 49 56 45 52 49 4e 54 45 52 4e 41 4c 45 52 52 RIVERINTERNALERR
8000: 4f 52 20 3d 20 4d 41 4b 45 5f 44 33 44 48 52 45 OR = MAKE_D3DHRE
8010: 53 55 4c 54 28 32 30 38 37 29 3b 0d 0a 0d 0a 63 SULT(2087);....c
8020: 6f 6e 73 74 20 48 52 45 53 55 4c 54 20 44 33 44 onst HRESULT D3D
8030: 45 52 52 5f 4e 4f 54 46 4f 55 4e 44 20 3d 20 4d ERR_NOTFOUND = M
8040: 41 4b 45 5f 44 33 44 48 52 45 53 55 4c 54 28 32 AKE_D3DHRESULT(2
8050: 31 35 30 29 3b 0d 0a 63 6f 6e 73 74 20 48 52 45 150);..const HRE
8060: 53 55 4c 54 20 44 33 44 45 52 52 5f 4d 4f 52 45 SULT D3DERR_MORE
8070: 44 41 54 41 20 3d 20 4d 41 4b 45 5f 44 33 44 48 DATA = MAKE_D3DH
8080: 52 45 53 55 4c 54 28 32 31 35 31 29 3b 0d 0a 63 RESULT(2151);..c
8090: 6f 6e 73 74 20 48 52 45 53 55 4c 54 20 44 33 44 onst HRESULT D3D
80a0: 45 52 52 5f 44 45 56 49 43 45 4c 4f 53 54 20 3d ERR_DEVICELOST =
80b0: 20 4d 41 4b 45 5f 44 33 44 48 52 45 53 55 4c 54 MAKE_D3DHRESULT
80c0: 28 32 31 35 32 29 3b 0d 0a 63 6f 6e 73 74 20 48 (2152);..const H
80d0: 52 45 53 55 4c 54 20 44 33 44 45 52 52 5f 44 45 RESULT D3DERR_DE
80e0: 56 49 43 45 4e 4f 54 52 45 53 45 54 20 3d 20 4d VICENOTRESET = M
80f0: 41 4b 45 5f 44 33 44 48 52 45 53 55 4c 54 28 32 AKE_D3DHRESULT(2
8100: 31 35 33 29 3b 0d 0a 63 6f 6e 73 74 20 48 52 45 153);..const HRE
8110: 53 55 4c 54 20 44 33 44 45 52 52 5f 4e 4f 54 41 SULT D3DERR_NOTA
8120: 56 41 49 4c 41 42 4c 45 20 3d 20 4d 41 4b 45 5f VAILABLE = MAKE_
8130: 44 33 44 48 52 45 53 55 4c 54 28 32 31 35 34 29 D3DHRESULT(2154)
8140: 3b 0d 0a 63 6f 6e 73 74 20 48 52 45 53 55 4c 54 ;..const HRESULT
8150: 20 44 33 44 45 52 52 5f 4f 55 54 4f 46 56 49 44 D3DERR_OUTOFVID
8160: 45 4f 4d 45 4d 4f 52 59 20 3d 20 4d 41 4b 45 5f EOMEMORY = MAKE_
8170: 44 33 44 48 52 45 53 55 4c 54 28 33 38 30 29 3b D3DHRESULT(380);
8180: 0d 0a 63 6f 6e 73 74 20 48 52 45 53 55 4c 54 20 ..const HRESULT
8190: 44 33 44 45 52 52 5f 49 4e 56 41 4c 49 44 44 45 D3DERR_INVALIDDE
81a0: 56 49 43 45 20 3d 20 4d 41 4b 45 5f 44 33 44 48 VICE = MAKE_D3DH
81b0: 52 45 53 55 4c 54 28 32 31 35 35 29 3b 0d 0a 63 RESULT(2155);..c
81c0: 6f 6e 73 74 20 48 52 45 53 55 4c 54 20 44 33 44 onst HRESULT D3D
81d0: 45 52 52 5f 49 4e 56 41 4c 49 44 43 41 4c 4c 20 ERR_INVALIDCALL
81e0: 3d 20 4d 41 4b 45 5f 44 33 44 48 52 45 53 55 4c = MAKE_D3DHRESUL
81f0: 54 28 32 31 35 36 29 3b 0d 0a 63 6f 6e 73 74 20 T(2156);..const
8200: 48 52 45 53 55 4c 54 20 44 33 44 45 52 52 5f 44 HRESULT D3DERR_D
8210: 52 49 56 45 52 49 4e 56 41 4c 49 44 43 41 4c 4c RIVERINVALIDCALL
8220: 20 3d 20 4d 41 4b 45 5f 44 33 44 48 52 45 53 55 = MAKE_D3DHRESU
8230: 4c 54 28 32 31 35 37 29 3b 0d 0a 63 6f 6e 73 74 LT(2157);..const
8240: 20 48 52 45 53 55 4c 54 20 44 33 44 45 52 52 5f HRESULT D3DERR_
8250: 57 41 53 53 54 49 4c 4c 44 52 41 57 49 4e 47 20 WASSTILLDRAWING
8260: 3d 20 4d 41 4b 45 5f 44 33 44 48 52 45 53 55 4c = MAKE_D3DHRESUL
8270: 54 28 35 34 30 29 3b 0d 0a 63 6f 6e 73 74 20 48 T(540);..const H
8280: 52 45 53 55 4c 54 20 44 33 44 4f 4b 5f 4e 4f 41 RESULT D3DOK_NOA
8290: 55 54 4f 47 45 4e 20 3d 20 4d 41 4b 45 5f 44 33 UTOGEN = MAKE_D3
82a0: 44 53 54 41 54 55 53 28 32 31 35 39 29 3b 0d 0a DSTATUS(2159);..
82b0: 63 6f 6e 73 74 20 48 52 45 53 55 4c 54 20 44 33 const HRESULT D3
82c0: 44 45 52 52 5f 44 45 56 49 43 45 52 45 4d 4f 56 DERR_DEVICEREMOV
82d0: 45 44 20 3d 20 4d 41 4b 45 5f 44 33 44 48 52 45 ED = MAKE_D3DHRE
82e0: 53 55 4c 54 28 32 31 36 30 29 3b 0d 0a 63 6f 6e SULT(2160);..con
82f0: 73 74 20 48 52 45 53 55 4c 54 20 53 5f 4e 4f 54 st HRESULT S_NOT
8300: 5f 52 45 53 49 44 45 4e 54 20 3d 20 4d 41 4b 45 _RESIDENT = MAKE
8310: 5f 44 33 44 53 54 41 54 55 53 28 32 31 36 35 29 _D3DSTATUS(2165)
8320: 3b 0d 0a 63 6f 6e 73 74 20 48 52 45 53 55 4c 54 ;..const HRESULT
8330: 20 53 5f 52 45 53 49 44 45 4e 54 5f 49 4e 5f 53 S_RESIDENT_IN_S
8340: 48 41 52 45 44 5f 4d 45 4d 4f 52 59 20 3d 20 4d HARED_MEMORY = M
8350: 41 4b 45 5f 44 33 44 53 54 41 54 55 53 28 32 31 AKE_D3DSTATUS(21
8360: 36 36 29 3b 0d 0a 63 6f 6e 73 74 20 48 52 45 53 66);..const HRES
8370: 55 4c 54 20 53 5f 50 52 45 53 45 4e 54 5f 4d 4f ULT S_PRESENT_MO
8380: 44 45 5f 43 48 41 4e 47 45 44 20 3d 20 4d 41 4b DE_CHANGED = MAK
8390: 45 5f 44 33 44 53 54 41 54 55 53 28 32 31 36 37 E_D3DSTATUS(2167
83a0: 29 3b 0d 0a 63 6f 6e 73 74 20 48 52 45 53 55 4c );..const HRESUL
83b0: 54 20 53 5f 50 52 45 53 45 4e 54 5f 4f 43 43 4c T S_PRESENT_OCCL
83c0: 55 44 45 44 20 3d 20 4d 41 4b 45 5f 44 33 44 53 UDED = MAKE_D3DS
83d0: 54 41 54 55 53 28 32 31 36 38 29 3b 0d 0a 63 6f TATUS(2168);..co
83e0: 6e 73 74 20 48 52 45 53 55 4c 54 20 44 33 44 45 nst HRESULT D3DE
83f0: 52 52 5f 44 45 56 49 43 45 48 55 4e 47 20 3d 20 RR_DEVICEHUNG =
8400: 4d 41 4b 45 5f 44 33 44 48 52 45 53 55 4c 54 28 MAKE_D3DHRESULT(
8410: 32 31 36 34 29 3b 0d 0a 0d 0a 0d 0a 2f 2a 2a 2a 2164);....../***
8420: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
8430: 2a 2a 0d 0a 2f 2a 20 44 33 44 39 45 78 20 69 6e **../* D3D9Ex in
8440: 74 65 72 66 61 63 65 73 0d 0a 2f 2a 2a 2a 2a 2a terfaces../*****
8450: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
8460: 2f 0d 0a 0d 0a 65 78 74 65 72 6e 20 28 57 69 6e /....extern (Win
8470: 64 6f 77 73 29 20 48 52 45 53 55 4c 54 20 44 69 dows) HRESULT Di
8480: 72 65 63 74 33 44 43 72 65 61 74 65 39 45 78 28 rect3DCreate9Ex(
8490: 55 49 4e 54 20 53 44 4b 56 65 72 73 69 6f 6e 2c UINT SDKVersion,
84a0: 20 4c 50 44 49 52 45 43 54 33 44 39 45 58 2a 29 LPDIRECT3D9EX*)
84b0: 3b 0d 0a 0d 0a 69 6e 74 65 72 66 61 63 65 20 4c ;....interface L
84c0: 50 44 49 52 45 43 54 33 44 39 45 58 20 3a 20 4c PDIRECT3D9EX : L
84d0: 50 44 49 52 45 43 54 33 44 39 0d 0a 7b 0d 0a 20 PDIRECT3D9..{..
84e0: 20 20 20 55 49 4e 54 20 47 65 74 41 64 61 70 74 UINT GetAdapt
84f0: 65 72 4d 6f 64 65 43 6f 75 6e 74 45 78 28 55 49 erModeCountEx(UI
8500: 4e 54 20 41 64 61 70 74 65 72 2c 20 44 33 44 44 NT Adapter, D3DD
8510: 49 53 50 4c 41 59 4d 4f 44 45 46 49 4c 54 45 52 ISPLAYMODEFILTER
8520: 2a 20 70 46 69 6c 74 65 72 20 29 3b 0d 0a 20 20 * pFilter );..
8530: 20 20 48 52 45 53 55 4c 54 20 45 6e 75 6d 41 64 HRESULT EnumAd
8540: 61 70 74 65 72 4d 6f 64 65 73 45 78 28 20 55 49 apterModesEx( UI
8550: 4e 54 20 41 64 61 70 74 65 72 2c 20 44 33 44 44 NT Adapter, D3DD
8560: 49 53 50 4c 41 59 4d 4f 44 45 46 49 4c 54 45 52 ISPLAYMODEFILTER
8570: 2a 20 70 46 69 6c 74 65 72 2c 55 49 4e 54 20 4d * pFilter,UINT M
8580: 6f 64 65 2c 44 33 44 44 49 53 50 4c 41 59 4d 4f ode,D3DDISPLAYMO
8590: 44 45 45 58 2a 20 70 4d 6f 64 65 29 3b 0d 0a 20 DEEX* pMode);..
85a0: 20 20 20 48 52 45 53 55 4c 54 20 47 65 74 41 64 HRESULT GetAd
85b0: 61 70 74 65 72 44 69 73 70 6c 61 79 4d 6f 64 65 apterDisplayMode
85c0: 45 78 28 20 55 49 4e 54 20 41 64 61 70 74 65 72 Ex( UINT Adapter
85d0: 2c 44 33 44 44 49 53 50 4c 41 59 4d 4f 44 45 45 ,D3DDISPLAYMODEE
85e0: 58 2a 20 70 4d 6f 64 65 2c 44 33 44 44 49 53 50 X* pMode,D3DDISP
85f0: 4c 41 59 52 4f 54 41 54 49 4f 4e 2a 20 70 52 6f LAYROTATION* pRo
8600: 74 61 74 69 6f 6e 29 3b 0d 0a 20 20 20 20 48 52 tation);.. HR
8610: 45 53 55 4c 54 20 43 72 65 61 74 65 44 65 76 69 ESULT CreateDevi
8620: 63 65 45 78 28 20 55 49 4e 54 20 41 64 61 70 74 ceEx( UINT Adapt
8630: 65 72 2c 44 33 44 44 45 56 54 59 50 45 20 44 65 er,D3DDEVTYPE De
8640: 76 69 63 65 54 79 70 65 2c 48 57 4e 44 20 68 46 viceType,HWND hF
8650: 6f 63 75 73 57 69 6e 64 6f 77 2c 44 57 4f 52 44 ocusWindow,DWORD
8660: 20 42 65 68 61 76 69 6f 72 46 6c 61 67 73 2c 44 BehaviorFlags,D
8670: 33 44 50 52 45 53 45 4e 54 5f 50 41 52 41 4d 45 3DPRESENT_PARAME
8680: 54 45 52 53 2a 20 70 50 72 65 73 65 6e 74 61 74 TERS* pPresentat
8690: 69 6f 6e 50 61 72 61 6d 65 74 65 72 73 2c 44 33 ionParameters,D3
86a0: 44 44 49 53 50 4c 41 59 4d 4f 44 45 45 58 2a 20 DDISPLAYMODEEX*
86b0: 70 46 75 6c 6c 73 63 72 65 65 6e 44 69 73 70 6c pFullscreenDispl
86c0: 61 79 4d 6f 64 65 2c 4c 50 44 49 52 45 43 54 33 ayMode,LPDIRECT3
86d0: 44 44 45 56 49 43 45 39 45 58 2a 20 70 70 52 65 DDEVICE9EX* ppRe
86e0: 74 75 72 6e 65 64 44 65 76 69 63 65 49 6e 74 65 turnedDeviceInte
86f0: 72 66 61 63 65 29 3b 0d 0a 20 20 20 20 48 52 45 rface);.. HRE
8700: 53 55 4c 54 20 47 65 74 41 64 61 70 74 65 72 4c SULT GetAdapterL
8710: 55 49 44 28 20 55 49 4e 54 20 41 64 61 70 74 65 UID( UINT Adapte
8720: 72 2c 4c 55 49 44 20 2a 20 70 4c 55 49 44 29 3b r,LUID * pLUID);
8730: 0d 0a 7d 0d 0a 0d 0a 61 6c 69 61 73 20 4c 50 44 ..}....alias LPD
8740: 49 52 45 43 54 33 44 39 45 58 20 49 44 69 72 65 IRECT3D9EX IDire
8750: 63 74 33 44 39 45 78 3b 0d 0a 0d 0a 69 6e 74 65 ct3D9Ex;....inte
8760: 72 66 61 63 65 20 4c 50 44 49 52 45 43 54 33 44 rface LPDIRECT3D
8770: 44 45 56 49 43 45 39 45 58 20 3a 20 4c 50 44 49 DEVICE9EX : LPDI
8780: 52 45 43 54 33 44 44 45 56 49 43 45 39 0d 0a 7b RECT3DDEVICE9..{
8790: 0d 0a 20 20 20 20 48 52 45 53 55 4c 54 20 53 65 .. HRESULT Se
87a0: 74 43 6f 6e 76 6f 6c 75 74 69 6f 6e 4d 6f 6e 6f tConvolutionMono
87b0: 4b 65 72 6e 65 6c 28 20 55 49 4e 54 20 77 69 64 Kernel( UINT wid
87c0: 74 68 2c 55 49 4e 54 20 68 65 69 67 68 74 2c 66 th,UINT height,f
87d0: 6c 6f 61 74 2a 20 72 6f 77 73 2c 66 6c 6f 61 74 loat* rows,float
87e0: 2a 20 63 6f 6c 75 6d 6e 73 29 3b 0d 0a 20 20 20 * columns);..
87f0: 20 48 52 45 53 55 4c 54 20 43 6f 6d 70 6f 73 65 HRESULT Compose
8800: 52 65 63 74 73 28 20 4c 50 44 49 52 45 43 54 33 Rects( LPDIRECT3
8810: 44 53 55 52 46 41 43 45 39 20 70 53 72 63 2c 4c DSURFACE9 pSrc,L
8820: 50 44 49 52 45 43 54 33 44 53 55 52 46 41 43 45 PDIRECT3DSURFACE
8830: 39 20 70 44 73 74 2c 4c 50 44 49 52 45 43 54 33 9 pDst,LPDIRECT3
8840: 44 56 45 52 54 45 58 42 55 46 46 45 52 39 20 70 DVERTEXBUFFER9 p
8850: 53 72 63 52 65 63 74 44 65 73 63 73 2c 55 49 4e SrcRectDescs,UIN
8860: 54 20 4e 75 6d 52 65 63 74 73 2c 4c 50 44 49 52 T NumRects,LPDIR
8870: 45 43 54 33 44 56 45 52 54 45 58 42 55 46 46 45 ECT3DVERTEXBUFFE
8880: 52 39 20 70 44 73 74 52 65 63 74 44 65 73 63 73 R9 pDstRectDescs
8890: 2c 44 33 44 43 4f 4d 50 4f 53 45 52 45 43 54 53 ,D3DCOMPOSERECTS
88a0: 4f 50 20 4f 70 65 72 61 74 69 6f 6e 2c 69 6e 74 OP Operation,int
88b0: 20 58 6f 66 66 73 65 74 2c 69 6e 74 20 59 6f 66 Xoffset,int Yof
88c0: 66 73 65 74 29 3b 0d 0a 20 20 20 20 48 52 45 53 fset);.. HRES
88d0: 55 4c 54 20 50 72 65 73 65 6e 74 45 78 28 20 52 ULT PresentEx( R
88e0: 45 43 54 2a 20 70 53 6f 75 72 63 65 52 65 63 74 ECT* pSourceRect
88f0: 2c 20 52 45 43 54 2a 20 70 44 65 73 74 52 65 63 , RECT* pDestRec
8900: 74 2c 48 57 4e 44 20 68 44 65 73 74 57 69 6e 64 t,HWND hDestWind
8910: 6f 77 4f 76 65 72 72 69 64 65 2c 20 52 47 4e 44 owOverride, RGND
8920: 41 54 41 2a 20 70 44 69 72 74 79 52 65 67 69 6f ATA* pDirtyRegio
8930: 6e 2c 44 57 4f 52 44 20 64 77 46 6c 61 67 73 29 n,DWORD dwFlags)
8940: 3b 0d 0a 20 20 20 20 48 52 45 53 55 4c 54 20 47 ;.. HRESULT G
8950: 65 74 47 50 55 54 68 72 65 61 64 50 72 69 6f 72 etGPUThreadPrior
8960: 69 74 79 28 20 49 4e 54 2a 20 70 50 72 69 6f 72 ity( INT* pPrior
8970: 69 74 79 29 3b 0d 0a 20 20 20 20 48 52 45 53 55 ity);.. HRESU
8980: 4c 54 20 53 65 74 47 50 55 54 68 72 65 61 64 50 LT SetGPUThreadP
8990: 72 69 6f 72 69 74 79 28 20 49 4e 54 20 50 72 69 riority( INT Pri
89a0: 6f 72 69 74 79 29 3b 0d 0a 20 20 20 20 48 52 45 ority);.. HRE
89b0: 53 55 4c 54 20 57 61 69 74 46 6f 72 56 42 6c 61 SULT WaitForVBla
89c0: 6e 6b 28 20 55 49 4e 54 20 69 53 77 61 70 43 68 nk( UINT iSwapCh
89d0: 61 69 6e 29 3b 0d 0a 20 20 20 20 48 52 45 53 55 ain);.. HRESU
89e0: 4c 54 20 43 68 65 63 6b 52 65 73 6f 75 72 63 65 LT CheckResource
89f0: 52 65 73 69 64 65 6e 63 79 28 20 4c 50 44 49 52 Residency( LPDIR
8a00: 45 43 54 33 44 52 45 53 4f 55 52 43 45 39 2a 20 ECT3DRESOURCE9*
8a10: 70 52 65 73 6f 75 72 63 65 41 72 72 61 79 2c 55 pResourceArray,U
8a20: 49 4e 54 33 32 20 4e 75 6d 52 65 73 6f 75 72 63 INT32 NumResourc
8a30: 65 73 29 3b 0d 0a 20 20 20 20 48 52 45 53 55 4c es);.. HRESUL
8a40: 54 20 53 65 74 4d 61 78 69 6d 75 6d 46 72 61 6d T SetMaximumFram
8a50: 65 4c 61 74 65 6e 63 79 28 20 55 49 4e 54 20 4d eLatency( UINT M
8a60: 61 78 4c 61 74 65 6e 63 79 29 3b 0d 0a 20 20 20 axLatency);..
8a70: 20 48 52 45 53 55 4c 54 20 47 65 74 4d 61 78 69 HRESULT GetMaxi
8a80: 6d 75 6d 46 72 61 6d 65 4c 61 74 65 6e 63 79 28 mumFrameLatency(
8a90: 20 55 49 4e 54 2a 20 70 4d 61 78 4c 61 74 65 6e UINT* pMaxLaten
8aa0: 63 79 29 3b 0d 0a 20 20 20 20 48 52 45 53 55 4c cy);.. HRESUL
8ab0: 54 20 43 68 65 63 6b 44 65 76 69 63 65 53 74 61 T CheckDeviceSta
8ac0: 74 65 28 20 48 57 4e 44 20 68 44 65 73 74 69 6e te( HWND hDestin
8ad0: 61 74 69 6f 6e 57 69 6e 64 6f 77 29 3b 0d 0a 20 ationWindow);..
8ae0: 20 20 20 48 52 45 53 55 4c 54 20 43 72 65 61 74 HRESULT Creat
8af0: 65 52 65 6e 64 65 72 54 61 72 67 65 74 45 78 28 eRenderTargetEx(
8b00: 20 55 49 4e 54 20 57 69 64 74 68 2c 55 49 4e 54 UINT Width,UINT
8b10: 20 48 65 69 67 68 74 2c 44 33 44 46 4f 52 4d 41 Height,D3DFORMA
8b20: 54 20 46 6f 72 6d 61 74 2c 44 33 44 4d 55 4c 54 T Format,D3DMULT
8b30: 49 53 41 4d 50 4c 45 5f 54 59 50 45 20 4d 75 6c ISAMPLE_TYPE Mul
8b40: 74 69 53 61 6d 70 6c 65 2c 44 57 4f 52 44 20 4d tiSample,DWORD M
8b50: 75 6c 74 69 73 61 6d 70 6c 65 51 75 61 6c 69 74 ultisampleQualit
8b60: 79 2c 42 4f 4f 4c 20 4c 6f 63 6b 61 62 6c 65 2c y,BOOL Lockable,
8b70: 4c 50 44 49 52 45 43 54 33 44 53 55 52 46 41 43 LPDIRECT3DSURFAC
8b80: 45 39 2a 20 70 70 53 75 72 66 61 63 65 2c 48 41 E9* ppSurface,HA
8b90: 4e 44 4c 45 2a 20 70 53 68 61 72 65 64 48 61 6e NDLE* pSharedHan
8ba0: 64 6c 65 2c 44 57 4f 52 44 20 55 73 61 67 65 29 dle,DWORD Usage)
8bb0: 3b 0d 0a 20 20 20 20 48 52 45 53 55 4c 54 20 43 ;.. HRESULT C
8bc0: 72 65 61 74 65 4f 66 66 73 63 72 65 65 6e 50 6c reateOffscreenPl
8bd0: 61 69 6e 53 75 72 66 61 63 65 45 78 28 20 55 49 ainSurfaceEx( UI
8be0: 4e 54 20 57 69 64 74 68 2c 55 49 4e 54 20 48 65 NT Width,UINT He
8bf0: 69 67 68 74 2c 44 33 44 46 4f 52 4d 41 54 20 46 ight,D3DFORMAT F
8c00: 6f 72 6d 61 74 2c 44 33 44 50 4f 4f 4c 20 50 6f ormat,D3DPOOL Po
8c10: 6f 6c 2c 4c 50 44 49 52 45 43 54 33 44 53 55 52 ol,LPDIRECT3DSUR
8c20: 46 41 43 45 39 2a 20 70 70 53 75 72 66 61 63 65 FACE9* ppSurface
8c30: 2c 48 41 4e 44 4c 45 2a 20 70 53 68 61 72 65 64 ,HANDLE* pShared
8c40: 48 61 6e 64 6c 65 2c 44 57 4f 52 44 20 55 73 61 Handle,DWORD Usa
8c50: 67 65 29 3b 0d 0a 20 20 20 20 48 52 45 53 55 4c ge);.. HRESUL
8c60: 54 20 43 72 65 61 74 65 44 65 70 74 68 53 74 65 T CreateDepthSte
8c70: 6e 63 69 6c 53 75 72 66 61 63 65 45 78 28 20 55 ncilSurfaceEx( U
8c80: 49 4e 54 20 57 69 64 74 68 2c 55 49 4e 54 20 48 INT Width,UINT H
8c90: 65 69 67 68 74 2c 44 33 44 46 4f 52 4d 41 54 20 eight,D3DFORMAT
8ca0: 46 6f 72 6d 61 74 2c 44 33 44 4d 55 4c 54 49 53 Format,D3DMULTIS
8cb0: 41 4d 50 4c 45 5f 54 59 50 45 20 4d 75 6c 74 69 AMPLE_TYPE Multi
8cc0: 53 61 6d 70 6c 65 2c 44 57 4f 52 44 20 4d 75 6c Sample,DWORD Mul
8cd0: 74 69 73 61 6d 70 6c 65 51 75 61 6c 69 74 79 2c tisampleQuality,
8ce0: 42 4f 4f 4c 20 44 69 73 63 61 72 64 2c 4c 50 44 BOOL Discard,LPD
8cf0: 49 52 45 43 54 33 44 53 55 52 46 41 43 45 39 2a IRECT3DSURFACE9*
8d00: 20 70 70 53 75 72 66 61 63 65 2c 48 41 4e 44 4c ppSurface,HANDL
8d10: 45 2a 20 70 53 68 61 72 65 64 48 61 6e 64 6c 65 E* pSharedHandle
8d20: 2c 44 57 4f 52 44 20 55 73 61 67 65 29 3b 0d 0a ,DWORD Usage);..
8d30: 20 20 20 20 48 52 45 53 55 4c 54 20 52 65 73 65 HRESULT Rese
8d40: 74 45 78 28 20 44 33 44 50 52 45 53 45 4e 54 5f tEx( D3DPRESENT_
8d50: 50 41 52 41 4d 45 54 45 52 53 2a 20 70 50 72 65 PARAMETERS* pPre
8d60: 73 65 6e 74 61 74 69 6f 6e 50 61 72 61 6d 65 74 sentationParamet
8d70: 65 72 73 2c 44 33 44 44 49 53 50 4c 41 59 4d 4f ers,D3DDISPLAYMO
8d80: 44 45 45 58 20 2a 70 46 75 6c 6c 73 63 72 65 65 DEEX *pFullscree
8d90: 6e 44 69 73 70 6c 61 79 4d 6f 64 65 29 3b 0d 0a nDisplayMode);..
8da0: 20 20 20 20 48 52 45 53 55 4c 54 20 47 65 74 44 HRESULT GetD
8db0: 69 73 70 6c 61 79 4d 6f 64 65 45 78 28 20 55 49 isplayModeEx( UI
8dc0: 4e 54 20 69 53 77 61 70 43 68 61 69 6e 2c 44 33 NT iSwapChain,D3
8dd0: 44 44 49 53 50 4c 41 59 4d 4f 44 45 45 58 2a 20 DDISPLAYMODEEX*
8de0: 70 4d 6f 64 65 2c 44 33 44 44 49 53 50 4c 41 59 pMode,D3DDISPLAY
8df0: 52 4f 54 41 54 49 4f 4e 2a 20 70 52 6f 74 61 74 ROTATION* pRotat
8e00: 69 6f 6e 29 3b 0d 0a 7d 0d 0a 0d 0a 61 6c 69 61 ion);..}....alia
8e10: 73 20 4c 50 44 49 52 45 43 54 33 44 44 45 56 49 s LPDIRECT3DDEVI
8e20: 43 45 39 45 58 20 49 44 69 72 65 63 74 33 44 44 CE9EX IDirect3DD
8e30: 65 76 69 63 65 39 45 78 3b 0d 0a 0d 0a 69 6e 74 evice9Ex;....int
8e40: 65 72 66 61 63 65 20 4c 50 44 49 52 45 43 54 33 erface LPDIRECT3
8e50: 44 53 57 41 50 43 48 41 49 4e 39 45 58 20 3a 20 DSWAPCHAIN9EX :
8e60: 4c 50 44 49 52 45 43 54 33 44 53 57 41 50 43 48 LPDIRECT3DSWAPCH
8e70: 41 49 4e 39 0d 0a 7b 0d 0a 20 20 20 20 48 52 45 AIN9..{.. HRE
8e80: 53 55 4c 54 20 47 65 74 4c 61 73 74 50 72 65 73 SULT GetLastPres
8e90: 65 6e 74 43 6f 75 6e 74 28 20 55 49 4e 54 2a 20 entCount( UINT*
8ea0: 70 4c 61 73 74 50 72 65 73 65 6e 74 43 6f 75 6e pLastPresentCoun
8eb0: 74 29 3b 0d 0a 20 20 20 20 48 52 45 53 55 4c 54 t);.. HRESULT
8ec0: 20 47 65 74 50 72 65 73 65 6e 74 53 74 61 74 73 GetPresentStats
8ed0: 28 20 44 33 44 50 52 45 53 45 4e 54 53 54 41 54 ( D3DPRESENTSTAT
8ee0: 53 2a 20 70 50 72 65 73 65 6e 74 61 74 69 6f 6e S* pPresentation
8ef0: 53 74 61 74 69 73 74 69 63 73 29 3b 0d 0a 20 20 Statistics);..
8f00: 20 20 48 52 45 53 55 4c 54 20 47 65 74 44 69 73 HRESULT GetDis
8f10: 70 6c 61 79 4d 6f 64 65 45 78 28 20 44 33 44 44 playModeEx( D3DD
8f20: 49 53 50 4c 41 59 4d 4f 44 45 45 58 2a 20 70 4d ISPLAYMODEEX* pM
8f30: 6f 64 65 2c 44 33 44 44 49 53 50 4c 41 59 52 4f ode,D3DDISPLAYRO
8f40: 54 41 54 49 4f 4e 2a 20 70 52 6f 74 61 74 69 6f TATION* pRotatio
8f50: 6e 29 3b 0d 0a 7d 0d 0a 0d 0a 61 6c 69 61 73 20 n);..}....alias
8f60: 4c 50 44 49 52 45 43 54 33 44 53 57 41 50 43 48 LPDIRECT3DSWAPCH
8f70: 41 49 4e 39 45 58 20 49 44 69 72 65 63 74 33 44 AIN9EX IDirect3D
8f80: 53 77 61 70 43 68 61 69 6e 39 45 78 3b 0d 0a SwapChain9Ex;..