Tài liệu Steamworks
steam_api.h
Cung cấp nền tảng cốt lõi để triển khai và truy cập API Steamworks.

Các kiểu liệt kê ở đây được định nghĩa toàn cục và không liên quan đến bất kỳ API cụ thể nào.

Các hàm


Đây là các hàm toàn cục và không cần một interface để thiết lập. Bạn có thể đọc thêm về các hàm này trong Tổng quan về API Steamworks.

SteamAPI_Init

S_API bool S_CALLTYPE SteamAPI_Init();
Khởi tạo API Steamworks.

Xem Initialization and Shutdown để biết thêm chi tiết.

Trả về: bool
true cho biết rằng đã có tất cả interface cần thiết và có thể truy cập được.
false cho biết một trong các điều kiện sau:
  • Phần mềm Steam đang không chạy. Cần có phần mềm Steam đang chạy để triển khai nhiều interface Steamworks khác nhau.
  • Phần mềm Steam không thể xác định AppID của trò chơi. Nếu đang chạy ứng dụng từ file thực thi hoặc công cụ debug thì bạn phải có file steam_appid.txt trong thư mục trò chơi cùng file thực thi, chỉ có AppID trong đó và không còn gì khác. Steam sẽ tìm file này trong thư mục hiện tại đang dùng. Nếu đang chạy file thực thi từ một thư mục khác, bạn có thể cần dời file steam_appid.txt.
  • Ứng dụng của bạn không chạy với cùng ngữ cảnh người dùng hệ điều hành như phần mềm Steam, chẳng hạn như khác người dùng hoặc cấp độ quyền truy cập quản trị.
  • Hãy chắc rằng bạn có giấy phép cho AppID trên tài khoản Steam đang dùng. Trò chơi phải hiển thị trong thư viện Steam của bạn.
  • AppID của bạn chưa được thiết lập hoàn chỉnh, ví dụ như trong Release State: Unavailable, hoặc bị thiếu các gói mặc định.

Ví dụ:
int main() { if ( SteamAPI_RestartAppIfNecessary( k_uAppIdInvalid ) ) // Thay bằng AppID của bạn { return 1; } if ( !SteamAPI_Init() ) { printf( "Fatal Error - Steam must be running to play this game (SteamAPI_Init() failed).\n" ); return 1; } return 0; }

SteamAPI_ReleaseCurrentThreadMemory

S_API void S_CALLTYPE SteamAPI_ReleaseCurrentThreadMemory();
Giải phóng bộ nhớ API Steamworks nội bộ liên quan tới luồng lệnh gọi.

Đa số hàm API Steamworks phân bổ một lượng nhỏ bộ nhớ cục bộ theo luồng để dùng lưu trữ tham số, gọi lệnh này sẽ tự tay giải phóng lượng bộ nhớ đó. Hàm này được gọi tự động bởi SteamAPI_RunCallbacks, vì thế chương trình chỉ truy cập API Steamworks từ một luồng duy nhất sẽ không bao giờ cần phải tự gọi hàm này.

SteamAPI_RestartAppIfNecessary

S_API bool S_CALLTYPE SteamAPI_RestartAppIfNecessary( uint32 unOwnAppID );
TênLoạiMô tả
unOwnAppIDuint32AppID của sản phẩm.

Kiểm tra xem file thực thi của bạn có được khởi động qua Steam không, nếu không, hãy khởi động lại qua Steam.

Xem Initialization and Shutdown để biết thêm chi tiết.

Trả về: bool
Nếu trả về true thì sẽ mở phần mềm Steam nếu bắt buộc rồi khởi động lại trò chơi qua đó, và bạn nên đóng process của mình sớm nhất có thể. Làm thế sẽ chạy steam://run/<AppId> một cách hiệu quả nên có thể không khởi động lại chính file thực thi đã gọi lệnh này, vì nó luôn dùng phiên bản cài đặt trong thư mục thư viện Steam của bạn.

Nếu trả về false, thì trò chơi của bạn đã được khởi động qua phần mềm Steam và không cần làm gì khác. Với một ngoại lệ: nếu có file steam_appid.txt thì sẽ luôn trả về false. Điều này cho phép bạn phát triển và kiểm nghiệm mà không cần khởi động trò chơi qua phần mềm Steam. Hãy chắc rằng bạn đã xóa file steam_appid.txt khi tải trò chơi lên depot Steam của mình!

Ví dụ:
int main() { if ( SteamAPI_RestartAppIfNecessary( k_uAppIdInvalid ) ) // Thay thế bằng AppID của bạn { return 1; } if ( !SteamAPI_Init() ) { printf( "Fatal Error - Steam must be running to play this game (SteamAPI_Init() failed).\n" ); return 1; } return 0; }

SteamAPI_RunCallbacks

S_API void S_CALLTYPE SteamAPI_RunCallbacks();
Gửi callback và kết quả gọi lệnh gọi cho tất cả listener đã đăng ký.

Tốt nhất nên gọi lệnh này ở >10Hz, thời gian giữa các lần gọi càng lớn, độ trễ tiềm năng khi nhận sự kiện hoặc kết quả từ API Steamworks càng cao. Đa số trò chơi gọi lệnh này một lần theo mỗi khung hình được dựng. Tất cả hàm listener đã đăng ký sẽ được kích hoạt trong lệnh gọi này, trong ngữ cảnh luồng của hàm gọi.

Bạn có thể an toàn gọi SteamAPI_RunCallbacks từ nhiều luồng cùng lúc, nhưng nếu làm vậy, mã callback có thể được thực thi trên bất kỳ luồng nào. Có một cách khác là chỉ gọi SteamAPI_RunCallbacks từ luồng chính, và thường xuyên gọi SteamAPI_ReleaseCurrentThreadMemory trên các luồng khác.

SteamAPI_SetMiniDumpComment

S_API void S_CALLTYPE SteamAPI_SetMiniDumpComment( const char *pchMsg );
TênLoạiMô tả
pchMsgconst char *Thông điệp đính kèm dump nhỏ. Bắt buộc phải kết thúc bằng ký tự null.

Đính kèm bình luận bất kỳ để nhúng vào dump nhỏ.

Một số ví dụ mà bạn có thể muốn bao gồm: người chơi đang ở cấp độ nào, có bao nhiêu người chơi trên máy chủ, bộ nhớ còn bao nhiêu chỗ trống, v.v.
Phải gọi lệnh này trước khi gọi SteamAPI_WriteMiniDump.
LƯU Ý: Chỉ hoạt động trên Windows 32 bit!

SteamAPI_Shutdown

S_API void S_CALLTYPE SteamAPI_Shutdown();
Tắt API Steamworks, giải phóng con trỏ và bộ nhớ.

Bạn nên gọi lệnh này trong lúc tắt process nếu có thể.

Điều này sẽ không bỏ hook Lớp phủ Steam khỏi trò chơi vì không có gì đảm bảo API dựng hình của bạn đã dùng xong.

SteamAPI_WriteMiniDump

S_API void S_CALLTYPE SteamAPI_WriteMiniDump( uint32 uStructuredExceptionCode, void* pvExceptionInfo, uint32 uBuildID );
TênLoạiMô tả
uStructuredExceptionCodeuint32Mã structured exception (ngoại lệ có cấu trúc).
pvExceptionInfovoid*EXCEPTION_POINTERS chứa thông tin thực tế về exception (ngoại lệ).
uBuildIDuint32BuildID để theo dõi phiên bản nào của ứng dụng gửi lên dump nhỏ này. Đây không phải là BuildID của Steam và chỉ được dùng để báo cáo sự cố ngắt đột ngột.

Xuất ra và tải lên dump nhỏ để báo cáo sự cố ngắt đột ngột.

Xem Báo cáo lỗi Steam để biết thêm thông tin.

Bạn có thể thêm một bình luận không bắt buộc bằng cách gọi SteamAPI_SetMiniDumpComment trước khi gọi hàm này.
LƯU Ý: Chỉ hỗ trợ Windows 32 bit.

Ví dụ:
#ifdef _WIN32 #include <Windows.h> void MiniDumpFunction( unsigned int nExceptionCode, EXCEPTION_POINTERS *pException ) { // Bạn có thể dựng bản build và đặt một bình luận để nhúng vào dump nhỏ tại đây, // có thể bạn muốn đặt vào màn mà người chơi đang đi, có bao nhiêu người chơi trên máy chủ, // có bao nhiêu bộ nhớ trống, v.v... SteamAPI_SetMiniDumpComment( "Minidump comment: SteamworksExample.exe/n" ); // Số 0 ở đây là ID bản build, chúng tôi không đặt nó SteamAPI_WriteMiniDump( nExceptionCode, pException, 0 ); } int RealMain( HINSTANCE hInstance, LPSTR lpCmdLine, int nCmdShow ) { __debugbreak(); return 0; } int APIENTRY WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { // Tất cả ta làm ở đây là gọi hàm chính thực sự sau khi thiết lập SE translator // điều này cho phép ta bắt các exception và báo cáo lỗi tới Steam. // // Lưu ý, để phương pháp thiết lập này hoạt động // bạn phải đặt đúng các flag compiler của mình để bật xử lý exception. if ( IsDebuggerPresent() ) { // Chúng ta không muốn che giấu các exception (hoặc báo cáo chúng tới Steam!) khi gỡ lỗi. // Nếu bạn muốn đi qua bộ xử lý exception, đính kèm gỡ lỗi // sau khi chạy trò chơi ngoài công cụ gỡ lỗi. return RealMain( lpCmdLine, hInstance, nCmdShow ); } _set_se_translator( MiniDumpFunction ); try // khối try này cho phép SE translator hoạt động { return RealMain( hInstance, lpCmdLine, nCmdShow ); } catch( ... ) { return -1; } } #endif

Struct

Đây là các struct mà hàm trong steam_api có thể trả về và/hoặc tương tác với.

CGameID

Mã định danh toàn nền tảng độc nhất cho trò chơi trên Steam.

CSteamID

Mã định danh toàn nền tảng độc nhất cho tất cả tài khoản Steam, nhóm Steam, phòng chờ và phòng trò chuyện.
Xem EAccountTypeEUniverse.

Enum

Đây là các enum được định nghĩa để dùng với steam_api.

EAccountType

Các loại tài khoản Steam. Được dùng nội bộ trong CSteamID.

TênGiá trịMô tả
k_EAccountTypeInvalid0Dùng cho SteamID không hợp lệ.
k_EAccountTypeIndividual1Tài khoản người dùng thông thường.
k_EAccountTypeMultiseat2Tài khoản chia sẻ nhiều người (ví dụ: phòng máy).
k_EAccountTypeGameServer3Tài khoản máy chủ trò chơi cố định (không phải ẩn danh).
k_EAccountTypeAnonGameServer4Tài khoản máy chủ trò chơi ẩn danh.
k_EAccountTypePending5Đang chờ.
k_EAccountTypeContentServer6Tài khoản máy chủ nội dung nội bộ của Valve.
k_EAccountTypeClan7Nhóm Steam (clan).
k_EAccountTypeChat8Phòng hoặc nhóm trò chuyện Steam.
k_EAccountTypeConsoleUser9SteamID giả dùng cho tài khoản PSN cục bộ trên PS3 hoặc tài khoản Live trên Xbox 360, v.v.
k_EAccountTypeAnonUser10Tài khoản người chơi ẩn danh. (Dùng để tạo tài khoản hoặc đặt lại mật khẩu).
k_EAccountTypeMax11Trường này có tối đa 16 mục.

EAppOwnershipFlags

Flag đại diện cho thông tin quyền sở hữu của một AppID. (Chỉ dùng trong nội bộ Steam)

TênGiá trịMô tả
k_EAppOwnershipFlags_None0x0000Không xác định.
k_EAppOwnershipFlags_OwnsLicense0x0001Có giấy phép cho ứng dụng này.
k_EAppOwnershipFlags_FreeLicense0x0002Người dùng chưa thanh toán cho ứng dụng.
k_EAppOwnershipFlags_RegionRestricted0x0004Sở hữu ứng dụng, nhưng không được phép chơi trong khu vực hiện tại.
k_EAppOwnershipFlags_LowViolence0x0008Chỉ sở hữu phiên bản ít bạo lực.
k_EAppOwnershipFlags_InvalidPlatform0x0010Ứng dụng không được hỗ trợ trên nền tảng hiện tại.
k_EAppOwnershipFlags_SharedLicense0x0020Giấy phép được chia sẻ bởi thiết bị được ủy quyền qua Chia sẻ gia đình Steam.
k_EAppOwnershipFlags_FreeWeekend0x0040Sở hữu bởi giấy phép miễn phí cuối tuần.
k_EAppOwnershipFlags_RetailLicense0x0080Có giấy phép bán lẻ cho trò chơi, ví dụ như mã CD, v.v. (Không còn dùng)
k_EAppOwnershipFlags_LicenseLocked0x0100Giấy phép chia sẻ bị khóa (đang dùng) bởi người dùng khác.
k_EAppOwnershipFlags_LicensePending0x0200Sở hữu ứng dụng, nhưng giao dịch vẫn đang chờ xử lý. Chưa thể cài và chơi được.
k_EAppOwnershipFlags_LicenseExpired0x0400Không còn sở hữu ứng dụng vì giấy phép đã hết hạn.
k_EAppOwnershipFlags_LicensePermanent0x0800Giấy phép vĩnh viễn, không chia sẻ, không phải là khách hoặc miễn phí cuối tuần, v.v.
k_EAppOwnershipFlags_LicenseRecurring0x1000Giấy phép định kỳ, người dùng bị tính phí định kỳ.
k_EAppOwnershipFlags_LicenseCanceled0x2000Đánh dấu là đã hủy, nhưng có thể vẫn hoạt động nếu là giấy phép định kỳ.
k_EAppOwnershipFlags_AutoGrant0x4000Quyền sở hữu dựa trên bất kỳ loại giấy phép tự động cấp nào.
k_EAppOwnershipFlags_PendingGift0x8000Người dùng có quà tặng đang chờ quy đổi.
k_EAppOwnershipFlags_RentalNotActivated0x10000Chưa kích hoạt trò chơi cho thuê.
k_EAppOwnershipFlags_Rental0x20000Là trò chơi cho thuê.
k_EAppOwnershipFlags_SiteLicense0x40000Thuộc giấy phép theo trung tâm

EAppReleaseState

Trạng thái phát hành của một AppID. (Chỉ dùng trong nội bộ Steam)

TênGiá trịMô tả
k_EAppReleaseState_Unknown0Không xác định, không thể lấy thông tin ứng dụng, hoặc bị thiếu thông tin giấy phép.
k_EAppReleaseState_Unavailable1Người dùng không thể thấy trò chơi ngay cả khi đã sở hữu.
k_EAppReleaseState_Prerelease2Có thể mua và nhìn thấy trong danh sách trò chơi, không còn gì khác.
k_EAppReleaseState_PreloadOnly3Chủ sở hữu có thể tải trước ứng dụng, nhưng không thể chơi.
k_EAppReleaseState_Released4Chủ sở hữu có thể tải và chơi ứng dụng.

EAppType

Loại AppID, xem thêm thông tin tại Loại ứng dụng (Chỉ dùng trong nội bộ Steam)

TênGiá trịMô tả
k_EAppType_Invalid0x000Không xác định / không hợp lệ.
k_EAppType_Game0x001Trò chơi có thể chơi được, loại mặc định.
k_EAppType_Application0x002Ứng dụng phần mềm.
k_EAppType_Tool0x004SDK, công cụ chỉnh sửa & máy chủ chuyên dụng.
k_EAppType_Demo0x008Demo trò chơi.
k_EAppType_Media_DEPRECATED0x010Kiểu cũ - được dùng cho trailer trò chơi, giờ chỉ là video trên web.
k_EAppType_DLC0x020Nội dung tải thêm.
k_EAppType_Guide0x040Hướng dẫn chơi, PDF, v.v.
k_EAppType_Driver0x080Công cụ cập nhật driver phần cứng (ATI, Razor, v.v.)
k_EAppType_Config0x100Ứng dụng ẩn dùng để thiết lập tính năng Steam (ba lô, bán hàng, v.v.)
k_EAppType_Hardware0x200Thiết bị phần cứng Steam (Steam Machine, Steam Controller, Steam Link, v.v.)
k_EAppType_Franchise0x400Trung tâm chứa bộ sưu tập của nhiều ứng dụng, ví dụ như phim, sêri, trò chơi.
k_EAppType_Video0x800Thành phần video của một bộ phim hoặc sêri TV (có thể là cả bộ phim, một tập phim, đoạn phim xem trước, video hậu trường, v.v.)
k_EAppType_Plugin0x1000Các loại plug-in cho ứng dụng khác.
k_EAppType_Music0x2000File nhạc.
k_EAppType_Series0x4000Ứng dụng chứa sêri video.
k_EAppType_Shortcut0x40000000Chỉ là lối tắt hoạt động phía client.
k_EAppType_DepotOnly0x80000000Là giá trị giữ chỗ vì depot và ứng dụng dùng chung namespace.

EAuthSessionResponse

Giá trị trả về cho callback ValidateAuthTicketResponse_t được gửi dưới dạng một phản hồi cho ISteamUser::BeginAuthSessionISteamGameServer::BeginAuthSession.

TênGiá trịMô tả
k_EAuthSessionResponseOK0Steam đã xác minh người dùng đang trực tuyến, ticket hợp lệ và chưa được sử dụng lại.
k_EAuthSessionResponseUserNotConnectedToSteam1Người dùng được nhắc đến đang không kết nối tới Steam.
k_EAuthSessionResponseNoLicenseOrExpired2Người dùng không có giấy phép cho AppID này hoặc ticket đã hết hạn.
k_EAuthSessionResponseVACBanned3Người dùng bị cấm VAC trong trò chơi này.
k_EAuthSessionResponseLoggedInElseWhere4Tài khoản người dùng vừa đăng nhập ở nơi khác và phiên chơi đã bị ngắt kết nối.
k_EAuthSessionResponseVACCheckTimedOut5VAC đã không thể kiểm tra chống gian lận với người dùng này.
k_EAuthSessionResponseAuthTicketCanceled6Ticket đã bị hủy bởi nơi cung cấp.
k_EAuthSessionResponseAuthTicketInvalidAlreadyUsed7Ticket này đã được sử dụng và không còn hợp lệ.
k_EAuthSessionResponseAuthTicketInvalid8Ticket này không đến từ phiên người dùng hiện đang kết nối tới Steam.
k_EAuthSessionResponsePublisherIssuedBan9Người dùng bị cấm trong trò chơi này. Lệnh cấm đến từ API web chứ không phải VAC.

EBeginAuthSessionResult

Kết quả trả về từ ISteamUser::BeginAuthSessionISteamGameServer::BeginAuthSession.

TênGiá trịMô tả
k_EBeginAuthSessionResultOK0Ticket hợp lệ cho trò chơi và SteamID này.
k_EBeginAuthSessionResultInvalidTicket1Ticket không hợp lệ.
k_EBeginAuthSessionResultDuplicateRequest2Một ticket đã được gửi cho SteamID này.
k_EBeginAuthSessionResultInvalidVersion3Ticket này đến từ một phiên bản interface không tương thích.
k_EBeginAuthSessionResultGameMismatch4Ticket không dành cho trò chơi này.
k_EBeginAuthSessionResultExpiredTicket5Ticket đã hết hạn.

EBroadcastUploadResult

Kết quả tải lên phiên phát sóng từ BroadcastUploadStop_t.

TênGiá trịMô tả
k_EBroadcastUploadResultNone0Không thể xác định trạng thái của phiên phát sóng.
k_EBroadcastUploadResultOK1Phiên phát sóng hoạt động tốt, không có vấn đề gì.
k_EBroadcastUploadResultInitFailed2Phiên phát sóng bắt đầu không thành công.
k_EBroadcastUploadResultFrameFailed3Khung phát sóng tải lên không thành công.
k_EBroadcastUploadResultTimeout4Hết thời hạn tải lên phiên phát sóng.
k_EBroadcastUploadResultBandwidthExceeded5Phiên phát sóng gửi quá nhiều dữ liệu.
k_EBroadcastUploadResultLowFPS6Tốc độ khung hình của phiên phát sóng quá thấp.
k_EBroadcastUploadResultMissingKeyFrames7Phiên phát sóng gửi không đủ khung hình chính.
k_EBroadcastUploadResultNoConnection8Phần mềm phát sóng kết nối tới relay không thành công.
k_EBroadcastUploadResultRelayFailed9Relay đã bỏ nội dung tải lên.
k_EBroadcastUploadResultSettingsChanged10Client đã thay đổi thiết lập phát sóng.
k_EBroadcastUploadResultMissingAudio11Client gửi dữ liệu âm thanh không thành công.
k_EBroadcastUploadResultTooFarBehind12Client tải lên quá chậm.
k_EBroadcastUploadResultTranscodeBehind13Máy chủ không theo kịp quá trình chuyển mã.

EChatEntryType

Loại mục trò chuyện.

Trả về bởi ISteamFriends::GetFriendMessage, ISteamFriends::GetClanChatMessageISteamMatchmaking::GetLobbyChatEntry.

TênGiá trịMô tả
k_EChatEntryTypeInvalid0Không hợp lệ.
k_EChatEntryTypeChatMsg1Tin nhắn văn bản thông thường từ người dùng khác.
k_EChatEntryTypeTyping2Người dùng khác đang gõ, không sử dụng trong trò chuyện nhiều người.
k_EChatEntryTypeInviteGame3Lời mời từ người dùng khác để tham gia trò họ đang chơi.
k_EChatEntryTypeEmote4Tin nhắn biểu tượng cảm xúc dạng văn bản (Không còn dùng, nên được xem là ChatMsg).
k_EChatEntryTypeLeftConversation6Một người dùng đã rời cuộc trò chuyện (đóng cửa sổ trò chuyện).
k_EChatEntryTypeEntered7Người dùng đã tham gia cuộc trò chuyện, được sử dụng trong trò chuyện nhiều người / nhóm.
k_EChatEntryTypeWasKicked8Người dùng bị đuổi khỏi cuộc trò chuyện (Dữ liệu: SteamID của người dùng thực hiện việc đuổi).
k_EChatEntryTypeWasBanned9Người dùng bị cấm vào cuộc trò chuyện (Dữ liệu: SteamID của người dùng thực hiện việc cấm).
k_EChatEntryTypeDisconnected10Người dùng ngắt kết nối.
k_EChatEntryTypeHistoricalChat11Một tin nhắn từ lịch sử trò chuyện hoặc tin nhắn ngoại tuyến của người dùng.
k_EChatEntryTypeLinkBlocked14Bộ lọc trò chuyện đã xóa một liên kết.

EChatRoomEnterResponse

Phản hồi khi vào phòng trò chuyện.

TênGiá trịMô tả
k_EChatRoomEnterResponseSuccess1Thành công.
k_EChatRoomEnterResponseDoesntExist2Trò chuyện không tồn tại (có thể đã đóng).
k_EChatRoomEnterResponseNotAllowed3Từ chối chung - Bạn không có quyền hạn cần thiết để tham gia cuộc trò chuyện.
k_EChatRoomEnterResponseFull4Phòng trò chuyện đã đầy.
k_EChatRoomEnterResponseError5Có lỗi bất ngờ.
k_EChatRoomEnterResponseBanned6Bạn bị cấm vào phòng trò chuyện này và không thể tham gia.
k_EChatRoomEnterResponseLimited7Không được phép tham gia cuộc trò chuyện này vì bạn là người dùng giới hạn (không có tiền trong tài khoản).
k_EChatRoomEnterResponseClanDisabled8Cố tham gia trò chuyện nhóm Steam khi nhóm bị khóa hoặc vô hiệu.
k_EChatRoomEnterResponseCommunityBan9Cố gắng tham gia trò chuyện khi người dùng đang bị cấm dùng các tính năng cộng đồng.
k_EChatRoomEnterResponseMemberBlockedYou10Tham gia không thành công - một người dùng trong cuộc trò chuyện đã chặn không cho bạn vào.
k_EChatRoomEnterResponseYouBlockedMember11Tham gia không thành công - bạn đã chặn một người dùng đang có mặt trong cuộc trò chuyện.
k_EChatRoomEnterResponseRatelimitExceeded15Tham gia không thành công - cố tham gia quá nhiều lần trong khoảng thời gian rất ngắn.

EChatSteamIDInstanceFlags

Các flag đặc biệt cho tài khoản trò chuyện - chúng nằm trong 8 bit đầu của "instance" SteamID, để lại 12 bit cho instance thực tế

TênGiá trịMô tả
k_EChatAccountInstanceMask0x00000FFF8 bit đầu là flag.
k_EChatInstanceFlagClan( k_unSteamAccountInstanceMask + 1 ) >> 1SteamID cho nhóm Steam.
k_EChatInstanceFlagLobby( k_unSteamAccountInstanceMask + 1 ) >> 2SteamID cho phòng chờ.
k_EChatInstanceFlagMMSLobby( k_unSteamAccountInstanceMask + 1 ) >> 3SteamID cho phòng chờ MMS (xếp trận).

EDenyReason

Giá trị kết quả khi client tham gia không thành công hoặc bị đuổi khỏi máy chủ trò chơi. Lấy từ GSClientDeny_tGSClientKick_t.

TênGiá trịMô tả
k_EDenyInvalid0Không xác định.
k_EDenyInvalidVersion1Client và máy chủ không có cùng phiên bản.
k_EDenyGeneric2Lý do chung.
k_EDenyNotLoggedOn3Client đang không đăng nhập.
k_EDenyNoLicense4Client không có giấy phép để chơi trò chơi này.
k_EDenyCheater5Client bị cấm VAC.
k_EDenyLoggedInElseWhere6Client đăng nhập ở nơi khác.
k_EDenyUnknownText7
k_EDenyIncompatibleAnticheat8
k_EDenyMemoryCorruption9
k_EDenyIncompatibleSoftware10
k_EDenySteamConnectionLost11Máy chủ bị mất kết nối với Steam.
k_EDenySteamConnectionError12Máy chủ gặp lỗi chung khi kết nối với Steam.
k_EDenySteamResponseTimedOut13Máy chủ quá hạn kết nối với Steam.
k_EDenySteamValidationStalled14Client chưa xác thực với Steam.
k_EDenySteamOwnerLeftGuestUser15Chủ sở hữu trò chơi chia sẻ đã rời khỏi, được gọi cho từng khách được chủ sở hữu mời.

EGameIDType

Dùng để mô tả loại của CGameID.

TênGiá trịMô tả
k_EGameIDTypeApp0GameID là ứng dụng Steam thường.
k_EGameIDTypeGameMod1GameID là mod.
k_EGameIDTypeShortcut2GameID là lối tắt.
k_EGameIDTypeP2P3GameID là file P2P.

ELaunchOptionType

Mã cho các tùy chọn khởi động được định nghĩa rõ ràng, tương ứng với "Loại khởi động" trong Tùy chọn khởi động của ứng dụng, có thể tìm thấy trong trang thiết lập cài đặt tổng quan.

Có một hàm đặc biệt BIsVRLaunchOptionType để kiểm xem loại đó có thuộc bất kỳ tùy chọn khởi động VR nào không.

TênGiá trịMô tả
k_ELaunchOptionType_None0Không xác định.
k_ELaunchOptionType_Default1Chạy ứng dụng trong chế độ mặc định.
k_ELaunchOptionType_SafeMode2Chạy trò chơi trong chế độ an toàn.
k_ELaunchOptionType_Multiplayer3Chạy trò chơi trong chế độ nhiều người.
k_ELaunchOptionType_Config4Chạy công cụ thiết lập cho trò chơi này.
k_ELaunchOptionType_OpenVR5Chạy trò chơi trong chế độ VR sử dụng OpenVR.
k_ELaunchOptionType_Server6Chạy máy chủ chuyên dụng cho trò chơi này.
k_ELaunchOptionType_Editor7Chạy trình chỉnh sửa trò chơi.
k_ELaunchOptionType_Manual8Hiển thị hướng dẫn trò chơi.
k_ELaunchOptionType_Benchmark9Chạy benchmark trò chơi.
k_ELaunchOptionType_Option110Tùy chọn chạy chung, sử dụng trường mô tả cho tên trò chơi.
k_ELaunchOptionType_Option211Tùy chọn chạy chung, sử dụng trường mô tả cho tên trò chơi.
k_ELaunchOptionType_Option312Tùy chọn chạy chung, sử dụng trường mô tả cho tên trò chơi.
k_ELaunchOptionType_OculusVR13Chạy trò chơi trong chế độ VR sử dụng SDK Oculus.
k_ELaunchOptionType_OpenVROverlay14Chạy lớp phủ bảng tổng quan OpenVR.
k_ELaunchOptionType_OSVR15Chạy trò chơi trong chế độ VR, sử dụng SDK OSVR.
k_ELaunchOptionType_Dialog1000Hiển thị hộp thoại tùy chọn khởi động.

EMarketingMessageFlags

Các flag thông điệp marketing Steam nội bộ có tác dụng thay đổi cách xử lý của client.

TênGiá trịMô tả
k_EMarketingMessageFlagsNone0
k_EMarketingMessageFlagsHighPriority1 << 0
k_EMarketingMessageFlagsPlatformWindows1 << 1
k_EMarketingMessageFlagsPlatformMac1 << 2
k_EMarketingMessageFlagsPlatformLinux1 << 3
k_EMarketingMessageFlagsPlatformRestrictions=flag tổng hợp

ENotificationPosition

Các vị trí mà lớp phủ có thể hiển thị thông báo. Dùng với ISteamUtils::SetOverlayNotificationPosition.

TênGiá trịMô tả
k_EPositionTopLeft0Góc trái bên trên.
k_EPositionTopRight1Góc phải bên trên.
k_EPositionBottomLeft2Góc trái bên dưới.
k_EPositionBottomRight3Góc phải bên dưới.

EResult

Mã kết quả lỗi Steam.

Các mã này thường được trả về bởi hàm, callback, và kết quả lệnh gọi từ cả API Steamworks và API Web. Một API có thể trả về mã EResult bất kỳ, hãy xem tài liệu cho hàm API hoặc callback để xem có thể trả về kết quả nào và mang ý nghĩa gì trong ngữ cảnh của lệnh gọi API đó.
Tương tự như loại HRESULT của Win32 hoặc errno của POSIX.

TênGiá trịMô tả
k_EResultOK1Thành công.
k_EResultFail2Lỗi chung.
k_EResultNoConnection3Phần mềm Steam không có kết nối tới back-end.
k_EResultInvalidPassword5Mật khẩu/ticket không hợp lệ.
k_EResultLoggedInElsewhere6Người dùng đăng nhập nơi khác.
k_EResultInvalidProtocolVer7Sai phiên bản giao thức.
k_EResultInvalidParam8Một tham số sai.
k_EResultFileNotFound9Không tìm thấy file.
k_EResultBusy10Phương thức được gọi đang bận--không thực hiện hành động.
k_EResultInvalidState11Object được gọi ở trạng thái không hợp lệ.
k_EResultInvalidName12Tên không hợp lệ.
k_EResultInvalidEmail13Email không hợp lệ.
k_EResultDuplicateName14Không phải tên độc nhất.
k_EResultAccessDenied15Từ chối truy cập.
k_EResultTimeout16Hết thời gian thực hiện thao tác.
k_EResultBanned17Người dùng bị cấm VAC2.
k_EResultAccountNotFound18Không tìm thấy tài khoản.
k_EResultInvalidSteamID19SteamID không hợp lệ.
k_EResultServiceUnavailable20Hiện không có dịch vụ được yêu cầu.
k_EResultNotLoggedOn21Người dùng không đăng nhập.
k_EResultPending22Yêu cầu đang chờ, có thể đang thực hiện hoặc chờ bên thứ ba.
k_EResultEncryptionFailure23Mã hóa / Giải mã không thành công.
k_EResultInsufficientPrivilege24Không đủ đặc quyền.
k_EResultLimitExceeded25Vượt quá giới hạn.
k_EResultRevoked26Quyền truy cập bị tước (dùng cho vé khách bị thu hồi).
k_EResultExpired27Giấy phép/Vé khách người dùng đang cố sử dụng đã hết hạn.
k_EResultAlreadyRedeemed28Vé khách đã được sử dụng bởi tài khoản, không thể dùng lại.
k_EResultDuplicateRequest29Yêu cầu bị trùng lặp và hành động đã xảy ra trong quá khứ, bỏ qua lần yêu cầu này.
k_EResultAlreadyOwned30Người dùng đã sở hữu tất cả trò chơi trong yêu cầu sử dụng vé khách này.
k_EResultIPNotFound31Không tìm thấy địa chỉ IP.
k_EResultPersistFailed32Không thể ghi thay đổi vào kho dữ liệu.
k_EResultLockingFailed33Không thể lấy khóa truy cập cho thao tác này.
k_EResultLogonSessionReplaced34Phiên đăng nhập đã được thay thế.
k_EResultConnectFailed35Kết nối không thành công.
k_EResultHandshakeFailed36Quá trình handshake xác thực không thành công.
k_EResultIOFailure37Đã xảy ra lỗi I/O chung.
k_EResultRemoteDisconnect38Máy chủ từ xa đã mất kết nối.
k_EResultShoppingCartNotFound39Không thể tìm giỏ hàng được yêu cầu.
k_EResultBlocked40Một người dùng đã chặn hành động.
k_EResultIgnored41Mục tiêu đang phớt lờ người gửi.
k_EResultNoMatch42Không tìm thấy kết quả trùng khớp với yêu cầu.
k_EResultAccountDisabled43Tài khoản bị vô hiệu hóa.
k_EResultServiceReadOnly44Dịch vụ này hiện tại không chấp nhận thay đổi nội dung.
k_EResultAccountNotFeatured45Tài khoản không có tiền nên không dùng được tính năng này.
k_EResultAdministratorOK46Được phép thực hiện hành động, nhưng chỉ vì người yêu cầu là quản trị viên.
k_EResultContentVersion47Phiên bản không trùng khớp về nội dung truyền trong giao thức Steam.
k_EResultTryAnotherCM48CM hiện tại không thể phục vụ người dùng thực hiện yêu cầu, người dùng nên thử cái khác.
k_EResultPasswordRequiredToKickSession49Bạn đang đăng nhập ở nơi khác, lần đăng nhập với thông tin lưu trong bộ nhớ cache này không thành công.
k_EResultAlreadyLoggedInElsewhere50Người dùng đăng nhập nơi khác. (Thay vào đó, dùng k_EResultLoggedInElsewhere!).
k_EResultSuspended51Thao tác cần chạy trong thời gian dài đã tạm ngưng/dừng. (Ví dụ: tải xuống nội dung).
k_EResultCancelled52Thao tác đã bị hủy, thường bởi người dùng. (Ví dụ: tải xuống nội dung).
k_EResultDataCorruption53Thao tác bị hủy vì dữ liệu định dạng sai hoặc không thể phục hồi.
k_EResultDiskFull54Thao tác bị hủy vì không đủ dung lượng ổ đĩa.
k_EResultRemoteCallFailed55Lệnh gọi từ xa hoặc IPC không thành công.
k_EResultPasswordUnset56Mật khẩu không xác thực được vì không đặt ở phía máy chủ.
k_EResultExternalAccountUnlinked57Tài khoản ngoài (PSN, Facebook, v.v.) không liên kết với tài khoản Steam.
k_EResultPSNTicketInvalid58Ticket PSN không hợp lệ.
k_EResultExternalAccountAlreadyLinked59Tài khoản ngoài (PSN, Facebook, v.v.) đã liên kết với tài khoản khác, phải yêu cầu thay thế/xóa liên kết đó trước.
k_EResultRemoteFileConflict60Không thể tiếp tục đồng bộ hóa do xung đột giữa file trên máy và file từ xa.
k_EResultIllegalPassword61Không cho phép dùng mật khẩu mới được yêu cầu.
k_EResultSameAsPreviousValue62Giá trị mới giống giá trị cũ. Dùng cho câu hỏi và câu trả lời bí mật.
k_EResultAccountLogonDenied63Tài khoản bị từ chối đăng nhập vì không xác thực được lớp thứ hai.
k_EResultCannotUseOldPassword64Mật khẩu mới được yêu cầu không hợp pháp.
k_EResultInvalidLoginAuthCode65Từ chối đăng nhập tài khoản vì mã xác thực không hợp lệ.
k_EResultAccountLogonDeniedNoMail66Từ chối đăng nhập tài khoản do xác thực lớp thứ hai thất bại - không có email nào được gửi ra.
k_EResultHardwareNotCapableOfIPT67Phần cứng của người dùng không hỗ trợ công nghệ bảo vệ danh tính (Identity Protection Technology - IPT) của Intel.
k_EResultIPTInitError68Công nghệ bảo vệ danh tính (IPT) của Intel khởi tạo không thành công.
k_EResultParentalControlRestricted69Thao tác thất bại do giới hạn của tính năng quản lý trẻ em đối với người dùng hiện tại.
k_EResultFacebookQueryError70Truy vấn Facebook trả về lỗi.
k_EResultExpiredLoginAuthCode71Từ chối đăng nhập tài khoản do mã xác thực hết hạn.
k_EResultIPLoginRestrictionFailed72Đăng nhập thất bại do có giới hạn IP.
k_EResultAccountLockedDown73Tài khoản người dùng này hiện tại bị khóa không được sử dụng. Có khả năng là do bị cướp tài khoản và đang đợi xác minh quyền sở hữu.
k_EResultAccountLogonDeniedVerifiedEmailRequired74Đăng nhập thất bại vì email tài khoản không được xác minh.
k_EResultNoMatchingURL75Không có URL nào trùng khớp với giá trị được cung cấp.
k_EResultBadResponse76Phản hồi không hợp lệ do phân tích không thành công, thiếu trường thông tin, v.v.
k_EResultRequirePasswordReEntry77Người dùng không thể hoàn thành hành động cho đến khi nhập lại mật khẩu.
k_EResultValueOutOfRange78Giá trị nhập nằm ngoài phạm vi chấp nhận được.
k_EResultUnexpectedError79Có việc xảy ra ngoài dự đoán.
k_EResultDisabled80Dịch vụ yêu cầu được thiết lập để không dùng được.
k_EResultInvalidCEGSubmission81File gửi tới máy chủ CEG không hợp lệ.
k_EResultRestrictedDevice82Thiết bị đang sử dụng không được phép thực hiện hành động này.
k_EResultRegionLocked83Không thực hiện được hành động vì bị giới hạn theo vùng.
k_EResultRateLimitExceeded84Vượt quá giới hạn tốc độ tạm thời, hãy thử lại sau, khác với k_EResultLimitExceeded là cố định.
k_EResultAccountLoginDeniedNeedTwoFactor85Cần mã xác thực hai lớp để đăng nhập.
k_EResultItemDeleted86Nội dung đang cố truy cập đã bị xóa.
k_EResultAccountLoginDeniedThrottle87Đăng nhập không thành công, đang thử điều chỉnh phản hồi do nghi ngờ có kẻ tấn công.
k_EResultTwoFactorCodeMismatch88Mã xác thực hai lớp (Steam Guard) không đúng.
k_EResultTwoFactorActivationCodeMismatch89Mã kích hoạt cho xác thực hai lớp (Steam Guard) không trùng khớp.
k_EResultAccountAssociatedToMultiplePartners90Tài khoản hiện tại được liên kết với nhiều đối tác.
k_EResultNotModified91Dữ liệu chưa được sửa đổi.
k_EResultNoMobileDevice92Tài khoản không liên kết với thiết bị di động nào.
k_EResultTimeNotSynced93Thời gian đưa ra nằm ngoài phạm vi cho phép.
k_EResultSmsCodeFailed94Xác thực bằng mã SMS thất bại - không khớp, không còn mã nào đang chờ, v.v.
k_EResultAccountLimitExceeded95Quá nhiều tài khoản truy cập vào tài nguyên này.
k_EResultAccountActivityLimitExceeded96Có quá nhiều thay đổi với tài khoản này.
k_EResultPhoneActivityLimitExceeded97Có quá nhiều thay đổi với điện thoại này.
k_EResultRefundToWallet98Không thể hoàn tiền vào phương thức thanh toán, phải dùng ví.
k_EResultEmailSendFailure99Không thể gửi email.
k_EResultNotSettled100Không thể thực hiện thao tác cho đến khi hoàn tất thanh toán.
k_EResultNeedCaptcha101Người dùng phải cung cấp một mã captcha hợp lệ.
k_EResultGSLTDenied102Token đăng nhập của máy chủ trò chơi do chủ sở hữu token này nắm giữ đã bị cấm.
k_EResultGSOwnerDenied103Chủ sở hữu máy chủ trò chơi bị từ chối bởi các lý do khác như tài khoản bị khóa, bị cấm cộng đồng, bị cấm VAC, mất điện thoại, v.v.
k_EResultInvalidItemType104Đối tượng không hợp lệ cho hành động được yêu cầu.
k_EResultIPBanned105Địa chỉ IP đã bị cấm thực hiện hành động này.
k_EResultGSLTExpired106Token đăng nhập máy chủ trò chơi này (GSLT) đã hết hạn do không được dùng, có thể đặt lại để dùng.
k_EResultInsufficientFunds107Người dùng không đủ tiền trong ví để hoàn thành hành động.
k_EResultTooManyPending108Quá nhiều yêu cầu tương tự đang chờ xử lý.

ESteamUserStatType

Các trường dùng nội bộ để lưu trữ thông số người dùng.

TênGiá trịMô tả
k_ESteamUserStatTypeINVALID0Không hợp lệ.
k_ESteamUserStatTypeINT1Thông số là số nguyên 32-bit.
k_ESteamUserStatTypeFLOAT2Thông số là số thực 32-bit.
k_ESteamUserStatTypeAVGRATE3Đọc ở dạng FLOAT, tính bằng số lượng / độ dài phiên chơi.
k_ESteamUserStatTypeACHIEVEMENTS4Thành tựu người dùng thông thường.
k_ESteamUserStatTypeGROUPACHIEVEMENTS5Không còn dùng.
k_ESteamUserStatTypeMAX6Tổng các loại thông số người dùng, sử dụng cho sanity check.

ETextFilteringContext

Tham số cho ISteamUtils::FilterText.

TênGiá trịMô tả
k_ETextFilteringContextUnknown0Không rõ ngữ cảnh.
k_ETextFilteringContextGameContent1Nội dung trò chơi, chỉ thực hiện lọc theo yêu cầu pháp lý.
k_ETextFilteringContextChat2Trò chuyện từ người chơi khác.
k_ETextFilteringContextName3Tên nhân vật hoặc vật phẩm.

EUniverse

Không gian lưu trữ Steam. Mỗi không gian lưu trữ là một phiên bản Steam khép kín.

TênGiá trịMô tả
k_EUniverseInvalid0Không hợp lệ.
k_EUniversePublic1Không gian lưu trữ công khai tiêu chuẩn.
k_EUniverseBeta2Không gian lưu trữ Beta dùng trong Valve.
k_EUniverseInternal3Không gian lưu trữ nội bộ dùng trong Valve.
k_EUniverseDev4Không gian lưu trữ của nhà phát triển dùng trong Valve.
k_EUniverseMax5Tổng số lượng không gian lưu trữ, dùng cho sanity check.

EUserHasLicenseForAppResult

Kết quả của ISteamUser::UserHasLicenseForApp.

TênGiá trịMô tả
k_EUserHasLicenseResultHasLicense0Người dùng có giấy phép cho ứng dụng được chỉ định.
k_EUserHasLicenseResultDoesNotHaveLicense1Người dùng không có giấy phép cho ứng dụng được chỉ định.
k_EUserHasLicenseResultNoAuth2Người dùng chưa được xác thực.

EVoiceResult

Các kết quả sử dụng với hàm Đàm thoại Steam.

TênGiá trịMô tả
k_EVoiceResultOK0Cuộc gọi hoàn tất thành công.
k_EVoiceResultNotInitialized1Chưa khởi động interface Đàm thoại Steam.
k_EVoiceResultNotRecording2Đàm thoại Steam hiện không đang ghi âm.
k_EVoiceResultNoData3Không có dữ liệu thoại nào.
k_EVoiceResultBufferTooSmall4Bộ nhớ đệm quá nhỏ nên không nhận được dữ liệu.
k_EVoiceResultDataCorrupted5Dữ liệu thoại đã bị hỏng.
k_EVoiceResultRestricted6Người dùng bị hạn chế trò chuyện.
k_EVoiceResultUnsupportedCodec7Không còn dùng.
k_EVoiceResultReceiverOutOfDate8Không còn dùng.
k_EVoiceResultReceiverDidNotAnswer9Không còn dùng.

EVRHMDType

Mã phân loại nhà cung cấp và model HMD VR. Dùng các hàm đặc biệt BIsOculusHMD và BIsViveHMD để kiểm tra một thương hiệu cụ thể.

TênGiá trịMô tả
k_eEVRHMDType_None-1Không rõ nhà cung cấp và model.
k_eEVRHMDType_Unknown0Không rõ nhà cung cấp và model.
k_eEVRHMDType_HTC_Dev1Bộ kit phát triển HTC gốc.
k_eEVRHMDType_HTC_VivePre2Bộ kit phát triển HTC Vive Pre.
k_eEVRHMDType_HTC_Vive3Bản phát hành cho người tiêu dùng HTC Vive.
k_eEVRHMDType_HTC_Unknown20Mũ chụp (HMD) HTC không xác định.
k_eEVRHMDType_Oculus_DK121Bộ kit phát triển 1 cho Oculus Rift.
k_eEVRHMDType_Oculus_DK222Bộ kit phát triển 2 cho Oculus Rift.
k_eEVRHMDType_Oculus_Rift23Phiên bản 1 dành cho người tiêu dùng Oculus Rift.
k_eEVRHMDType_Oculus_Unknown40Mũ chụp (HMD) Oculus không xác định.

Typedef

Đây là các typedef được định nghĩa để dùng với steam_api.

TênLoại gốcMô tả
AccountID_tuint32Dùng nội bộ trong CSteamID để đại diện cho một tài khoản người dùng cụ thể mà không quan tâm đến không gian lưu trữ tài khoản.
AppId_tuint32Mã định danh độc nhất cho một ứng dụng. Để biết thêm thông tin, vui lòng xem tài liệu Ứng dụng.
AssetClassId_tuint64Chỉ dùng nội bộ trong Steam.
BREAKPAD_HANDLEvoid *Dùng bởi interface handler cho sự cố ngắt đột ngột nội bộ Steam để chỉ các handler xử lý vấn đề ngắt đột ngột được cài riêng.
BundleId_tuint32Mã định danh độc nhất cho bộ sản phẩm. (Chỉ dùng nội bộ trong Steam).
CellID_tuint32Chỉ dùng nội bộ trong Steam.
DepotId_tuint32Mã định danh độc nhất cho depot.
GID_tuint64Chỉ dùng nội bộ trong Steam.
HAuthTicketuint32Handle cho auth ticket của người dùng. Loại được trả về bởi ISteamUser::GetAuthSessionTicket.
int16shortPhiên bản Steam của số nguyên 16-bit, tương đương int16_t.
int32intPhiên bản Steam của số nguyên 32-bit, tương đương int32_t.
int64long longPhiên bản Steam của số nguyên 64-bit, tương đương int64_t.
int8signed charPhiên bản Steam của số nguyên 8-bit, tương đương int8_t.
intpint/long longPhiên bản Steam của loại dữ liệu signed (có dấu) có thể chứa biến con trỏ, tương đương với intptr_t. (Chỉ dùng nội bộ trong Steam).
JobID_tuint64Chỉ dùng nội bộ trong Steam.
lint64long intChỉ dùng nội bộ trong Steam.
ManifestId_tuint64Chỉ dùng nội bộ trong Steam.
PackageId_tuint32Chỉ dùng nội bộ trong Steam.
PartnerId_tuint32Chỉ dùng nội bộ trong Steam.
PhysicalItemId_tuint32Chỉ dùng nội bộ trong Steam.
RTime32uint32Phiên bản Steam của định dạng giờ Unix. Dùng giá trị nhỏ nhất là 1 giây, tính từ mốc thời gian Unix, 1970-01-01 00:00:00 +0000 (giờ UTC)
SteamAPICall_tuint64Handle độc nhất của lệnh gọi API Steam.
Nếu hàm trả về một trong các kết quả này, bạn phải theo dõi trạng thái qua hệ thống kết quả lệnh gọi.
TxnID_tGID_tChỉ dùng nội bộ trong Steam.
uint16unsigned shortPhiên bản Steam của số nguyên không dấu 16-bit, tương đương uint16_t.
uint32unsigned intPhiên bản Steam của số nguyên không dấu 32-bit, tương đương uint32_t.
uint64unsigned long longPhiên bản Steam của số nguyên không dấu 64-bit, tương đương uint64_t.
uint8unsigned charPhiên bản Steam của số nguyên không dấu 8-bit, tương đương uint8_t.
uintpunsigned int/unsigned long longPhiên bản Steam của loại dữ liệu unsigned (không dấu) có thể chứa biến con trỏ, tương đương với uintptr_t. (Chỉ dùng nội bộ trong Steam).
ulint64unsigned long intChỉ dùng nội bộ trong Steam.

Hằng số

Đây là các hằng số được định nghĩa để dùng với steam_api.

TênLoạiGiá trịMô tả
BREAKPAD_INVALID_HANDLEint(BREAKPAD_HANDLE)0
k_cchGameExtraInfoMaxint64Kích thước tối đa (tính bằng byte UTF-8, bao gồm kết thúc bằng ký tự null) của tham số pchExtraInfo của ISteamUser::TrackAppUsageEvent.
k_cubSaltSizeint8Chỉ dùng nội bộ trong Steam.
k_GIDNilGID_t0xffffffffffffffffullChỉ dùng nội bộ trong Steam.
k_HAuthTicketInvalidHAuthTicket0Auth ticket người dùng không hợp lệ.
k_JobIDNilJobID_t0xffffffffffffffffullChỉ dùng nội bộ trong Steam.
k_steamIDLanModeGSintCSteamID(SteamID này đến từ kết nối trò chơi của người dùng vào máy chủ trò chơi sv_lan.
k_steamIDNilintCSteamID()CSteamID chung không hợp lệ.
k_steamIDNonSteamGSintCSteamID(SteamID này có thể đến từ kết nối trò chơi của người dùng vào máy chủ trò chơi hiện không sử dụng hệ thống xác thực Steam, nhưng vẫn
muốn hỗ trợ tùy chọn "Tham gia trò chơi" trong danh sách bạn bè.
k_steamIDNotInitYetGSintCSteamID(SteamID này có thể đến từ kết nối trò chơi của người dùng vào máy chủ trò chơi vừa được khởi động nhưng chưa khởi tạo
thành phần steam3 và bắt đầu đăng nhập.
k_steamIDOutofDateGSintCSteamID(SteamID này đến từ kết nối trò chơi của người dùng vào máy chủ trò chơi đã hết thời gian mà chưa triển khai giao thức để cung cấp SteamID.
k_TxnIDNilGID_tk_GIDNilChỉ dùng nội bộ trong Steam.
k_TxnIDUnknownGID_t0Chỉ dùng nội bộ trong Steam.
k_uAPICallInvalidSteamAPICall_t0x0Handle lệnh gọi API Steam không hợp lệ.
k_uAppIdInvalidAppId_t0x0AppID không hợp lệ.
k_uBundleIdInvalidBundleId_t0Chỉ dùng nội bộ trong Steam.
k_uCellIDInvalidCellID_t0xFFFFFFFFChỉ dùng nội bộ trong Steam.
k_uDepotIdInvalidDepotId_t0x0DepotID không hợp lệ.
k_ulAssetClassIdInvalidAssetClassId_t0x0Chỉ dùng nội bộ trong Steam.
k_uManifestIdInvalidManifestId_t0Chỉ dùng nội bộ trong Steam.
k_unSteamAccountIDMaskunsigned int0xFFFFFFFFDùng trong CSteamID để che giấu AccountID_t.
k_unSteamAccountInstanceMaskunsigned int0x000FFFFFDùng trong CSteamID để che giấu phiên bản tài khoản.
k_unSteamUserConsoleInstanceunsigned int2Dùng bởi CSteamID để nhận diện người dùng đăng nhập từ console.
k_unSteamUserDesktopInstanceunsigned int1Dùng bởi CSteamID để nhận diện người dùng đăng nhập từ phần mềm desktop.
k_unSteamUserWebInstanceunsigned int4Dùng bởi CSteamID để nhận diện người dùng đăng nhập từ web.
k_uPackageIdFreeSubPackageId_t0x0Chỉ dùng nội bộ trong Steam.
k_uPackageIdInvalidPackageId_t0xFFFFFFFFChỉ dùng nội bộ trong Steam.
k_uPartnerIdInvalidPartnerId_t0Chỉ dùng nội bộ trong Steam.
k_uPhysicalItemIdInvalidPhysicalItemId_t0x0Chỉ dùng nội bộ trong Steam.
QUERY_PORT_ERRORint0xFFFEChúng tôi không thể lấy cổng truy vấn cho máy chủ này.
QUERY_PORT_NOT_INITIALIZEDint0xFFFF-----------------------------------------------------------------------------
Hằng số dùng để truy vấn cổng.
-----------------------------------------------------------------------------
Chúng tôi vẫn chưa yêu cầu giá trị thực của cổng truy vấn này từ máy chủ trò chơi.