Subversion Repositories spacemission

Rev

Rev 1 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1 daniel-mar 1
unit DXETable;
2
 
3
interface
4
 
5
{$INCLUDE DelphiXcfg.inc}
6
 
7
uses
4 daniel-mar 8
  Windows, SysUtils,
9
{$IfDef StandardDX}
10
  {$ifdef DX7}
11
  DirectDraw, Direct3D,DirectInput,DirectPlay,DirectSound;
12
  {$else}
13
  {$IfDef DX9}
14
  DirectDraw, Direct3D9, Direct3D, D3DX9, {Direct3D8,} DX7toDX8, DirectInput, DirectPlay8, DirectSound;
15
//  {$Else}
16
//  {$IfDef DX81}
17
//  D3DX8, Direct3D8, DirectInput8, DirectXGraphics, DX7toDX8, DirectPlay8;
18
//  {$Else}
19
//  DirectInput, Direct3D, Direct3DRM, DirectPlay;
20
  {$EndIf}
21
  {$EndIf}
22
{$Else}
23
  DirectX;
24
{$EndIf}
1 daniel-mar 25
 
4 daniel-mar 26
 
1 daniel-mar 27
function WindowsErrorMsg(ErrorCode: HRESULT): string;
28
function DDrawErrorMsg(ErrorCode: HRESULT): string;
29
function D3DErrorMsg(ErrorCode: HRESULT): string;
4 daniel-mar 30
{$IFDEF D3DRM}
1 daniel-mar 31
function D3DRMErrorMsg(ErrorCode: HRESULT): string;
4 daniel-mar 32
{$ENDIF}
1 daniel-mar 33
function DSoundErrorMsg(ErrorCode: HRESULT): string;
34
function DInputErrorMsg(ErrorCode: HRESULT): string;
35
function DPlayErrorMsg(ErrorCode: HRESULT): string;
36
 
37
implementation
38
 
39
uses DXConsts;
40
 
41
function WindowsErrorMsg(ErrorCode: HRESULT): string;
42
var
43
  Buf: array [Byte] of Char;
44
begin
45
  Result := '';
46
  if ErrorCode<>0 then
47
  begin
48
    if FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, nil,
49
      ErrorCode, LOCALE_USER_DEFAULT, Buf, sizeof(Buf), nil)<>0 then
50
    begin
51
      Result := Buf;
52
      {  Last #13#10 is deleted.  }
53
      while Copy(Result, Length(Result)-1, 2)=#13#10 do
54
        Result := Copy(Result, 1, Length(Result)-2);
55
    end else
56
      Result := Format(SUnknownError, [ErrorCode]);
57
  end;
58
end;
59
 
60
function DDrawErrorMsg(ErrorCode: HRESULT): string;
61
begin              
62
  case ErrorCode of
63
    DD_OK                               : Result := 'DD_OK';
64
    DDERR_ALREADYINITIALIZED            : Result := 'DDERR_ALREADYINITIALIZED';
65
    DDERR_BLTFASTCANTCLIP               : Result := 'DDERR_BLTFASTCANTCLIP';
66
    DDERR_CANNOTATTACHSURFACE           : Result := 'DDERR_CANNOTATTACHSURFACE';
67
    DDERR_CANTCREATEDC                  : Result := 'DDERR_CANTCREATEDC';
68
    DDERR_CANTDUPLICATE                 : Result := 'DDERR_CANTDUPLICATE';
69
    DDERR_CLIPPERISUSINGHWND            : Result := 'DDERR_CLIPPERISUSINGHWND';
70
    DDERR_COLORKEYNOTSET                : Result := 'DDERR_COLORKEYNOTSET';
71
    DDERR_CURRENTLYNOTAVAIL             : Result := 'DDERR_CURRENTLYNOTAVAIL';
72
    DDERR_DIRECTDRAWALREADYCREATED      : Result := 'DDERR_DIRECTDRAWALREADYCREATED';
73
    DDERR_EXCEPTION                     : Result := 'DDERR_EXCEPTION';
74
    DDERR_EXCLUSIVEMODEALREADYSET       : Result := 'DDERR_EXCLUSIVEMODEALREADYSET';
75
    DDERR_GENERIC                       : Result := 'DDERR_GENERIC';
76
    DDERR_HEIGHTALIGN                   : Result := 'DDERR_HEIGHTALIGN';
77
    DDERR_HWNDALREADYSET                : Result := 'DDERR_HWNDALREADYSET';
78
    DDERR_HWNDSUBCLASSED                : Result := 'DDERR_HWNDSUBCLASSED';
79
    DDERR_IMPLICITLYCREATED             : Result := 'DDERR_IMPLICITLYCREATED';
80
    DDERR_INCOMPATIBLEPRIMARY           : Result := 'DDERR_INCOMPATIBLEPRIMARY';
81
    DDERR_INVALIDCAPS                   : Result := 'DDERR_INVALIDCAPS';
82
    DDERR_INVALIDCLIPLIST               : Result := 'DDERR_INVALIDCLIPLIST';
83
    DDERR_INVALIDDIRECTDRAWGUID         : Result := 'DDERR_INVALIDDIRECTDRAWGUID';
84
    DDERR_INVALIDMODE                   : Result := 'DDERR_INVALIDMODE';
85
    DDERR_INVALIDOBJECT                 : Result := 'DDERR_INVALIDOBJECT';
86
    DDERR_INVALIDPARAMS                 : Result := 'DDERR_INVALIDPARAMS';
87
    DDERR_INVALIDPIXELFORMAT            : Result := 'DDERR_INVALIDPIXELFORMAT';
88
    DDERR_INVALIDPOSITION               : Result := 'DDERR_INVALIDPOSITION';
89
    DDERR_INVALIDRECT                   : Result := 'DDERR_INVALIDRECT';
90
    DDERR_LOCKEDSURFACES                : Result := 'DDERR_LOCKEDSURFACES';
91
    DDERR_NO3D                          : Result := 'DDERR_NO3D';
92
    DDERR_NOALPHAHW                     : Result := 'DDERR_NOALPHAHW';
93
    DDERR_NOBLTHW                       : Result := 'DDERR_NOBLTHW';
94
    DDERR_NOCLIPLIST                    : Result := 'DDERR_NOCLIPLIST';
95
    DDERR_NOCLIPPERATTACHED             : Result := 'DDERR_NOCLIPPERATTACHED';
96
    DDERR_NOCOLORCONVHW                 : Result := 'DDERR_NOCOLORCONVHW';
97
    DDERR_NOCOLORKEY                    : Result := 'DDERR_NOCOLORKEY';
98
    DDERR_NOCOLORKEYHW                  : Result := 'DDERR_NOCOLORKEYHW';
99
    DDERR_NOCOOPERATIVELEVELSET         : Result := 'DDERR_NOCOOPERATIVELEVELSET';
100
    DDERR_NODC                          : Result := 'DDERR_NODC';
101
    DDERR_NODDROPSHW                    : Result := 'DDERR_NODDROPSHW';
102
    DDERR_NODIRECTDRAWHW                : Result := 'DDERR_NODIRECTDRAWHW';
103
    DDERR_NOEMULATION                   : Result := 'DDERR_NOEMULATION';
104
    DDERR_NOEXCLUSIVEMODE               : Result := 'DDERR_NOEXCLUSIVEMODE';
105
    DDERR_NOFLIPHW                      : Result := 'DDERR_NOFLIPHW';
106
    DDERR_NOGDI                         : Result := 'DDERR_NOGDI';
107
    DDERR_NOHWND                        : Result := 'DDERR_NOHWND';
108
    DDERR_NOMIRRORHW                    : Result := 'DDERR_NOMIRRORHW';
109
    DDERR_NOOVERLAYDEST                 : Result := 'DDERR_NOOVERLAYDEST';
110
    DDERR_NOOVERLAYHW                   : Result := 'DDERR_NOOVERLAYHW';
111
    DDERR_NOPALETTEATTACHED             : Result := 'DDERR_NOPALETTEATTACHED';
112
    DDERR_NOPALETTEHW                   : Result := 'DDERR_NOPALETTEHW';
113
    DDERR_NORASTEROPHW                  : Result := 'DDERR_NORASTEROPHW';
114
    DDERR_NOROTATIONHW                  : Result := 'DDERR_NOROTATIONHW';
115
    DDERR_NOSTRETCHHW                   : Result := 'DDERR_NOSTRETCHHW';
116
    DDERR_NOT4BITCOLOR                  : Result := 'DDERR_NOT4BITCOLOR';
117
    DDERR_NOT4BITCOLORINDEX             : Result := 'DDERR_NOT4BITCOLORINDEX';
118
    DDERR_NOT8BITCOLOR                  : Result := 'DDERR_NOT8BITCOLOR';
119
    DDERR_NOTAOVERLAYSURFACE            : Result := 'DDERR_NOTAOVERLAYSURFACE';
120
    DDERR_NOTEXTUREHW                   : Result := 'DDERR_NOTEXTUREHW';
121
    DDERR_NOTFLIPPABLE                  : Result := 'DDERR_NOTFLIPPABLE';
122
    DDERR_NOTFOUND                      : Result := 'DDERR_NOTFOUND';
123
    DDERR_NOTLOCKED                     : Result := 'DDERR_NOTLOCKED';
124
    DDERR_NOTPALETTIZED                 : Result := 'DDERR_NOTPALETTIZED';
125
    DDERR_NOVSYNCHW                     : Result := 'DDERR_NOVSYNCHW';
126
    DDERR_NOZBUFFERHW                   : Result := 'DDERR_NOZBUFFERHW';
127
    DDERR_NOZOVERLAYHW                  : Result := 'DDERR_NOZOVERLAYHW';
128
    DDERR_OUTOFCAPS                     : Result := 'DDERR_OUTOFCAPS';
129
    DDERR_OUTOFMEMORY                   : Result := 'DDERR_OUTOFMEMORY';
130
    DDERR_OUTOFVIDEOMEMORY              : Result := 'DDERR_OUTOFVIDEOMEMORY';
131
    DDERR_OVERLAYCANTCLIP               : Result := 'DDERR_OVERLAYCANTCLIP';
132
    DDERR_OVERLAYCOLORKEYONLYONEACTIVE  : Result := 'DDERR_OVERLAYCOLORKEYONLYONEACTIVE';
133
    DDERR_OVERLAYNOTVISIBLE             : Result := 'DDERR_OVERLAYNOTVISIBLE';
134
    DDERR_PALETTEBUSY                   : Result := 'DDERR_PALETTEBUSY';
135
    DDERR_PRIMARYSURFACEALREADYEXISTS   : Result := 'DDERR_PRIMARYSURFACEALREADYEXISTS';
136
    DDERR_REGIONTOOSMALL                : Result := 'DDERR_REGIONTOOSMALL';
137
    DDERR_SURFACEALREADYATTACHED        : Result := 'DDERR_SURFACEALREADYATTACHED';
138
    DDERR_SURFACEALREADYDEPENDENT       : Result := 'DDERR_SURFACEALREADYDEPENDENT';
139
    DDERR_SURFACEBUSY                   : Result := 'DDERR_SURFACEBUSY';
140
    DDERR_SURFACEISOBSCURED             : Result := 'DDERR_SURFACEISOBSCURED';
141
    DDERR_SURFACELOST                   : Result := 'DDERR_SURFACELOST';
142
    DDERR_SURFACENOTATTACHED            : Result := 'DDERR_SURFACENOTATTACHED';
143
    DDERR_TOOBIGHEIGHT                  : Result := 'DDERR_TOOBIGHEIGHT';
144
    DDERR_TOOBIGSIZE                    : Result := 'DDERR_TOOBIGSIZE';
145
    DDERR_TOOBIGWIDTH                   : Result := 'DDERR_TOOBIGWIDTH';
146
    DDERR_UNSUPPORTED                   : Result := 'DDERR_UNSUPPORTED';
147
    DDERR_UNSUPPORTEDFORMAT             : Result := 'DDERR_UNSUPPORTEDFORMAT';
148
    DDERR_UNSUPPORTEDMASK               : Result := 'DDERR_UNSUPPORTEDMASK';
149
    DDERR_VERTICALBLANKINPROGRESS       : Result := 'DDERR_VERTICALBLANKINPROGRESS';
150
    DDERR_WASSTILLDRAWING               : Result := 'DDERR_WASSTILLDRAWING';
151
    DDERR_WRONGMODE                     : Result := 'DDERR_WRONGMODE';
152
    DDERR_XALIGN                        : Result := 'DDERR_XALIGN';
153
  else
154
    Result := WindowsErrorMsg(ErrorCode);
155
  end;
156
end;
157
 
158
function D3DErrorMsg(ErrorCode: HRESULT): string;
159
begin
160
  case ErrorCode of
161
    D3D_OK                              : Result := 'D3D_OK';
162
    D3DERR_BADMAJORVERSION              : Result := 'D3DERR_BADMAJORVERSION';
163
    D3DERR_BADMINORVERSION              : Result := 'D3DERR_BADMINORVERSION';
164
    D3DERR_INVALID_DEVICE               : Result := 'D3DERR_INVALID_DEVICE';
165
    D3DERR_INITFAILED                   : Result := 'D3DERR_INITFAILED';
166
    D3DERR_DEVICEAGGREGATED             : Result := 'D3DERR_DEVICEAGGREGATED';
167
    D3DERR_EXECUTE_CREATE_FAILED        : Result := 'D3DERR_EXECUTE_CREATE_FAILED';
168
    D3DERR_EXECUTE_DESTROY_FAILED       : Result := 'D3DERR_EXECUTE_DESTROY_FAILED';
169
    D3DERR_EXECUTE_LOCK_FAILED          : Result := 'D3DERR_EXECUTE_LOCK_FAILED';
170
    D3DERR_EXECUTE_UNLOCK_FAILED        : Result := 'D3DERR_EXECUTE_UNLOCK_FAILED';
171
    D3DERR_EXECUTE_LOCKED               : Result := 'D3DERR_EXECUTE_LOCKED';
172
    D3DERR_EXECUTE_NOT_LOCKED           : Result := 'D3DERR_EXECUTE_NOT_LOCKED';
173
    D3DERR_EXECUTE_FAILED               : Result := 'D3DERR_EXECUTE_FAILED';
174
    D3DERR_EXECUTE_CLIPPED_FAILED       : Result := 'D3DERR_EXECUTE_CLIPPED_FAILED';
175
    D3DERR_TEXTURE_NO_SUPPORT           : Result := 'D3DERR_TEXTURE_NO_SUPPORT';
176
    D3DERR_TEXTURE_CREATE_FAILED        : Result := 'D3DERR_TEXTURE_CREATE_FAILED';
177
    D3DERR_TEXTURE_DESTROY_FAILED       : Result := 'D3DERR_TEXTURE_DESTROY_FAILED';
178
    D3DERR_TEXTURE_LOCK_FAILED          : Result := 'D3DERR_TEXTURE_LOCK_FAILED';
179
    D3DERR_TEXTURE_UNLOCK_FAILED        : Result := 'D3DERR_TEXTURE_UNLOCK_FAILED';
180
    D3DERR_TEXTURE_LOAD_FAILED          : Result := 'D3DERR_TEXTURE_LOAD_FAILED';
181
    D3DERR_TEXTURE_SWAP_FAILED          : Result := 'D3DERR_TEXTURE_SWAP_FAILED';
182
    D3DERR_TEXTURE_LOCKED               : Result := 'D3DERR_TEXTURE_LOCKED';
183
    D3DERR_TEXTURE_NOT_LOCKED           : Result := 'D3DERR_TEXTURE_NOT_LOCKED';
184
    D3DERR_TEXTURE_GETSURF_FAILED       : Result := 'D3DERR_TEXTURE_GETSURF_FAILED';
185
    D3DERR_MATRIX_CREATE_FAILED         : Result := 'D3DERR_MATRIX_CREATE_FAILED';
186
    D3DERR_MATRIX_DESTROY_FAILED        : Result := 'D3DERR_MATRIX_DESTROY_FAILED';
187
    D3DERR_MATRIX_SETDATA_FAILED        : Result := 'D3DERR_MATRIX_SETDATA_FAILED';
188
    D3DERR_MATRIX_GETDATA_FAILED        : Result := 'D3DERR_MATRIX_GETDATA_FAILED';
189
    D3DERR_SETVIEWPORTDATA_FAILED       : Result := 'D3DERR_SETVIEWPORTDATA_FAILED';
190
 
191
    D3DERR_INVALIDCURRENTVIEWPORT       : Result := 'D3DERR_INVALIDCURRENTVIEWPORT';
192
    D3DERR_INVALIDPRIMITIVETYPE         : Result := 'D3DERR_INVALIDPRIMITIVETYPE';
193
    D3DERR_INVALIDVERTEXTYPE            : Result := 'D3DERR_INVALIDVERTEXTYPE';
194
    D3DERR_TEXTURE_BADSIZE              : Result := 'D3DERR_TEXTURE_BADSIZE';
195
    D3DERR_INVALIDRAMPTEXTURE           : Result := 'D3DERR_INVALIDRAMPTEXTURE';
196
    D3DERR_MATERIAL_CREATE_FAILED       : Result := 'D3DERR_MATERIAL_CREATE_FAILED';
197
    D3DERR_MATERIAL_DESTROY_FAILED      : Result := 'D3DERR_MATERIAL_DESTROY_FAILED';
198
    D3DERR_MATERIAL_SETDATA_FAILED      : Result := 'D3DERR_MATERIAL_SETDATA_FAILED';
199
    D3DERR_MATERIAL_GETDATA_FAILED      : Result := 'D3DERR_MATERIAL_GETDATA_FAILED';
200
    D3DERR_INVALIDPALETTE               : Result := 'D3DERR_INVALIDPALETTE';
201
 
202
    D3DERR_ZBUFF_NEEDS_SYSTEMMEMORY     : Result := 'D3DERR_ZBUFF_NEEDS_SYSTEMMEMORY';
203
    D3DERR_ZBUFF_NEEDS_VIDEOMEMORY      : Result := 'D3DERR_ZBUFF_NEEDS_VIDEOMEMORY';
204
    D3DERR_SURFACENOTINVIDMEM           : Result := 'D3DERR_SURFACENOTINVIDMEM';
205
    D3DERR_LIGHT_SET_FAILED             : Result := 'D3DERR_LIGHT_SET_FAILED';
206
    D3DERR_LIGHTHASVIEWPORT             : Result := 'D3DERR_LIGHTHASVIEWPORT';
207
 
208
    D3DERR_LIGHTNOTINTHISVIEWPORT       : Result := 'D3DERR_LIGHTNOTINTHISVIEWPORT';
209
    D3DERR_SCENE_IN_SCENE               : Result := 'D3DERR_SCENE_IN_SCENE';
210
    D3DERR_SCENE_NOT_IN_SCENE           : Result := 'D3DERR_SCENE_NOT_IN_SCENE';
211
 
212
 
213
    D3DERR_SCENE_BEGIN_FAILED           : Result := 'D3DERR_SCENE_BEGIN_FAILED';
214
    D3DERR_SCENE_END_FAILED             : Result := 'D3DERR_SCENE_END_FAILED';
215
    D3DERR_INBEGIN                      : Result := 'D3DERR_INBEGIN';
216
    D3DERR_NOTINBEGIN                   : Result := 'D3DERR_NOTINBEGIN';
217
    D3DERR_NOVIEWPORTS                  : Result := 'D3DERR_NOVIEWPORTS';
218
    D3DERR_VIEWPORTDATANOTSET           : Result := 'D3DERR_VIEWPORTDATANOTSET';
219
    D3DERR_VIEWPORTHASNODEVICE          : Result := 'D3DERR_VIEWPORTHASNODEVICE';
220
 
221
    D3DERR_NOCURRENTVIEWPORT            : Result := 'D3DERR_NOCURRENTVIEWPORT';
222
  else
223
    Result := WindowsErrorMsg(ErrorCode);                                                          
224
  end;
225
end;
4 daniel-mar 226
{$IFDEF D3DRM}
1 daniel-mar 227
function D3DRMErrorMsg(ErrorCode: HRESULT): string;
228
begin
229
  case ErrorCode of
230
    D3DRM_OK                            : Result := 'D3DRM_OK';
231
    D3DRMERR_BADALLOC                   : Result := 'D3DRMERR_BADALLOC';
232
    D3DRMERR_BADDEVICE                  : Result := 'D3DRMERR_BADDEVICE';
233
    D3DRMERR_BADFILE                    : Result := 'D3DRMERR_BADFILE';
234
    D3DRMERR_BADMAJORVERSION            : Result := 'D3DRMERR_BADMAJORVERSION';
235
    D3DRMERR_BADMINORVERSION            : Result := 'D3DRMERR_BADMINORVERSION';
236
    D3DRMERR_BADOBJECT                  : Result := 'D3DRMERR_BADOBJECT';
237
    D3DRMERR_BADTYPE                    : Result := 'D3DRMERR_BADTYPE';
238
    D3DRMERR_BADVALUE                   : Result := 'D3DRMERR_BADVALUE';
239
    D3DRMERR_FACEUSED                   : Result := 'D3DRMERR_FACEUSED';
240
    D3DRMERR_FILENOTFOUND               : Result := 'D3DRMERR_FILENOTFOUND';
241
    D3DRMERR_NOTDONEYET                 : Result := 'D3DRMERR_NOTDONEYET';
242
    D3DRMERR_NOTFOUND                   : Result := 'D3DRMERR_NOTFOUND';
243
    D3DRMERR_UNABLETOEXECUTE            : Result := 'D3DRMERR_UNABLETOEXECUTE';
244
  else
245
    Result := WindowsErrorMsg(ErrorCode);
246
  end;
247
end;
4 daniel-mar 248
{$ENDIF}
1 daniel-mar 249
function DSoundErrorMsg(ErrorCode: HRESULT): string;
250
begin
251
  case ErrorCode of
252
    DS_OK                               : Result := 'DS_OK';
253
    DSERR_ALLOCATED                     : Result := 'DSERR_ALLOCATED';
254
    DSERR_ALREADYINITIALIZED            : Result := 'DSERR_ALREADYINITIALIZED';
255
    DSERR_BADFORMAT                     : Result := 'DSERR_BADFORMAT';
256
    DSERR_BUFFERLOST                    : Result := 'DSERR_BUFFERLOST';
257
    DSERR_CONTROLUNAVAIL                : Result := 'DSERR_CONTROLUNAVAIL';
258
    DSERR_GENERIC                       : Result := 'DSERR_GENERIC';
259
    DSERR_INVALIDPARAM                  : Result := 'DSERR_INVALIDPARAM';
260
    DSERR_INVALIDCALL                   : Result := 'DSERR_INVALIDCALL';
261
    DSERR_NOAGGREGATION                 : Result := 'DSERR_NOAGGREGATION';
262
    DSERR_NODRIVER                      : Result := 'DSERR_NODRIVER';
263
    DSERR_OUTOFMEMORY                   : Result := 'DSERR_OUTOFMEMORY';
264
    DSERR_PRIOLEVELNEEDED               : Result := 'DSERR_PRIOLEVELNEEDED';
265
    DSERR_UNSUPPORTED                   : Result := 'DSERR_UNSUPPORTED';
266
  else
267
    Result := WindowsErrorMsg(ErrorCode);
268
  end;
269
end;
270
 
271
function DInputErrorMsg(ErrorCode: HRESULT): string;
272
begin
273
  case ErrorCode of
274
    DI_OK                               : Result := 'DI_OK';
275
    DI_NOTATTACHED                      : Result := 'DI_NOTATTACHED, DI_BUFFEROVERFLOW, DI_PROPNOEFFECT, DI_POLLEDDEVICE';
276
    DIERR_OLDDIRECTINPUTVERSION         : Result := 'DIERR_OLDDIRECTINPUTVERSION';
277
    DIERR_BETADIRECTINPUTVERSION        : Result := 'DIERR_BETADIRECTINPUTVERSION';
278
    DIERR_BADDRIVERVER                  : Result := 'DIERR_BADDRIVERVER';
279
    DIERR_DEVICENOTREG                  : Result := 'DIERR_DEVICENOTREG';
280
    DIERR_OBJECTNOTFOUND                : Result := 'DIERR_OBJECTNOTFOUND';
281
    DIERR_INVALIDPARAM                  : Result := 'DIERR_INVALIDPARAM';
282
    DIERR_NOINTERFACE                   : Result := 'DIERR_NOINTERFACE';
283
    DIERR_GENERIC                       : Result := 'DIERR_GENERIC';
284
    DIERR_OUTOFMEMORY                   : Result := 'DIERR_OUTOFMEMORY';
285
    DIERR_UNSUPPORTED                   : Result := 'DIERR_UNSUPPORTED';
286
    DIERR_NOTINITIALIZED                : Result := 'DIERR_NOTINITIALIZED';
287
    DIERR_ALREADYINITIALIZED            : Result := 'DIERR_ALREADYINITIALIZED';
288
    DIERR_NOAGGREGATION                 : Result := 'DIERR_NOAGGREGATION';
289
    DIERR_OTHERAPPHASPRIO               : Result := 'DIERR_OTHERAPPHASPRIO, DIERR_READONLY, DIERR_HANDLEEXISTS';
290
    DIERR_INPUTLOST                     : Result := 'DIERR_INPUTLOST';
291
    DIERR_ACQUIRED                      : Result := 'DIERR_ACQUIRED';
292
    DIERR_NOTACQUIRED                   : Result := 'DIERR_NOTACQUIRED';
4 daniel-mar 293
    HRESULT(E_PENDING)                  : Result := 'E_PENDING';
1 daniel-mar 294
  else
295
    Result := WindowsErrorMsg(ErrorCode);
296
  end;
297
end;
4 daniel-mar 298
{$IfDef DX9}
1 daniel-mar 299
function DPlayErrorMsg(ErrorCode: HRESULT): string;
300
begin
301
  case ErrorCode of
4 daniel-mar 302
    DPN_OK                               : Result := 'DPN_OK';
303
    DPNERR_ALREADYINITIALIZED            : Result := 'DPNERR_ALREADYINITIALIZED';
304
    //DPNERR_ACCESSDENIED                  : Result := 'DPNERR_ACCESSDENIED';
305
    //DPNERR_ACTIVEPLAYERS                 : Result := 'DPNERR_ACTIVEPLAYERS';
306
    DPNERR_BUFFERTOOSMALL                : Result := 'DPNERR_BUFFERTOOSMALL';
307
    //DPNERR_CANTADDPLAYER                 : Result := 'DPNERR_CANTADDPLAYER';
308
    DPNERR_CANTCREATEGROUP               : Result := 'DPNERR_CANTCREATEGROUP';
309
    DPNERR_CANTCREATEPLAYER              : Result := 'DPNERR_CANTCREATEPLAYER';
310
    //DPNERR_CANTCREATESESSION             : Result := 'DPNERR_CANTCREATESESSION';
311
    //DPNERR_CAPSNOTAVAILABLEYET           : Result := 'DPNERR_CAPSNOTAVAILABLEYET';
312
    DPNERR_EXCEPTION                     : Result := 'DPNERR_EXCEPTION';
313
    DPNERR_GENERIC                       : Result := 'DPNERR_GENERIC';
314
    DPNERR_INVALIDFLAGS                  : Result := 'DPNERR_INVALIDFLAGS';
315
    DPNERR_INVALIDOBJECT                 : Result := 'DPNERR_INVALIDOBJECT';
316
    DPNERR_INVALIDPARAM                  : Result := 'DPNERR_INVALIDPARAM, DPNERR_INVALIDPARAMS';
317
    DPNERR_INVALIDPLAYER                 : Result := 'DPNERR_INVALIDPLAYER';
318
    DPNERR_INVALIDGROUP                  : Result := 'DPNERR_INVALIDGROUP';
319
    DPNERR_NOCAPS                        : Result := 'DPNERR_NOCAPS';
320
    DPNERR_NOCONNECTION                  : Result := 'DPNERR_NOCONNECTION';
321
    //DPNERR_NOMEMORY                      : Result := 'DPNERR_NOMEMORY, DPNERR_OUTOFMEMORY';
322
    //DPNERR_NOMESSAGES                    : Result := 'DPNERR_NOMESSAGES';
323
    //DPNERR_NONAMESERVERFOUND             : Result := 'DPNERR_NONAMESERVERFOUND';
324
    //DPNERR_NOPLAYERS                     : Result := 'DPNERR_NOPLAYERS';
325
    //DPNERR_NOSESSIONS                    : Result := 'DPNERR_NOSESSIONS';
326
    DPNERR_PENDING                       : Result := 'DPNERR_PENDING';
327
    //DPNERR_SENDTOOBIG                    : Result := 'DPNERR_SENDTOOBIG';
328
    //DPNERR_TIMEOUT                       : Result := 'DPNERR_TIMEOUT';
329
    //DPNERR_UNAVAILABLE                   : Result := 'DPNERR_UNAVAILABLE';
330
    DPNERR_UNSUPPORTED                   : Result := 'DPNERR_UNSUPPORTED';
331
    //DPNERR_BUSY                          : Result := 'DPNERR_BUSY';
332
    DPNERR_USERCANCEL                    : Result := 'DPNERR_USERCANCEL';
333
    DPNERR_NOINTERFACE                   : Result := 'DPNERR_NOINTERFACE';
334
    //DPNERR_CANNOTCREATESERVER            : Result := 'DPNERR_CANNOTCREATESERVER';
335
    DPNERR_PLAYERLOST                    : Result := 'DPNERR_PLAYERLOST';
336
    //DPNERR_SESSIONLOST                   : Result := 'DPNERR_SESSIONLOST';
337
    DPNERR_UNINITIALIZED                 : Result := 'DPNERR_UNINITIALIZED';
338
    //DPNERR_NONEWPLAYERS                  : Result := 'DPNERR_NONEWPLAYERS';
339
    DPNERR_INVALIDPASSWORD               : Result := 'DPNERR_INVALIDPASSWORD';
340
    DPNERR_CONNECTING                    : Result := 'DPNERR_CONNECTING';
341
    //DPNERR_BUFFERTOOLARGE                : Result := 'DPNERR_BUFFERTOOLARGE';
342
    //DPNERR_CANTCREATEPROCESS             : Result := 'DPNERR_CANTCREATEPROCESS';
343
    //DPNERR_APPNOTSTARTED                 : Result := 'DPNERR_APPNOTSTARTED';
344
    DPNERR_INVALIDINTERFACE              : Result := 'DPNERR_INVALIDINTERFACE';
345
    //DPNERR_NOSERVICEPROVIDER             : Result := 'DPNERR_NOSERVICEPROVIDER';
346
    //DPNERR_UNKNOWNAPPLICATION            : Result := 'DPNERR_UNKNOWNAPPLICATION';
347
    //DPNERR_NOTLOBBIED                    : Result := 'DPNERR_NOTLOBBIED';
348
    //DPNERR_SERVICEPROVIDERLOADED         : Result := 'DPNERR_SERVICEPROVIDERLOADED';
349
    DPNERR_NOTREGISTERED                 : Result := 'DPNERR_NOTREGISTERED';
350
// Security related errors
351
    //DPNERR_AUTHENTICATIONFAILED          : Result := 'DPNERR_AUTHENTICATIONFAILED';
352
    //DPNERR_CANTLOADSSPI                  : Result := 'DPNERR_CANTLOADSSPI';
353
    //DPNERR_ENCRYPTIONFAILED              : Result := 'DPNERR_ENCRYPTIONFAILED';
354
    //DPNERR_SIGNFAILED                    : Result := 'DPNERR_SIGNFAILED';
355
    //DPNERR_CANTLOADSECURITYPACKAGE       : Result := 'DPNERR_CANTLOADSECURITYPACKAGE';
356
    //DPNERR_ENCRYPTIONNOTSUPPORTED        : Result := 'DPNERR_ENCRYPTIONNOTSUPPORTED';
357
    //DPNERR_CANTLOADCAPI                  : Result := 'DPNERR_CANTLOADCAPI';
358
    //DPNERR_NOTLOGGEDIN                   : Result := 'DPNERR_NOTLOGGEDIN';
359
    //DPNERR_LOGONDENIED                   : Result := 'DPNERR_LOGONDENIED';
360
  else
361
    Result := WindowsErrorMsg(ErrorCode);
362
  end;
363
end;
364
{$Else}
365
function DPlayErrorMsg(ErrorCode: HRESULT): string;
366
begin
367
  case ErrorCode of
1 daniel-mar 368
    DP_OK                               : Result := 'DP_OK';
369
    DPERR_ALREADYINITIALIZED            : Result := 'DPERR_ALREADYINITIALIZED';
370
    DPERR_ACCESSDENIED                  : Result := 'DPERR_ACCESSDENIED';
371
    DPERR_ACTIVEPLAYERS                 : Result := 'DPERR_ACTIVEPLAYERS';
372
    DPERR_BUFFERTOOSMALL                : Result := 'DPERR_BUFFERTOOSMALL';
373
    DPERR_CANTADDPLAYER                 : Result := 'DPERR_CANTADDPLAYER';
374
    DPERR_CANTCREATEGROUP               : Result := 'DPERR_CANTCREATEGROUP';
375
    DPERR_CANTCREATEPLAYER              : Result := 'DPERR_CANTCREATEPLAYER';
376
    DPERR_CANTCREATESESSION             : Result := 'DPERR_CANTCREATESESSION';
377
    DPERR_CAPSNOTAVAILABLEYET           : Result := 'DPERR_CAPSNOTAVAILABLEYET';
378
    DPERR_EXCEPTION                     : Result := 'DPERR_EXCEPTION';
379
    DPERR_GENERIC                       : Result := 'DPERR_GENERIC';
380
    DPERR_INVALIDFLAGS                  : Result := 'DPERR_INVALIDFLAGS';
381
    DPERR_INVALIDOBJECT                 : Result := 'DPERR_INVALIDOBJECT';
382
    DPERR_INVALIDPARAM                  : Result := 'DPERR_INVALIDPARAM, DPERR_INVALIDPARAMS';
383
    DPERR_INVALIDPLAYER                 : Result := 'DPERR_INVALIDPLAYER';
384
    DPERR_INVALIDGROUP                  : Result := 'DPERR_INVALIDGROUP';
385
    DPERR_NOCAPS                        : Result := 'DPERR_NOCAPS';
386
    DPERR_NOCONNECTION                  : Result := 'DPERR_NOCONNECTION';
387
    DPERR_NOMEMORY                      : Result := 'DPERR_NOMEMORY, DPERR_OUTOFMEMORY';
388
    DPERR_NOMESSAGES                    : Result := 'DPERR_NOMESSAGES';
389
    DPERR_NONAMESERVERFOUND             : Result := 'DPERR_NONAMESERVERFOUND';
390
    DPERR_NOPLAYERS                     : Result := 'DPERR_NOPLAYERS';
391
    DPERR_NOSESSIONS                    : Result := 'DPERR_NOSESSIONS';
392
    DPERR_PENDING                       : Result := 'DPERR_PENDING';
393
    DPERR_SENDTOOBIG                    : Result := 'DPERR_SENDTOOBIG';
394
    DPERR_TIMEOUT                       : Result := 'DPERR_TIMEOUT';
395
    DPERR_UNAVAILABLE                   : Result := 'DPERR_UNAVAILABLE';
396
    DPERR_UNSUPPORTED                   : Result := 'DPERR_UNSUPPORTED';
397
    DPERR_BUSY                          : Result := 'DPERR_BUSY';
398
    DPERR_USERCANCEL                    : Result := 'DPERR_USERCANCEL';
399
    DPERR_NOINTERFACE                   : Result := 'DPERR_NOINTERFACE';
400
    DPERR_CANNOTCREATESERVER            : Result := 'DPERR_CANNOTCREATESERVER';
401
    DPERR_PLAYERLOST                    : Result := 'DPERR_PLAYERLOST';
402
    DPERR_SESSIONLOST                   : Result := 'DPERR_SESSIONLOST';
403
    DPERR_UNINITIALIZED                 : Result := 'DPERR_UNINITIALIZED';
404
    DPERR_NONEWPLAYERS                  : Result := 'DPERR_NONEWPLAYERS';
405
    DPERR_INVALIDPASSWORD               : Result := 'DPERR_INVALIDPASSWORD';
406
    DPERR_CONNECTING                    : Result := 'DPERR_CONNECTING';
407
    DPERR_BUFFERTOOLARGE                : Result := 'DPERR_BUFFERTOOLARGE';
408
    DPERR_CANTCREATEPROCESS             : Result := 'DPERR_CANTCREATEPROCESS';
409
    DPERR_APPNOTSTARTED                 : Result := 'DPERR_APPNOTSTARTED';
410
    DPERR_INVALIDINTERFACE              : Result := 'DPERR_INVALIDINTERFACE';
411
    DPERR_NOSERVICEPROVIDER             : Result := 'DPERR_NOSERVICEPROVIDER';
412
    DPERR_UNKNOWNAPPLICATION            : Result := 'DPERR_UNKNOWNAPPLICATION';
413
    DPERR_NOTLOBBIED                    : Result := 'DPERR_NOTLOBBIED';
414
    DPERR_SERVICEPROVIDERLOADED         : Result := 'DPERR_SERVICEPROVIDERLOADED';
415
    DPERR_NOTREGISTERED                 : Result := 'DPERR_NOTREGISTERED';
416
// Security related errors
417
    DPERR_AUTHENTICATIONFAILED          : Result := 'DPERR_AUTHENTICATIONFAILED';
418
    DPERR_CANTLOADSSPI                  : Result := 'DPERR_CANTLOADSSPI';
419
    DPERR_ENCRYPTIONFAILED              : Result := 'DPERR_ENCRYPTIONFAILED';
420
    DPERR_SIGNFAILED                    : Result := 'DPERR_SIGNFAILED';
421
    DPERR_CANTLOADSECURITYPACKAGE       : Result := 'DPERR_CANTLOADSECURITYPACKAGE';
422
    DPERR_ENCRYPTIONNOTSUPPORTED        : Result := 'DPERR_ENCRYPTIONNOTSUPPORTED';
423
    DPERR_CANTLOADCAPI                  : Result := 'DPERR_CANTLOADCAPI';
424
    DPERR_NOTLOGGEDIN                   : Result := 'DPERR_NOTLOGGEDIN';
425
    DPERR_LOGONDENIED                   : Result := 'DPERR_LOGONDENIED';
426
  else
427
    Result := WindowsErrorMsg(ErrorCode);
428
  end;
429
end;
4 daniel-mar 430
{$EndIf}
431
end.