Subversion Repositories spacemission

Rev

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

  1. unit DXETable;
  2.  
  3. interface
  4.  
  5. {$INCLUDE DelphiXcfg.inc}
  6.  
  7. uses
  8.   Windows, SysUtils, DirectX;
  9.  
  10. function WindowsErrorMsg(ErrorCode: HRESULT): string;
  11. function DDrawErrorMsg(ErrorCode: HRESULT): string;
  12. function D3DErrorMsg(ErrorCode: HRESULT): string;
  13. function D3DRMErrorMsg(ErrorCode: HRESULT): string;
  14. function DSoundErrorMsg(ErrorCode: HRESULT): string;
  15. function DInputErrorMsg(ErrorCode: HRESULT): string;
  16. function DPlayErrorMsg(ErrorCode: HRESULT): string;
  17.  
  18. implementation
  19.  
  20. uses DXConsts;
  21.  
  22. function WindowsErrorMsg(ErrorCode: HRESULT): string;
  23. var
  24.   Buf: array [Byte] of Char;
  25. begin
  26.   Result := '';
  27.   if ErrorCode<>0 then
  28.   begin
  29.     if FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, nil,
  30.       ErrorCode, LOCALE_USER_DEFAULT, Buf, sizeof(Buf), nil)<>0 then
  31.     begin
  32.       Result := Buf;
  33.       {  Last #13#10 is deleted.  }
  34.       while Copy(Result, Length(Result)-1, 2)=#13#10 do
  35.         Result := Copy(Result, 1, Length(Result)-2);
  36.     end else
  37.       Result := Format(SUnknownError, [ErrorCode]);
  38.   end;
  39. end;
  40.  
  41. function DDrawErrorMsg(ErrorCode: HRESULT): string;
  42. begin              
  43.   case ErrorCode of
  44.     DD_OK                               : Result := 'DD_OK';
  45.     DDERR_ALREADYINITIALIZED            : Result := 'DDERR_ALREADYINITIALIZED';
  46.     DDERR_BLTFASTCANTCLIP               : Result := 'DDERR_BLTFASTCANTCLIP';
  47.     DDERR_CANNOTATTACHSURFACE           : Result := 'DDERR_CANNOTATTACHSURFACE';
  48.     DDERR_CANTCREATEDC                  : Result := 'DDERR_CANTCREATEDC';
  49.     DDERR_CANTDUPLICATE                 : Result := 'DDERR_CANTDUPLICATE';
  50.     DDERR_CLIPPERISUSINGHWND            : Result := 'DDERR_CLIPPERISUSINGHWND';
  51.     DDERR_COLORKEYNOTSET                : Result := 'DDERR_COLORKEYNOTSET';
  52.     DDERR_CURRENTLYNOTAVAIL             : Result := 'DDERR_CURRENTLYNOTAVAIL';
  53.     DDERR_DIRECTDRAWALREADYCREATED      : Result := 'DDERR_DIRECTDRAWALREADYCREATED';
  54.     DDERR_EXCEPTION                     : Result := 'DDERR_EXCEPTION';
  55.     DDERR_EXCLUSIVEMODEALREADYSET       : Result := 'DDERR_EXCLUSIVEMODEALREADYSET';
  56.     DDERR_GENERIC                       : Result := 'DDERR_GENERIC';
  57.     DDERR_HEIGHTALIGN                   : Result := 'DDERR_HEIGHTALIGN';
  58.     DDERR_HWNDALREADYSET                : Result := 'DDERR_HWNDALREADYSET';
  59.     DDERR_HWNDSUBCLASSED                : Result := 'DDERR_HWNDSUBCLASSED';
  60.     DDERR_IMPLICITLYCREATED             : Result := 'DDERR_IMPLICITLYCREATED';
  61.     DDERR_INCOMPATIBLEPRIMARY           : Result := 'DDERR_INCOMPATIBLEPRIMARY';
  62.     DDERR_INVALIDCAPS                   : Result := 'DDERR_INVALIDCAPS';
  63.     DDERR_INVALIDCLIPLIST               : Result := 'DDERR_INVALIDCLIPLIST';
  64.     DDERR_INVALIDDIRECTDRAWGUID         : Result := 'DDERR_INVALIDDIRECTDRAWGUID';
  65.     DDERR_INVALIDMODE                   : Result := 'DDERR_INVALIDMODE';
  66.     DDERR_INVALIDOBJECT                 : Result := 'DDERR_INVALIDOBJECT';
  67.     DDERR_INVALIDPARAMS                 : Result := 'DDERR_INVALIDPARAMS';
  68.     DDERR_INVALIDPIXELFORMAT            : Result := 'DDERR_INVALIDPIXELFORMAT';
  69.     DDERR_INVALIDPOSITION               : Result := 'DDERR_INVALIDPOSITION';
  70.     DDERR_INVALIDRECT                   : Result := 'DDERR_INVALIDRECT';
  71.     DDERR_LOCKEDSURFACES                : Result := 'DDERR_LOCKEDSURFACES';
  72.     DDERR_NO3D                          : Result := 'DDERR_NO3D';
  73.     DDERR_NOALPHAHW                     : Result := 'DDERR_NOALPHAHW';
  74.     DDERR_NOBLTHW                       : Result := 'DDERR_NOBLTHW';
  75.     DDERR_NOCLIPLIST                    : Result := 'DDERR_NOCLIPLIST';
  76.     DDERR_NOCLIPPERATTACHED             : Result := 'DDERR_NOCLIPPERATTACHED';
  77.     DDERR_NOCOLORCONVHW                 : Result := 'DDERR_NOCOLORCONVHW';
  78.     DDERR_NOCOLORKEY                    : Result := 'DDERR_NOCOLORKEY';
  79.     DDERR_NOCOLORKEYHW                  : Result := 'DDERR_NOCOLORKEYHW';
  80.     DDERR_NOCOOPERATIVELEVELSET         : Result := 'DDERR_NOCOOPERATIVELEVELSET';
  81.     DDERR_NODC                          : Result := 'DDERR_NODC';
  82.     DDERR_NODDROPSHW                    : Result := 'DDERR_NODDROPSHW';
  83.     DDERR_NODIRECTDRAWHW                : Result := 'DDERR_NODIRECTDRAWHW';
  84.     DDERR_NOEMULATION                   : Result := 'DDERR_NOEMULATION';
  85.     DDERR_NOEXCLUSIVEMODE               : Result := 'DDERR_NOEXCLUSIVEMODE';
  86.     DDERR_NOFLIPHW                      : Result := 'DDERR_NOFLIPHW';
  87.     DDERR_NOGDI                         : Result := 'DDERR_NOGDI';
  88.     DDERR_NOHWND                        : Result := 'DDERR_NOHWND';
  89.     DDERR_NOMIRRORHW                    : Result := 'DDERR_NOMIRRORHW';
  90.     DDERR_NOOVERLAYDEST                 : Result := 'DDERR_NOOVERLAYDEST';
  91.     DDERR_NOOVERLAYHW                   : Result := 'DDERR_NOOVERLAYHW';
  92.     DDERR_NOPALETTEATTACHED             : Result := 'DDERR_NOPALETTEATTACHED';
  93.     DDERR_NOPALETTEHW                   : Result := 'DDERR_NOPALETTEHW';
  94.     DDERR_NORASTEROPHW                  : Result := 'DDERR_NORASTEROPHW';
  95.     DDERR_NOROTATIONHW                  : Result := 'DDERR_NOROTATIONHW';
  96.     DDERR_NOSTRETCHHW                   : Result := 'DDERR_NOSTRETCHHW';
  97.     DDERR_NOT4BITCOLOR                  : Result := 'DDERR_NOT4BITCOLOR';
  98.     DDERR_NOT4BITCOLORINDEX             : Result := 'DDERR_NOT4BITCOLORINDEX';
  99.     DDERR_NOT8BITCOLOR                  : Result := 'DDERR_NOT8BITCOLOR';
  100.     DDERR_NOTAOVERLAYSURFACE            : Result := 'DDERR_NOTAOVERLAYSURFACE';
  101.     DDERR_NOTEXTUREHW                   : Result := 'DDERR_NOTEXTUREHW';
  102.     DDERR_NOTFLIPPABLE                  : Result := 'DDERR_NOTFLIPPABLE';
  103.     DDERR_NOTFOUND                      : Result := 'DDERR_NOTFOUND';
  104.     DDERR_NOTLOCKED                     : Result := 'DDERR_NOTLOCKED';
  105.     DDERR_NOTPALETTIZED                 : Result := 'DDERR_NOTPALETTIZED';
  106.     DDERR_NOVSYNCHW                     : Result := 'DDERR_NOVSYNCHW';
  107.     DDERR_NOZBUFFERHW                   : Result := 'DDERR_NOZBUFFERHW';
  108.     DDERR_NOZOVERLAYHW                  : Result := 'DDERR_NOZOVERLAYHW';
  109.     DDERR_OUTOFCAPS                     : Result := 'DDERR_OUTOFCAPS';
  110.     DDERR_OUTOFMEMORY                   : Result := 'DDERR_OUTOFMEMORY';
  111.     DDERR_OUTOFVIDEOMEMORY              : Result := 'DDERR_OUTOFVIDEOMEMORY';
  112.     DDERR_OVERLAYCANTCLIP               : Result := 'DDERR_OVERLAYCANTCLIP';
  113.     DDERR_OVERLAYCOLORKEYONLYONEACTIVE  : Result := 'DDERR_OVERLAYCOLORKEYONLYONEACTIVE';
  114.     DDERR_OVERLAYNOTVISIBLE             : Result := 'DDERR_OVERLAYNOTVISIBLE';
  115.     DDERR_PALETTEBUSY                   : Result := 'DDERR_PALETTEBUSY';
  116.     DDERR_PRIMARYSURFACEALREADYEXISTS   : Result := 'DDERR_PRIMARYSURFACEALREADYEXISTS';
  117.     DDERR_REGIONTOOSMALL                : Result := 'DDERR_REGIONTOOSMALL';
  118.     DDERR_SURFACEALREADYATTACHED        : Result := 'DDERR_SURFACEALREADYATTACHED';
  119.     DDERR_SURFACEALREADYDEPENDENT       : Result := 'DDERR_SURFACEALREADYDEPENDENT';
  120.     DDERR_SURFACEBUSY                   : Result := 'DDERR_SURFACEBUSY';
  121.     DDERR_SURFACEISOBSCURED             : Result := 'DDERR_SURFACEISOBSCURED';
  122.     DDERR_SURFACELOST                   : Result := 'DDERR_SURFACELOST';
  123.     DDERR_SURFACENOTATTACHED            : Result := 'DDERR_SURFACENOTATTACHED';
  124.     DDERR_TOOBIGHEIGHT                  : Result := 'DDERR_TOOBIGHEIGHT';
  125.     DDERR_TOOBIGSIZE                    : Result := 'DDERR_TOOBIGSIZE';
  126.     DDERR_TOOBIGWIDTH                   : Result := 'DDERR_TOOBIGWIDTH';
  127.     DDERR_UNSUPPORTED                   : Result := 'DDERR_UNSUPPORTED';
  128.     DDERR_UNSUPPORTEDFORMAT             : Result := 'DDERR_UNSUPPORTEDFORMAT';
  129.     DDERR_UNSUPPORTEDMASK               : Result := 'DDERR_UNSUPPORTEDMASK';
  130.     DDERR_VERTICALBLANKINPROGRESS       : Result := 'DDERR_VERTICALBLANKINPROGRESS';
  131.     DDERR_WASSTILLDRAWING               : Result := 'DDERR_WASSTILLDRAWING';
  132.     DDERR_WRONGMODE                     : Result := 'DDERR_WRONGMODE';
  133.     DDERR_XALIGN                        : Result := 'DDERR_XALIGN';
  134.   else
  135.     Result := WindowsErrorMsg(ErrorCode);
  136.   end;
  137. end;
  138.  
  139. function D3DErrorMsg(ErrorCode: HRESULT): string;
  140. begin
  141.   case ErrorCode of
  142.     D3D_OK                              : Result := 'D3D_OK';
  143.     D3DERR_BADMAJORVERSION              : Result := 'D3DERR_BADMAJORVERSION';
  144.     D3DERR_BADMINORVERSION              : Result := 'D3DERR_BADMINORVERSION';
  145.     D3DERR_INVALID_DEVICE               : Result := 'D3DERR_INVALID_DEVICE';
  146.     D3DERR_INITFAILED                   : Result := 'D3DERR_INITFAILED';
  147.     D3DERR_DEVICEAGGREGATED             : Result := 'D3DERR_DEVICEAGGREGATED';
  148.     D3DERR_EXECUTE_CREATE_FAILED        : Result := 'D3DERR_EXECUTE_CREATE_FAILED';
  149.     D3DERR_EXECUTE_DESTROY_FAILED       : Result := 'D3DERR_EXECUTE_DESTROY_FAILED';
  150.     D3DERR_EXECUTE_LOCK_FAILED          : Result := 'D3DERR_EXECUTE_LOCK_FAILED';
  151.     D3DERR_EXECUTE_UNLOCK_FAILED        : Result := 'D3DERR_EXECUTE_UNLOCK_FAILED';
  152.     D3DERR_EXECUTE_LOCKED               : Result := 'D3DERR_EXECUTE_LOCKED';
  153.     D3DERR_EXECUTE_NOT_LOCKED           : Result := 'D3DERR_EXECUTE_NOT_LOCKED';
  154.     D3DERR_EXECUTE_FAILED               : Result := 'D3DERR_EXECUTE_FAILED';
  155.     D3DERR_EXECUTE_CLIPPED_FAILED       : Result := 'D3DERR_EXECUTE_CLIPPED_FAILED';
  156.     D3DERR_TEXTURE_NO_SUPPORT           : Result := 'D3DERR_TEXTURE_NO_SUPPORT';
  157.     D3DERR_TEXTURE_CREATE_FAILED        : Result := 'D3DERR_TEXTURE_CREATE_FAILED';
  158.     D3DERR_TEXTURE_DESTROY_FAILED       : Result := 'D3DERR_TEXTURE_DESTROY_FAILED';
  159.     D3DERR_TEXTURE_LOCK_FAILED          : Result := 'D3DERR_TEXTURE_LOCK_FAILED';
  160.     D3DERR_TEXTURE_UNLOCK_FAILED        : Result := 'D3DERR_TEXTURE_UNLOCK_FAILED';
  161.     D3DERR_TEXTURE_LOAD_FAILED          : Result := 'D3DERR_TEXTURE_LOAD_FAILED';
  162.     D3DERR_TEXTURE_SWAP_FAILED          : Result := 'D3DERR_TEXTURE_SWAP_FAILED';
  163.     D3DERR_TEXTURE_LOCKED               : Result := 'D3DERR_TEXTURE_LOCKED';
  164.     D3DERR_TEXTURE_NOT_LOCKED           : Result := 'D3DERR_TEXTURE_NOT_LOCKED';
  165.     D3DERR_TEXTURE_GETSURF_FAILED       : Result := 'D3DERR_TEXTURE_GETSURF_FAILED';
  166.     D3DERR_MATRIX_CREATE_FAILED         : Result := 'D3DERR_MATRIX_CREATE_FAILED';
  167.     D3DERR_MATRIX_DESTROY_FAILED        : Result := 'D3DERR_MATRIX_DESTROY_FAILED';
  168.     D3DERR_MATRIX_SETDATA_FAILED        : Result := 'D3DERR_MATRIX_SETDATA_FAILED';
  169.     D3DERR_MATRIX_GETDATA_FAILED        : Result := 'D3DERR_MATRIX_GETDATA_FAILED';
  170.     D3DERR_SETVIEWPORTDATA_FAILED       : Result := 'D3DERR_SETVIEWPORTDATA_FAILED';
  171.  
  172.     D3DERR_INVALIDCURRENTVIEWPORT       : Result := 'D3DERR_INVALIDCURRENTVIEWPORT';
  173.     D3DERR_INVALIDPRIMITIVETYPE         : Result := 'D3DERR_INVALIDPRIMITIVETYPE';
  174.     D3DERR_INVALIDVERTEXTYPE            : Result := 'D3DERR_INVALIDVERTEXTYPE';
  175.     D3DERR_TEXTURE_BADSIZE              : Result := 'D3DERR_TEXTURE_BADSIZE';
  176.     D3DERR_INVALIDRAMPTEXTURE           : Result := 'D3DERR_INVALIDRAMPTEXTURE';
  177.     D3DERR_MATERIAL_CREATE_FAILED       : Result := 'D3DERR_MATERIAL_CREATE_FAILED';
  178.     D3DERR_MATERIAL_DESTROY_FAILED      : Result := 'D3DERR_MATERIAL_DESTROY_FAILED';
  179.     D3DERR_MATERIAL_SETDATA_FAILED      : Result := 'D3DERR_MATERIAL_SETDATA_FAILED';
  180.     D3DERR_MATERIAL_GETDATA_FAILED      : Result := 'D3DERR_MATERIAL_GETDATA_FAILED';
  181.     D3DERR_INVALIDPALETTE               : Result := 'D3DERR_INVALIDPALETTE';
  182.  
  183.     D3DERR_ZBUFF_NEEDS_SYSTEMMEMORY     : Result := 'D3DERR_ZBUFF_NEEDS_SYSTEMMEMORY';
  184.     D3DERR_ZBUFF_NEEDS_VIDEOMEMORY      : Result := 'D3DERR_ZBUFF_NEEDS_VIDEOMEMORY';
  185.     D3DERR_SURFACENOTINVIDMEM           : Result := 'D3DERR_SURFACENOTINVIDMEM';
  186.     D3DERR_LIGHT_SET_FAILED             : Result := 'D3DERR_LIGHT_SET_FAILED';
  187.     D3DERR_LIGHTHASVIEWPORT             : Result := 'D3DERR_LIGHTHASVIEWPORT';
  188.  
  189.     D3DERR_LIGHTNOTINTHISVIEWPORT       : Result := 'D3DERR_LIGHTNOTINTHISVIEWPORT';
  190.     D3DERR_SCENE_IN_SCENE               : Result := 'D3DERR_SCENE_IN_SCENE';
  191.     D3DERR_SCENE_NOT_IN_SCENE           : Result := 'D3DERR_SCENE_NOT_IN_SCENE';
  192.  
  193.  
  194.     D3DERR_SCENE_BEGIN_FAILED           : Result := 'D3DERR_SCENE_BEGIN_FAILED';
  195.     D3DERR_SCENE_END_FAILED             : Result := 'D3DERR_SCENE_END_FAILED';
  196.     D3DERR_INBEGIN                      : Result := 'D3DERR_INBEGIN';
  197.     D3DERR_NOTINBEGIN                   : Result := 'D3DERR_NOTINBEGIN';
  198.     D3DERR_NOVIEWPORTS                  : Result := 'D3DERR_NOVIEWPORTS';
  199.     D3DERR_VIEWPORTDATANOTSET           : Result := 'D3DERR_VIEWPORTDATANOTSET';
  200.     D3DERR_VIEWPORTHASNODEVICE          : Result := 'D3DERR_VIEWPORTHASNODEVICE';
  201.  
  202.     D3DERR_NOCURRENTVIEWPORT            : Result := 'D3DERR_NOCURRENTVIEWPORT';
  203.   else
  204.     Result := WindowsErrorMsg(ErrorCode);                                                          
  205.   end;
  206. end;
  207.  
  208. function D3DRMErrorMsg(ErrorCode: HRESULT): string;
  209. begin
  210.   case ErrorCode of
  211.     D3DRM_OK                            : Result := 'D3DRM_OK';
  212.     D3DRMERR_BADALLOC                   : Result := 'D3DRMERR_BADALLOC';
  213.     D3DRMERR_BADDEVICE                  : Result := 'D3DRMERR_BADDEVICE';
  214.     D3DRMERR_BADFILE                    : Result := 'D3DRMERR_BADFILE';
  215.     D3DRMERR_BADMAJORVERSION            : Result := 'D3DRMERR_BADMAJORVERSION';
  216.     D3DRMERR_BADMINORVERSION            : Result := 'D3DRMERR_BADMINORVERSION';
  217.     D3DRMERR_BADOBJECT                  : Result := 'D3DRMERR_BADOBJECT';
  218.     D3DRMERR_BADTYPE                    : Result := 'D3DRMERR_BADTYPE';
  219.     D3DRMERR_BADVALUE                   : Result := 'D3DRMERR_BADVALUE';
  220.     D3DRMERR_FACEUSED                   : Result := 'D3DRMERR_FACEUSED';
  221.     D3DRMERR_FILENOTFOUND               : Result := 'D3DRMERR_FILENOTFOUND';
  222.     D3DRMERR_NOTDONEYET                 : Result := 'D3DRMERR_NOTDONEYET';
  223.     D3DRMERR_NOTFOUND                   : Result := 'D3DRMERR_NOTFOUND';
  224.     D3DRMERR_UNABLETOEXECUTE            : Result := 'D3DRMERR_UNABLETOEXECUTE';
  225.   else
  226.     Result := WindowsErrorMsg(ErrorCode);
  227.   end;
  228. end;
  229.  
  230. function DSoundErrorMsg(ErrorCode: HRESULT): string;
  231. begin
  232.   case ErrorCode of
  233.     DS_OK                               : Result := 'DS_OK';
  234.     DSERR_ALLOCATED                     : Result := 'DSERR_ALLOCATED';
  235.     DSERR_ALREADYINITIALIZED            : Result := 'DSERR_ALREADYINITIALIZED';
  236.     DSERR_BADFORMAT                     : Result := 'DSERR_BADFORMAT';
  237.     DSERR_BUFFERLOST                    : Result := 'DSERR_BUFFERLOST';
  238.     DSERR_CONTROLUNAVAIL                : Result := 'DSERR_CONTROLUNAVAIL';
  239.     DSERR_GENERIC                       : Result := 'DSERR_GENERIC';
  240.     DSERR_INVALIDPARAM                  : Result := 'DSERR_INVALIDPARAM';
  241.     DSERR_INVALIDCALL                   : Result := 'DSERR_INVALIDCALL';
  242.     DSERR_NOAGGREGATION                 : Result := 'DSERR_NOAGGREGATION';
  243.     DSERR_NODRIVER                      : Result := 'DSERR_NODRIVER';
  244.     DSERR_OUTOFMEMORY                   : Result := 'DSERR_OUTOFMEMORY';
  245.     DSERR_PRIOLEVELNEEDED               : Result := 'DSERR_PRIOLEVELNEEDED';
  246.     DSERR_UNSUPPORTED                   : Result := 'DSERR_UNSUPPORTED';
  247.   else
  248.     Result := WindowsErrorMsg(ErrorCode);
  249.   end;
  250. end;
  251.  
  252. function DInputErrorMsg(ErrorCode: HRESULT): string;
  253. begin
  254.   case ErrorCode of
  255.     DI_OK                               : Result := 'DI_OK';
  256.     DI_NOTATTACHED                      : Result := 'DI_NOTATTACHED, DI_BUFFEROVERFLOW, DI_PROPNOEFFECT, DI_POLLEDDEVICE';
  257.     DIERR_OLDDIRECTINPUTVERSION         : Result := 'DIERR_OLDDIRECTINPUTVERSION';
  258.     DIERR_BETADIRECTINPUTVERSION        : Result := 'DIERR_BETADIRECTINPUTVERSION';
  259.     DIERR_BADDRIVERVER                  : Result := 'DIERR_BADDRIVERVER';
  260.     DIERR_DEVICENOTREG                  : Result := 'DIERR_DEVICENOTREG';
  261.     DIERR_OBJECTNOTFOUND                : Result := 'DIERR_OBJECTNOTFOUND';
  262.     DIERR_INVALIDPARAM                  : Result := 'DIERR_INVALIDPARAM';
  263.     DIERR_NOINTERFACE                   : Result := 'DIERR_NOINTERFACE';
  264.     DIERR_GENERIC                       : Result := 'DIERR_GENERIC';
  265.     DIERR_OUTOFMEMORY                   : Result := 'DIERR_OUTOFMEMORY';
  266.     DIERR_UNSUPPORTED                   : Result := 'DIERR_UNSUPPORTED';
  267.     DIERR_NOTINITIALIZED                : Result := 'DIERR_NOTINITIALIZED';
  268.     DIERR_ALREADYINITIALIZED            : Result := 'DIERR_ALREADYINITIALIZED';
  269.     DIERR_NOAGGREGATION                 : Result := 'DIERR_NOAGGREGATION';
  270.     DIERR_OTHERAPPHASPRIO               : Result := 'DIERR_OTHERAPPHASPRIO, DIERR_READONLY, DIERR_HANDLEEXISTS';
  271.     DIERR_INPUTLOST                     : Result := 'DIERR_INPUTLOST';
  272.     DIERR_ACQUIRED                      : Result := 'DIERR_ACQUIRED';
  273.     DIERR_NOTACQUIRED                   : Result := 'DIERR_NOTACQUIRED';
  274.     E_PENDING                           : Result := 'E_PENDING';
  275.   else
  276.     Result := WindowsErrorMsg(ErrorCode);
  277.   end;
  278. end;
  279.  
  280. function DPlayErrorMsg(ErrorCode: HRESULT): string;
  281. begin
  282.   case ErrorCode of
  283.     DP_OK                               : Result := 'DP_OK';
  284.     DPERR_ALREADYINITIALIZED            : Result := 'DPERR_ALREADYINITIALIZED';
  285.     DPERR_ACCESSDENIED                  : Result := 'DPERR_ACCESSDENIED';
  286.     DPERR_ACTIVEPLAYERS                 : Result := 'DPERR_ACTIVEPLAYERS';
  287.     DPERR_BUFFERTOOSMALL                : Result := 'DPERR_BUFFERTOOSMALL';
  288.     DPERR_CANTADDPLAYER                 : Result := 'DPERR_CANTADDPLAYER';
  289.     DPERR_CANTCREATEGROUP               : Result := 'DPERR_CANTCREATEGROUP';
  290.     DPERR_CANTCREATEPLAYER              : Result := 'DPERR_CANTCREATEPLAYER';
  291.     DPERR_CANTCREATESESSION             : Result := 'DPERR_CANTCREATESESSION';
  292.     DPERR_CAPSNOTAVAILABLEYET           : Result := 'DPERR_CAPSNOTAVAILABLEYET';
  293.     DPERR_EXCEPTION                     : Result := 'DPERR_EXCEPTION';
  294.     DPERR_GENERIC                       : Result := 'DPERR_GENERIC';
  295.     DPERR_INVALIDFLAGS                  : Result := 'DPERR_INVALIDFLAGS';
  296.     DPERR_INVALIDOBJECT                 : Result := 'DPERR_INVALIDOBJECT';
  297.     DPERR_INVALIDPARAM                  : Result := 'DPERR_INVALIDPARAM, DPERR_INVALIDPARAMS';
  298.     DPERR_INVALIDPLAYER                 : Result := 'DPERR_INVALIDPLAYER';
  299.     DPERR_INVALIDGROUP                  : Result := 'DPERR_INVALIDGROUP';
  300.     DPERR_NOCAPS                        : Result := 'DPERR_NOCAPS';
  301.     DPERR_NOCONNECTION                  : Result := 'DPERR_NOCONNECTION';
  302.     DPERR_NOMEMORY                      : Result := 'DPERR_NOMEMORY, DPERR_OUTOFMEMORY';
  303.     DPERR_NOMESSAGES                    : Result := 'DPERR_NOMESSAGES';
  304.     DPERR_NONAMESERVERFOUND             : Result := 'DPERR_NONAMESERVERFOUND';
  305.     DPERR_NOPLAYERS                     : Result := 'DPERR_NOPLAYERS';
  306.     DPERR_NOSESSIONS                    : Result := 'DPERR_NOSESSIONS';
  307.     DPERR_PENDING                       : Result := 'DPERR_PENDING';
  308.     DPERR_SENDTOOBIG                    : Result := 'DPERR_SENDTOOBIG';
  309.     DPERR_TIMEOUT                       : Result := 'DPERR_TIMEOUT';
  310.     DPERR_UNAVAILABLE                   : Result := 'DPERR_UNAVAILABLE';
  311.     DPERR_UNSUPPORTED                   : Result := 'DPERR_UNSUPPORTED';
  312.     DPERR_BUSY                          : Result := 'DPERR_BUSY';
  313.     DPERR_USERCANCEL                    : Result := 'DPERR_USERCANCEL';
  314.     DPERR_NOINTERFACE                   : Result := 'DPERR_NOINTERFACE';
  315.     DPERR_CANNOTCREATESERVER            : Result := 'DPERR_CANNOTCREATESERVER';
  316.     DPERR_PLAYERLOST                    : Result := 'DPERR_PLAYERLOST';
  317.     DPERR_SESSIONLOST                   : Result := 'DPERR_SESSIONLOST';
  318.     DPERR_UNINITIALIZED                 : Result := 'DPERR_UNINITIALIZED';
  319.     DPERR_NONEWPLAYERS                  : Result := 'DPERR_NONEWPLAYERS';
  320.     DPERR_INVALIDPASSWORD               : Result := 'DPERR_INVALIDPASSWORD';
  321.     DPERR_CONNECTING                    : Result := 'DPERR_CONNECTING';
  322.     DPERR_BUFFERTOOLARGE                : Result := 'DPERR_BUFFERTOOLARGE';
  323.     DPERR_CANTCREATEPROCESS             : Result := 'DPERR_CANTCREATEPROCESS';
  324.     DPERR_APPNOTSTARTED                 : Result := 'DPERR_APPNOTSTARTED';
  325.     DPERR_INVALIDINTERFACE              : Result := 'DPERR_INVALIDINTERFACE';
  326.     DPERR_NOSERVICEPROVIDER             : Result := 'DPERR_NOSERVICEPROVIDER';
  327.     DPERR_UNKNOWNAPPLICATION            : Result := 'DPERR_UNKNOWNAPPLICATION';
  328.     DPERR_NOTLOBBIED                    : Result := 'DPERR_NOTLOBBIED';
  329.     DPERR_SERVICEPROVIDERLOADED         : Result := 'DPERR_SERVICEPROVIDERLOADED';
  330.     DPERR_NOTREGISTERED                 : Result := 'DPERR_NOTREGISTERED';
  331. // Security related errors
  332.     DPERR_AUTHENTICATIONFAILED          : Result := 'DPERR_AUTHENTICATIONFAILED';
  333.     DPERR_CANTLOADSSPI                  : Result := 'DPERR_CANTLOADSSPI';
  334.     DPERR_ENCRYPTIONFAILED              : Result := 'DPERR_ENCRYPTIONFAILED';
  335.     DPERR_SIGNFAILED                    : Result := 'DPERR_SIGNFAILED';
  336.     DPERR_CANTLOADSECURITYPACKAGE       : Result := 'DPERR_CANTLOADSECURITYPACKAGE';
  337.     DPERR_ENCRYPTIONNOTSUPPORTED        : Result := 'DPERR_ENCRYPTIONNOTSUPPORTED';
  338.     DPERR_CANTLOADCAPI                  : Result := 'DPERR_CANTLOADCAPI';
  339.     DPERR_NOTLOGGEDIN                   : Result := 'DPERR_NOTLOGGEDIN';
  340.     DPERR_LOGONDENIED                   : Result := 'DPERR_LOGONDENIED';
  341.   else
  342.     Result := WindowsErrorMsg(ErrorCode);
  343.   end;
  344. end;
  345.  
  346. end.
  347.