📄 hxresmgr.cpp
字号:
/* ***** BEGIN LICENSE BLOCK *****
* Version: RCSL 1.0/RPSL 1.0
*
* Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved.
*
* The contents of this file, and the files included with this file, are
* subject to the current version of the RealNetworks Public Source License
* Version 1.0 (the "RPSL") available at
* http://www.helixcommunity.org/content/rpsl unless you have licensed
* the file under the RealNetworks Community Source License Version 1.0
* (the "RCSL") available at http://www.helixcommunity.org/content/rcsl,
* in which case the RCSL will apply. You may also obtain the license terms
* directly from RealNetworks. You may not use this file except in
* compliance with the RPSL or, if you have a valid RCSL with RealNetworks
* applicable to this file, the RCSL. Please see the applicable RPSL or
* RCSL for the rights, obligations and limitations governing use of the
* contents of the file.
*
* This file is part of the Helix DNA Technology. RealNetworks is the
* developer of the Original Code and owns the copyrights in the portions
* it created.
*
* This file, and the files included with this file, is distributed and made
* available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
* EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES,
* INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS
* FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
*
* Technology Compatibility Kit Test Suite(s) Location:
* http://www.helixcommunity.org/content/tck
*
* Contributor(s):
*
* ***** END LICENSE BLOCK ***** */
#include "hxcom.h"
#include "hlxclib/string.h"
#include "hxtypes.h"
#include "hxresult.h"
#include "hxbuffer.h"
#include "hxxres.h"
#include "hxxrsmg.h"
#include "dcoreres.h"
#include "saerrs.h"
#include "hxresmgr.h"
/* This is the ONLY file that should be including hxerrors.h */
#include "hxerrors.h"
#if defined( _WIN32 ) || defined( _WINDOWS )
#include "hlxclib/windows.h"
#include "platform/win/rescode.h"
#elif defined (_MACINTOSH)
const short RA_ERROR_STRINGS = 5000;
const short RA_MSG_STRINGS = 5001;
#endif
#include "hxheap.h"
#ifdef _DEBUG
#undef HX_THIS_FILE
static const char HX_THIS_FILE[] = __FILE__;
#endif
#ifdef _WINDOWS
extern HINSTANCE g_hInstance;
#endif
static struct errorStringTable
{
HX_RESULT m_ulErrorTag;
UINT32 m_ulErrorStringID;
} const ErrorStringTable[] =
{
{HXR_FAILED, IDS_ERR_GENERAL_ERROR}, // 1 "General error. An error occurred"
{HXR_OUTOFMEMORY, IDS_ERR_MEMORY_ERROR}, // 2 "Out of memory."
{HXR_INVALID_OPERATION, IDS_ERR_INVALID_OPERATION}, // 3 "Invalid Operation."
// state errors/return values
{HXR_INVALID_PARAMETER, IDS_ERR_INVALID_PARAMETER}, // 8 "Invalid parameter. Unable to process request."
{HXR_NOT_INITIALIZED, IDS_ERR_NOT_INITIALIZED_ERROR}, // 10 "Not initialized."
// file errors
{HXR_INVALID_FILE, IDS_ERR_INVALID_FILE}, // 11 "This document is not a RealAudio document."
{HXR_INVALID_VERSION, IDS_ERR_INVALID_VERSION}, // 12 "Invalid RealAudio file version number."
{HXR_DOC_MISSING, IDS_ERR_DOC_MISSING_ERROR}, // 14 "Requested file not found. The link you followed may be outdated or inaccurate."
{HXR_BAD_FORMAT, IDS_ERR_FORMAT_ERROR}, // 15 "Unknown data format."
// server errors
{HXR_NET_SOCKET_INVALID, IDS_ERR_NET_SOCKET_INVALID}, // 18 "Invalid socket error."
{HXR_NET_CONNECT, IDS_ERR_NET_CONNECT_ERROR}, // 19 "An error occurred while trying to connect to the RealAudio Server."
{HXR_BIND, IDS_ERR_BIND_ERROR}, // 20 "An error occurred binding to network socket."
{HXR_SOCKET_CREATE, IDS_ERR_SOCKET_CREATE_ERROR}, // 21 "An error occurred while creating a network socket."
{HXR_INVALID_HOST, IDS_ERR_INVALID_HOST}, // 22 "Requested server is not valid."
{HXR_INVALID_PATH, IDS_ERR_INVALID_PATH}, // 23 "Requested URL is not valid."
{HXR_NET_READ, IDS_ERR_NET_READ_ERROR}, // 24 "An error occurred while reading data from the network."
{HXR_NET_WRITE, IDS_ERR_NET_WRITE_ERROR}, // 25 "An error occurred while writing data to the network."
{HXR_NET_UDP, IDS_ERR_NET_UDP_ERROR}, // 26 "Player cannot receive UDP data packets. You may wish to try the TCP data
{HXR_HTTP_CONNECT, IDS_ERR_HTTP_CONNECT_ERROR}, // 25
// option in the Network Preferences. You may also want to configure your player
// to use a firewall proxy. Please contact your system adminstrator for more information."
{HXR_SERVER_TIMEOUT, IDS_ERR_SERVER_TIMEOUT}, // 28 "Server timeout. Server not responding."
{HXR_SERVER_DISCONNECTED, IDS_ERR_SERVER_DISCONNECTED}, // 29 "Server disconnected. The server may be too busy or not available at this time."
{HXR_DNR, IDS_ERR_DNR_ERROR}, // 30 "Cannot resolve the requested network address."
{HXR_OPEN_DRIVER, IDS_ERR_OPEN_DRIVER_ERROR}, // 31 "Cannot open the network drivers."
{HXR_BAD_SERVER, IDS_ERR_BAD_SERVER_ERROR}, // 34 "This server is not using a recognized protocol."
{HXR_ADVANCED_SERVER, IDS_ERR_ADVANCED_SERVER_ERROR}, // 35 "You need a newer client to access this server. Please upgrade."
{HXR_OLD_SERVER, IDS_ERR_OLD_SERVER_ERROR}, // 36 "Connection closed. The host's version of the RealAudio Server is too old for this client."
{HXR_SERVER_ALERT, IDS_ERR_SERVER_ALERT}, // 45 "Server alert"
// decoder errors
{HXR_DEC_NOT_FOUND, IDS_ERR_DEC_NOT_FOUND}, // 38 "File compression not supported. Cannot locate the requested RealAudio decoder."
{HXR_DEC_INVALID, IDS_ERR_DEC_INVALID}, // 39 "Invalid decoder."
{HXR_DEC_TYPE_MISMATCH, IDS_ERR_DEC_TYPE_MISMATCH}, // 40 "Decoder type mismatch. Cannot load the requested decoder."
{HXR_DEC_INIT_FAILED, IDS_ERR_DEC_INIT_FAILED}, // 41 "Requested RealAudio Decoder cannot be found or cannot be used on this machine."
{HXR_DEC_NOT_INITED, IDS_ERR_DEC_NOT_INITED}, // 42 "RealAudio Decoder was not initialized before attempting to use it."
{HXR_DEC_DECOMPRESS, IDS_ERR_DEC_DECOMPRESS_ERROR}, // 43 "An error occurred during decoding."
{HXR_NO_CODECS, IDS_ERR_NO_CODECS}, // 87 "No RealAudio Codecs have been installed on your system."
// proxy errors
{HXR_PROXY, IDS_ERR_PROXY_ERROR}, // 46 "Proxy status error"
{HXR_PROXY_RESPONSE, IDS_ERR_PROXY_RESPONSE_ERROR}, // 47 "Proxy invalid response error"
{HXR_ADVANCED_PROXY, IDS_ERR_ADVANCED_PROXY_ERROR}, // 48 "You need a newer client to access this proxy. Please upgrade."
{HXR_OLD_PROXY, IDS_ERR_OLD_PROXY_ERROR}, // 49 "Connection closed. The proxy is too old for this client."
// audio errors
{HXR_AUDIO_DRIVER, IDS_ERR_AUDIO_DRIVER_ERROR}, // 50 "Cannot open audio device."
// parsing errors
{HXR_INVALID_PROTOCOL, IDS_ERR_INVALID_PROTOCOL_ERROR}, // 51 "Invalid protocol specified in URL."
{HXR_INVALID_URL_OPTION, IDS_ERR_INVALID_URL_OPTION_ERROR}, // 52 "Invalid option specified in URL."
{HXR_INVALID_URL_HOST, IDS_ERR_INVALID_URL_HOST}, // 53 "Invalid host string in requested URL."
{HXR_INVALID_URL_PATH, IDS_ERR_INVALID_URL_PATH}, // 54 "Invalid resource path string in requested URL."
{HXR_GENERAL_NONET, IDS_ERR_GENERAL_NONET}, // 55 "Error locating Winsock Services."
// More errors
{HXR_PERFECTPLAY_NOT_SUPPORTED, IDS_ERR_PERFECTPLAY_NOT_SUPPORTED}, // 75, Requested server does not support PerfectPlay.
{HXR_NO_LIVE_PERFECTPLAY, IDS_ERR_NO_LIVE_PERFECTPLAY}, // 76, PerfectPlay not supported for live streams.
{HXR_PERFECTPLAY_NOT_ALLOWED, IDS_ERR_PERFECTPLAY_NOT_ALLOWED}, // 78, PerfectPlay not allowed on this clip.
{HXR_MULTICAST_JOIN, IDS_ERR_MULTICAST_JOIN_ERROR}, // 84, An error occured attempting to join multicast session.
{HXR_GENERAL_MULTICAST, IDS_ERR_GENERAL_MULTICAST_ERROR}, // 85, An error occured accessing a multicast session.
{HXR_MULTICAST_UDP, IDS_ERR_MULTICAST_UDP_ERROR}, // 86 "Player cannot receive UDP data packets from multicast session.
// You may wish to try the TCP data option in the Network Preferences.
// You may also want to configure your player to use a firewall proxy.
// Please contact your system adminstrator for more information."
{HXR_SLOW_MACHINE, IDS_ERR_SLOW_MACHINE}, // 88 "Your machine does not have enough CPU power to play this file in real time."
{HXR_INVALID_HTTP_PROXY_HOST, IDS_ERR_INVALID_HTTP_PROXY_HOST}, // 90 Invalid hostname for HTTP proxy.
{HXR_INVALID_METAFILE, IDS_ERR_INVALID_METAFILE}, // 90 Invalid hostname for HTTP proxy.
{HXR_NO_FILEFORMAT, IDS_ERR_MISSING_COMPONENTS}, // Missing components
{HXR_NO_RENDERER, IDS_ERR_MISSING_COMPONENTS}, // Missing components
{HXR_MISSING_COMPONENTS, IDS_ERR_MISSING_COMPONENTS}, // Missing components
{HXR_BAD_TRANSPORT, IDS_ERR_BAD_TRANSPORT}, // 94 Transport not recognized
{HXR_NOT_AUTHORIZED, IDS_ERR_NOT_AUTHORIZED}, // 95 Access Denied
{HXR_NOTENOUGH_BANDWIDTH, IDS_ERR_NOTENOUGH_BANDWIDTH},
{HXR_RIGHTS_EXPIRED, IDS_ERR_RIGHTS_EXPIRED}, // 1082 Digital Rights have expired.
{HXR_RESTORATION_COMPLETE, IDS_ERR_RESTORATION_COMPLETE}, // restoration done.
{HXR_BACKUP_COMPLETE, IDS_ERR_BACKUP_COMPLETE}, // backup done.
{HXR_TLC_NOT_CERTIFIED, IDS_ERR_TLC_NOT_CERTIFIED}, // tlc not certified
{HXR_CORRUPTED_BACKUP_FILE, IDS_ERR_CORRUPTED_BACKUP_FILE}, // corrupted backup file
{HXR_CHECK_RIGHTS, IDS_ERR_CHECK_RIGHTS}, // Check for more Rights
{HXR_RESTORE_SERVER_DENIED, IDS_ERR_RESTORE_SERVER_DENIED}, // Restoration Denial from server.
{HXR_DEBUGGER_DETECTED, IDS_ERR_DEBUGGER_DETECTED}, // Debugger detected.
{HXR_RESTORE_SERVER_CONNECT, IDS_ERR_RESTORE_SERVER_CONNECT}, // Cannot connect to Restore server .
{HXR_RESTORE_SERVER_TIMEOUT, IDS_ERR_RESTORE_SERVER_TIMEOUT}, // Restore server timeout.
{HXR_REVOKE_SERVER_CONNECT, IDS_ERR_REVOKE_SERVER_CONNECT}, // Cannot connect to Revoke server.
{HXR_REVOKE_SERVER_TIMEOUT, IDS_ERR_REVOKE_SERVER_TIMEOUT}, // Revoke server timeout.
{HXR_UNSUPPORTED_VIDEO, IDS_ERR_UNSUPPORTED_VIDEO}, // 105 "The file contains an unsupported video format"
{HXR_UNSUPPORTED_AUDIO, IDS_ERR_UNSUPPORTED_AUDIO}, // 106 "The file contains an unsupported audio format"
{HXR_TRY_AUTOCONFIG, IDS_ERR_TRY_AUTOCONFIG}, // 107 "AutoConfig needs to be performed"
{HXR_PROXY_DNR, IDS_ERR_PROXY_DNR_ERROR}, // 108 "Unable to locate proxy server. This proxy server does not have a DNS entry. Please check the proxy server name and try again"
{HXR_PROXY_NET_CONNECT, IDS_ERR_PROXY_NET_CONNECT_ERROR}, // 109 "Connection to proxy server could not be established. You may be experiencing network problems."
{HXR_VIEW_SOURCE_NOCLIP, IDS_ERR_VIEW_SOURCE_NOCLIP}, // 80 "No clip is avalible."
{HXR_VIEW_SOURCE_DISSABLED, IDS_ERR_VIEW_SOURCE_DISSABLED}, // 81 "The provider of this content has not granted permission to view the source."
{HXR_VSRC_DISABLED, IDS_ERR_VSRC_DISABLED}, // "Select More Info to learn about viewing clip source."
{HXR_VSRC_NOCLIP, IDS_ERR_VSRC_NOCLIP}, // "Select More Info to learn about viewing clip source."
{HXR_WINDRAW_EXCEPTION, IDS_ERR_WINDRAW_EXCEPTION}, // 98 "A windraw operation crashed."
{HXR_VIEW_RIGHTS_NODRM, IDS_ERR_VIEW_RIGHTS_NODRM},
{HXR_VSRC_NODRM, IDS_ERR_VSRC_NODRM},
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -