เอกสาร Steamworks
อินเตอร์เฟซ ISteamUtils
อินเตอร์เฟซที่ให้การเข้าถึงฟังก์ชันเบ็ดเตล็ดต่าง ๆ ของยูทิลิตี้

ฟังก์ชันสมาชิก

ฟังก์ชันสมาชิกสำหรับ ISteamUtils จะถูกเรียกผ่านทางฟังก์ชันตัวเข้าถึงส่วนกลาง SteamUtils()

BOverlayNeedsPresent

bool BOverlayNeedsPresent();
ใช้ตรวจสอบดูว่าจำเป็นต้องแสดงโอเวอร์เลย์หรือไม่ จำเป็นต้องใช้ก็ต่อเมื่อใช้การอัปเดตเรนเดอร์ที่ทำงานด้วยอีเวนต์

โดยทั่วไปแล้วไม่จำเป็นต้องเรียกฟังก์ชันนี้ หากเกมของคุณรันลูปเฟรมที่เรียก D3D Present API หรือ OGL SwapBuffers API กับทุกเฟรมอย่างต่อเนื่องเช่นเดียวกันกับเกมส่วนใหญ่ อย่างไรก็ตาม หากคุณมีเกมที่รีเฟรชหน้าจอเฉพาะเมื่อเกิดอีเวนต์เท่านั้น ก็อาจจะทำให้โอเวอร์เลย์ขาดตอนไปได้ เพราะเกมจะใช้การเรียก Present/SwapBuffers เพื่อใช้งานลูปเฟรมภายในของเกม และอาจจะต้องใช้ Present() กับหน้าจอ เมื่อใดก็ตามที่มีการแจ้งเตือนเกิดขึ้น หรือใช้เมื่อผู้ใช้เรียกโอเวอร์เลย์ขึ้นมาวางทับบนตัวเกม You can use this API to ask the overlay if it currently need a present in that case, and then you can check for this periodically (roughly 33hz is desirable) and make sure you refresh the screen with Present or SwapBuffers to allow the overlay to do its work.

คืนค่า: bool
true หากโอเวอร์เลย์จำเป็นต้องให้คุณรีเฟรชหน้าจอ มิฉะนั้นจะคืนค่า false

CheckFileSignature

SteamAPICall_t CheckFileSignature( const char *szFileName );
ชื่อประเภทคำอธิบาย
szFileNameconst char *.

เลิกใช้แล้ว

คืนค่า: SteamAPICall_t เพื่อใช้กับผลลัพธ์การเรียก CheckFileSignature_t

GetAPICallFailureReason

ESteamAPICallFailure GetAPICallFailureReason( SteamAPICall_t hSteamAPICall );
ชื่อประเภทคำอธิบาย
hSteamAPICallSteamAPICall_tแฮนเดิลของการเรียก Steam API เพื่อตรวจสอบความล้มเหลว

ใช้เพื่อรับสาเหตุความล้มเหลวของผลลัพธ์การเรียก

ฟังก์ชันนี้ใช้สำหรับการดีบักเป็นหลัก โดยทั่วไป สาเหตุความล้มเหลวจะอยู่นอกเหนืออำนาจควบคุมของคุณ และมักไม่ค่อยมีความสำคัญมากนัก ให้คุณลองเรียก API ซ้ำไปเรื่อย ๆ จนกว่าจะใช้งานได้

คืนค่า: ESteamAPICallFailure
[type]ESteamAPICallFailure[/type]

ดูข้อมูลเพิ่มเติมที่: IsAPICallCompleted, GetAPICallResult

ตัวอย่าง:
void CHTMLSurface::OnBrowserReady( HTML_BrowserReady_t *pBrowserReady, bool bIOFailure ) { if ( bIOFailure ) { SteamUtils()->GetAPICallFailureReason( handle ); // ต้องเก็บแฮนเดิลแยกกันต่างหาก return; } }

GetAPICallResult

bool GetAPICallResult( SteamAPICall_t hSteamAPICall, void *pCallback, int cubCallback, int iCallbackExpected, bool *pbFailed );
ชื่อประเภทคำอธิบาย
hSteamAPICallSteamAPICall_tแฮนเดิลของการเรียก API
pCallbackvoid *คืนค่าคอลแบ็กกลับไปยังหน่วยความจำที่ได้จัดสรรไว้ล่วงหน้า
cubCallbackintขนาดของ pCallback ที่คุณจะส่งเข้าไป
iCallbackExpectedintจำนวน k_iCallback ที่เกี่ยวข้องกับคอลแบ็ก
pbFailedbool *จะคืนค่ากลับมาหากการเรียก API นั้นล้มเหลว

รับเนื้อหาของการเรียก API ที่เสร็จสมบูรณ์แล้ว มีไว้ให้สำหรับส่วนแบ็กเอนด์ของแรปเปอร์ CallResult

โดยทั่วไปแล้วไม่แนะนำให้ใช้งานคำสั่งนี้ด้วยตนเอง

คืนค่า: bool
true เมื่อดำเนินการสำเร็จ หากการเรียก API ถูกต้องและเสร็จสมบูรณ์ มิฉะนั้นจะคืนค่า false

หากการเรียกสำเร็จ จะคัดลอกคอลแบ็กไปที่ pCallback และคืนค่าความล้มเหลวไปที่ pbFailed

ดูข้อมูลเพิ่มเติมที่: IsAPICallCompleted, GetAPICallFailureReason

GetAppID

uint32 GetAppID();
รับ App ID ของโปรเซสปัจจุบัน

คืนค่า: uint32
คืนค่าไอดีแอป

GetConnectedUniverse

EUniverse GetConnectedUniverse();
รับค่ายูนิเวิร์สที่ไคลเอนต์ปัจจุบันเชื่อมต่ออยู่ (สำหรับใช้งานใน Valve เท่านั้น)

คืนค่า: EUniverse
[type]EUniverse[/type]

GetCSERIPPort

bool GetCSERIPPort( uint32 *unIP, uint16 *usPort );
ชื่อประเภทคำอธิบาย
unIPuint32 *คืนค่า IP ที่ไคลเอนต์เชื่อมต่ออยู่
usPortuint16 *คืนค่าพอร์ตที่ไคลเอนต์เชื่อมต่ออยู่

Gets the IP of the reporting server for Valve - currently only used in Source engine games

คืนค่า: bool
คืนค่า true หากผู้ใช้เชื่อมต่ออยู่ในขณะนี้ มิฉะนั้นคืนค่า false

GetCurrentBatteryPower

uint8 GetCurrentBatteryPower();
เรียกรับปริมาณพลังงานคงเหลือของแบตเตอรี่เครื่องคอมพิวเตอร์

คืนค่า: uint8
ขณะนี้ปริมาณพลังงานคงเหลือของแบตเตอรี่มีค่าอยู่ระหว่าง [0..100]% โดยจะส่งคืนค่าเป็น 255 หากว่าผู้ใช้ต่อกับไฟบ้านอยู่

GetEnteredGamepadTextInput

bool GetEnteredGamepadTextInput( char *pchText, uint32 cchText );
ชื่อประเภทคำอธิบาย
pchTextchar *บัฟเฟอร์ที่ได้จัดสรรไว้ล่วงหน้าเพื่อให้คัดลอกสตริงอินพุตข้อความลงไป
cchTextuint32ขนาดของบัฟเฟอร์ pchText

รับอินพุตข้อความของเกมแพดที่มาจากโอเวอร์เลย์ Big Picture

ซึ่งจะต้องถูกเรียกภายในคอลแบ็ก GamepadTextInputDismissed_t และเมื่อ GamepadTextInputDismissed_t.m_bSubmitted มีค่าเป็น true เท่านั้น

Provides the text input as UTF-8.

คืนค่า: bool
true หากมีข้อความให้รับ และ cchText มีขนาดเท่ากับ GamepadTextInputDismissed_t.m_unSubmittedText; มิฉะนั้นจะคืนค่า false

ดูข้อมูลเพิ่มเติมที่: ShowGamepadTextInput, GetEnteredGamepadTextLength

ตัวอย่าง:
void OnGamepadTextInputDismissed_t( GamepadTextInputDismissed_t* pCallback ) { // ผู้ใช้ยกเลิก if ( !pCallback.m_bSubmitted ) return; // ใช้ความยาวของอินพุตสูงสุดที่เราส่งเข้าไปที่ ShowGamepadTextInput, +1 สำหรับ Null Terminator const uint32 MAX_INPUT_LENGTH = 64 + 1; uint32 length = SteamUtils()->GetEnteredGamepadTextLength(); char* szTextInput[MAX_INPUT_LENGTH]; bool success = SteamUtils()->GetEnteredGamepadTextInput( szTextInput, length ); if ( !success ) { // บันทึกข้อผิดพลาด ซึ่งควรจะเกิดขึ้นหากความยาวอยู่ที่ > MaxInputLength เท่านั้น return; } // แสดงสตริงที่อัปเดต }

GetEnteredGamepadTextLength

uint32 GetEnteredGamepadTextLength();
รับความยาวของอินพุตข้อความของเกมแพดที่มาจากโอเวอร์เลย์ Big Picture

ซึ่งจะต้องถูกเรียกภายในคอลแบ็ก GamepadTextInputDismissed_t และเมื่อ GamepadTextInputDismissed_t.m_bSubmitted มีค่าเป็น true เท่านั้น

คืนค่า: uint32


ดูข้อมูลเพิ่มเติมที่: ShowGamepadTextInput, GetEnteredGamepadTextInput

ตัวอย่าง:
void OnGamepadTextInputDismissed_t( GamepadTextInputDismissed_t* pCallback ) { // ผู้ใช้ยกเลิก if ( !pCallback.m_bSubmitted ) return; // ใช้ความยาวของอินพุตสูงสุดที่เราส่งเข้าไปที่ ShowGamepadTextInput, +1 สำหรับ Null Terminator const uint32 MAX_INPUT_LENGTH = 64 + 1; uint32 length = SteamUtils()->GetEnteredGamepadTextLength(); const char* szTextInput[MAX_INPUT_LENGTH]; bool success = SteamUtils()->GetEnteredGamepadTextInput( szTextInput, length ); if ( !success ) { // บันทึกข้อผิดพลาด ซึ่งควรจะเกิดขึ้นหากความยาวอยู่ที่ > MaxInputLength เท่านั้น return; } // แสดงสตริงที่อัปเดต }

GetImageRGBA

bool GetImageRGBA( int iImage, uint8 *pubDest, int nDestBufferSize );
ชื่อประเภทคำอธิบาย
iImageintแฮนเดิลในการเข้าถึงรูปภาพที่จะเก็บมาใช้งาน
pubDestuint8 *บัฟเฟอร์ที่จะรับข้อมูล
nDestBufferSizeintขนาดรวมของบัฟเฟอร์ pubDest

รับขนาดไบต์ของรูปภาพจากแฮนเดิลรูปภาพ

ก่อนที่จะเรียกฟังก์ชันนี้ คุณต้องขอรับขนาดของรูปภาพโดยเรียก GetImageSize เพื่อให้คุณสร้างบัฟเฟอร์ที่มีขนาดเหมาะสมได้ จากนั้นคุณจะสามารถจัดสรรความกว้างและความสูงให้กับบัฟเฟอร์ได้เป็น: ความกว้าง * ความสูง * 4 รูปภาพจะอยู่ในรูปแบบ RGBA การเรียกนี้จะใช้งานทรัพยากรค่อนข้างมาก เพราะว่าจะต้องแปลงรูปภาพจากข้อมูลที่ถูกบีบอัด (JPG, PNG และ TGA) และจะไม่มีการเตรียมแคชภายในของบัฟเฟอร์ที่ส่งคืนมาให้ ฉะนั้น ขอแนะนำเป็นอย่างยิ่ง ว่าให้เรียกคำสั่งนี้เพียง 1 ครั้งต่อแฮนเดิลรูปภาพ 1 แฮนเดิล แล้วจากนั้นก็ให้แคชผลลัพธ์ที่ได้ออกมา ฟังก์ชันนี้จะใช้กับภาพแทนตัวบน Steam และภาพรางวัลความสำเร็จเพียงเท่านั้น และคาดว่าภาพเหล่านั้นจะไม่เปลี่ยนแปลงในระหว่างการเล่นเกม

คืนค่า: bool
true เมื่อดำเนินการสำเร็จ ถ้าแฮนเดิลรูปภาพถูกต้องและป้อนค่าบัฟเฟอร์ให้แล้ว มิฉะนั้นจะคืนค่า false

ดูข้อมูลเพิ่มเติมที่: ISteamFriends::GetSmallFriendAvatar, ISteamFriends::GetMediumFriendAvatar, ISteamFriends::GetLargeFriendAvatar, ISteamUserStats::GetAchievementIcon

ตัวอย่าง:
HGAMETEXTURE GetSteamImageAsTexture( int iImage ) { HGAMETEXTURE hTexture = 0; // You should first check if you have already cached this image using something like a dictionary/map // with iImage as the key and then return the texture handle associated with it if it exists. // If it doesn't exist, continue on, and add the texture to the map before returning at the end of the function. // If we have to check the size of the image. uint32 uAvatarWidth, uAvatarHeight; bool success = SteamUtils()->GetImageSize( iImage, &uAvatarWidth, &uAvatarHeight ); if ( !success ) { // Log a warning message. return hTexture; } // Get the actual raw RGBA data from Steam and turn it into a texture in our game engine const int uImageSizeInBytes = uAvatarWidth * uAvatarHeight * 4; uint8 *pAvatarRGBA = new uint8[uImageSizeInBytes]; success = SteamUtils()->GetImageRGBA( iImage, pAvatarRGBA, uImageSizeInBytes ); if( !success ) { // Do something to convert the RGBA texture into your internal texture format for displaying. // hTexture = m_pGameEngine->HCreateTexture( pAvatarRGBA, uAvatarWidth, uAvatarHeight ); // And add the texture to the cache } // Don't forget to free the memory! delete[] pAvatarRGBA; return hTexture; }

GetImageSize

bool GetImageSize( int iImage, uint32 *pnWidth, uint32 *pnHeight );
ชื่อประเภทคำอธิบาย
iImageintแฮนเดิลรูปภาพที่ต้องการรับขนาดของรูป
pnWidthuint32 *จะคืนค่าความกว้างของรูปภาพ
pnHeightuint32 *จะคืนค่าความสูงของรูปภาพ

รับขนาดของแฮนเดิลรูปภาพของ Steam

จะต้องเรียกฟังก์ชันนี้ก่อนที่จะเรียก GetImageRGBA ขึ้นมา เพื่อสร้างบัฟเฟอร์ที่มีขนาดเหมาะสม ซึ่งใช้บรรจุข้อมูลรูปภาพแบบ Raw เข้าไป

คืนค่า: bool
true เมื่อดำเนินการสำเร็จ ถ้าแฮนเดิลรูปภาพถูกต้องและป้อนค่าขนาดให้แล้ว มิฉะนั้นจะคืนค่า false

ดูข้อมูลเพิ่มเติมที่: ISteamFriends::GetSmallFriendAvatar, ISteamFriends::GetMediumFriendAvatar, ISteamFriends::GetLargeFriendAvatar, ISteamUserStats::GetAchievementIcon

GetIPCCallCount

uint32 GetIPCCallCount();
จะคืนค่าของจำนวนการเรียก IPC ที่เกิดขึ้น โดยจะเริ่มนับตั้งแต่การเรียกฟังก์ชันนี้ครั้งล่าสุด

ใช้สำหรับการดีบักเชิงประสิทธิภาพ เพื่อให้คุณสามารถกำหนดจำนวนการเรียก IPC (การสื่อสารระหว่างกระบวนการ) ที่เกมของคุณสามารถดำเนินการต่อเฟรมได้
เนื่องจากทุกครั้งที่มีการเรียก IPC อย่างน้อยจะเป็นการเปลี่ยนบริบทของเธรด หากไม่ใช่การเปลี่ยนบริบทของกระบวนการ ดังนั้นคุณจึงควรควบคุมอัตราความถี่ในการดำเนินการ

คืนค่า: uint32

GetIPCountry

const char * GetIPCountry();
จะคืนค่ารหัสประเทศที่ไคลเอนต์กำลังใช้งานอยู่ ในรูปแบบ ISO 3166-1-alpha-2 ที่มี 2 หลัก
เช่น "US" หรือ "UK"

โดยจะเป็นการเรียกดูผ่านทางฐานข้อมูลที่บันทึก IP เชื่อมโยงกับสถานที่

คืนค่า: const char *

GetSecondsSinceAppActive

uint32 GetSecondsSinceAppActive();
จะคืนค่าจำนวนของวินาทีหลังจากที่แอปพลิเคชันทำงาน

คืนค่า: uint32

GetSecondsSinceComputerActive

uint32 GetSecondsSinceComputerActive();
จะคืนค่าจำนวนวินาทีหลังจากที่ผู้ใช้ได้เคลื่อนเมาส์ครั้งล่าสุด

คืนค่า: uint32

GetServerRealTime

uint32 GetServerRealTime();
จะคืนค่าเวลาของเซิร์ฟเวอร์ของ Steam โดยจะอยู่ในรูปแบบช่วงเวลาของ Unix (จำนวนวินาที นับจากวันที่ 1 มกราคม 1970 UTC)

คืนค่า: uint32

GetSteamUILanguage

const char * GetSteamUILanguage();
จะคืนค่าภาษาที่ไคลเอนต์ Steam กำลังใช้งานอยู่

คุณอาจต้องการใช้ ISteamApps::GetCurrentGameLanguage แทน เพราะฟังก์ชันนี้ควรใช้ในกรณีพิเศษมาก ๆ เท่านั้น

หากต้องการทราบรายการภาษาทั้งหมด โปรดดูที่ภาษาที่รองรับ

คืนค่า: const char *


ดูข้อมูลเพิ่มเติมที่: ISteamApps::GetCurrentGameLanguage, ISteamApps::GetAvailableGameLanguages

IsAPICallCompleted

bool IsAPICallCompleted( SteamAPICall_t hSteamAPICall, bool *pbFailed );
ชื่อประเภทคำอธิบาย
hSteamAPICallSteamAPICall_tแฮนเดิลของการเรียก API ที่จะตรวจสอบ
pbFailedbool *จะคืนค่าผลการเรียก API ว่า ประสบกับความล้มเหลว (true) หรือไม่ (false)

ใช้ตรวจสอบดูว่าการเรียก API เสร็จสมบูรณ์หรือไม่ มีไว้ให้สำหรับส่วนแบ็กเอนด์ของแรปเปอร์ CallResult

โดยทั่วไปแล้วไม่แนะนำให้ใช้งานคำสั่งนี้ด้วยตนเอง

คืนค่า: bool
true หากการเรียก API ถูกต้องและเสร็จสมบูรณ์ มิฉะนั้นจะคืนค่า false

ดูข้อมูลเพิ่มเติมที่: GetAPICallResult, GetAPICallFailureReason

IsOverlayEnabled

bool IsOverlayEnabled();
ใช้ตรวจสอบว่าโอเวอร์เลย์ Steam กำลังทำงานอยู่ และผู้ใช้สามารถเข้าถึงโอเวอร์เลย์ได้หรือไม่

กระบวนการโอเวอร์เลย์อาจจะต้องใช้เวลาสักครู่หนึ่งจึงจะเริ่มและเชื่อมต่อกับกระบวนการของเกม เพราะฉะนั้นฟังก์ชันนี้จะคืนค่า false ในตอนแรก ขณะที่กำลังโหลดโอเวอร์เลย์

คืนค่า: bool

IsSteamChinaLauncher

bool IsSteamChinaLauncher();
จะคืนค่าว่าโปรแกรมเริ่มที่ใช้อยู่ในปัจจุบันเป็นโปรแกรมเริ่ม Steam China หรือไม่ คุณสามารถทำให้ไคลเอนต์ทำงานเป็นโปรแกรมเริ่ม Steam China ได้โดยเพิ่ม -dev -steamchina ลงในบรรทัดคำสั่งเมื่อใช้งาน Steam

InitFilterText

bool InitFilterText();
จะเริ่มต้นการกรองข้อความ การโหลดพจนานุกรมสำหรับภาษาที่เกมใช้อยู่

ผู้ใช้สามารถปรับแต่งการทำงานของตัวกรองข้อความได้ในการปรับแต่งบัญชี Steam ของตน

คืนค่า: bool
true หากการเริ่มต้นใช้งานประสบความสำเร็จ จะคืนค่า false หากไม่มีการกรองให้ใช้กับภาษาของเกม ในกรณีดังกล่าว FilterText() จะทำหน้าที่เป็นพาสทรู

ดูข้อมูลเพิ่มเติมที่: FilterText

FilterText

int FilterText( ETextFilteringContext eContext, CSteamID sourceSteamID, const char *pchInputMessage, char *pchOutFilteredText, uint32 nByteSizeOutFilteredText );
ชื่อประเภทคำอธิบาย
eContextETextFilteringContextประเภทเนื้อหาในสตริงอินพุต
sourceSteamIDCSteamIDSteam ID ซึ่งเป็นแหล่งที่มาของสตริงอินพุต (เช่น ผู้เล่นที่มีชื่อดังกล่าว หรือผู้ที่พูดในข้อความแช็ตดังกล่าว)
pchInputTextconst char*สตริงอินพุตที่ควรกรอง ซึ่งอาจเป็น ASCII หรือ UTF-8
pchOutFilteredTextchar*ตำแหน่งที่จะวางเอาต์พุต แม้ว่าจะไม่มีการกรองก็ตาม
nByteSizeOutFilteredText uint32ขนาด (ในหน่วยไบต์) ของ pchOutFilteredText อย่างน้อยที่สุดควรเท่ากับ strlen(pchInputText)+1
ตัวกรองที่ให้ข้อความอินพุตและบรรจุผลลัพธ์ที่กรองแล้วลงใน pchOutFilteredText โดยจะปรับใช้การกรองที่กฎหมายกำหนดไว้เสมอ แต่อาจดำเนินการกรองเพิ่มเติมได้ โดยขึ้นอยู่กับเนื้อหาและการตั้งค่าของผู้ใช้

คืนค่า: int
จะคืนค่าจำนวนตัวอักขระ (ไม่ใช่ไบต์) ที่กรองแล้ว

ดูข้อมูลเพิ่มเติมที่: InitFilterText

IsSteamInBigPictureMode

bool IsSteamInBigPictureMode();
ใช้ตรวจสอบดูว่า Steam และโอเวอร์เลย์ Steam กำลังทำงานอยู่ในโหมด Big Picture หรือไม่

Games must be launched through the Steam client to enable the Big Picture overlay.
During development, a game can be added as a non-steam game to the developer's library to test this feature.

คืนค่า: bool
true ถ้าโอเวอร์เลย์ Big Picture พร้อมใช้งาน มิฉะนั้นจะคืนค่า false
ทั้งนี้จะคืนค่า false เสมอถ้าแอปของคุณไม่ใช่ประเภทแอปพลิเคชันที่เป็น "เกม"

IsSteamRunningInVR

bool IsSteamRunningInVR();
ใช้ตรวจสอบดูว่า Steam กำลังทำงานอยู่ในโหมด VR หรือไม่

คืนค่า: bool
true ถ้าตัว Steam เองใช้งานในโหมด VR มิฉะนั้นจะคืนค่า false

IsVRHeadsetStreamingEnabled

bool IsVRHeadsetStreamingEnabled();
Checks if the HMD view is being streamed via Steam Remote Play.

คืนค่า: bool
true หากเปิดใช้งาน VR ไว้ และขณะนี้กำลังสตรีมมุมมอง HMD อยู่ มิฉะนั้นจะคืนค่า false

ดูข้อมูลเพิ่มเติมที่: SetVRHeadsetStreamingEnabled

IsSteamRunningOnSteamDeck

bool IsSteamRunningOnSteamDeck();
ใช้ตรวจสอบว่าอุปกรณ์ Steam Deck กำลังใช้งาน Steam อยู่หรือไม่

คืนค่า: bool
true หากอุปกรณ์ Steam Deck กำลังใช้งาน Steam อยู่ มิฉะนั้นจะคืนค่า false

SetOverlayNotificationInset

void SetOverlayNotificationInset( int nHorizontalInset, int nVerticalInset );
ชื่อประเภทคำอธิบาย
nHorizontalInsetintระยะทางแนวนอน (ซ้าย-ขวา) จากมุมจอ ในหน่วยพิกเซล
nVerticalInsetintระยะทางแนวตั้ง (บน-ล่าง) จากมุมจอ ในหน่วยพิกเซล

ใช้ตั้งค่าตำแหน่งการแจ้งเตือนของโอเวอร์เลย์ที่นับมาจากมุมจอ โดยกำหนดด้วย SetOverlayNotificationPosition

ค่า (0, 0) จะรีเซ็ตตำแหน่งกลับไปอยู่ที่มุมจอ

ตำแหน่งดังกล่าวนี้เป็นตำแหน่งที่ใช้เฉพาะในแต่ละเกม และจะรีเซ็ตในทุกครั้งที่เรียกเปิดเกม

SetOverlayNotificationPosition

void SetOverlayNotificationPosition( ENotificationPosition eNotificationPosition );
ชื่อประเภทคำอธิบาย
eNotificationPositionENotificationPosition

ใช้ตั้งค่าว่าจะให้แสดงป็อปอัปการแจ้งเตือนของโอเวอร์เลย์ Steam ที่มุมไหน

นอกกจากนี้คุณยังสามารถตั้งค่าระยะทางจากมุมที่ระบุไว้ได้ด้วย โดยใช้ SetOverlayNotificationInset

ตำแหน่งดังกล่าวนี้เป็นตำแหน่งที่ใช้เฉพาะในแต่ละเกม และจะรีเซ็ตในทุกครั้งที่เรียกเปิดเกม

SetVRHeadsetStreamingEnabled

void SetVRHeadsetStreamingEnabled( bool bEnabled );
ชื่อประเภทคำอธิบาย
bEnabledboolกำหนดมุมมอง HMD ใน VR ให้เป็น "เปิด" (true) หรือ "ปิด" (false)

ใช้ตั้งค่าว่าจะสตรีมเนื้อหา HMD ผ่านทางการสตรีมโดยอาศัย Steam Remote Play หรือไม่

หากเปิดใช้งาน ก็จะสตรีมฉากที่อยู่ในเครื่องสวมศีรษะ HMD และจะไม่อนุญาตให้รับอินพุตระยะไกล มิฉะนั้น หากปิดการใช้งานไว้ ก็จะสตรีมหน้าต่างแอปพลิเคชันแทน และจะอนุญาตให้รับอินพุตระยะไกลได้ ค่าเริ่มต้นสำหรับเกม VR คือ "เปิดใช้งาน" ยกเว้นว่า "VRHeadsetStreaming" "0" อยู่ในข้อมูลแอปแบบขยายของเกม

โดยคำสั่งนี้จะเป็นประโยชน์ต่อเกมที่ใช้ระบบการเล่นแบบผู้เล่นหลายคนแบบอสมมาตร

ดูข้อมูลเพิ่มเติมที่: IsVRHeadsetStreamingEnabled

SetWarningMessageHook

void SetWarningMessageHook( SteamAPIWarningMessageHook_t pFunction );
ชื่อประเภทคำอธิบาย
pFunctionSteamAPIWarningMessageHook_tพอยน์เตอร์ฟังก์ชันที่ชี้ไปยังฟังก์ชันคอลแบ็ก

จะตั้งค่าฮุคข้อความเตือนให้รับข้อความคำเตือนและข้อมูลของ SteamAPI ในฟังก์ชันคอลแบ็ก

ต้นแบบฟังก์ชันจะต้องตรงกับคำนิยามใน SteamAPIWarningMessageHook_t ซึ่งรวมถึงลิงเกจ Extern "C" และระเบียบในการเรียก __cdecl

'int nSeverity' คือระดับความรุนแรง โดยให้ใช้ 0 สำหรับข้อความ และใช้ 1 สำหรับคำเตือน หากคุณเรียกใช้ผ่านเครื่องมือการดีบักอย่างเดียว จะมีการส่งเฉพาะคำเตือนเท่านั้น ถ้าคุณเพิ่ม -debug_steamapi ไปยังบรรทัดคำสั่ง จะมีการส่งข้อความแจ้งข้อมูลด้วยเช่นกัน
'const char * pchDebugText' คือเนื้อหาของข้อความ
การคอลแบ็กจะเกิดขึ้นโดยตรงหลังจากเรียกฟังก์ชันของ API ที่สร้างคำเตือนหรือข้อความ

เมื่อส่ง NULL ให้ จะเป็นการเลิกฮุค

ตัวอย่าง:
extern "C" void __cdecl SteamAPIDebugTextHook( int nSeverity, const char *pchDebugText ) { ::OutputDebugString( pchDebugText ); if ( nSeverity >= 1 ) { // ตำแหน่งที่จะวางจุดพักเพื่อตรวจจับข้อผิดพลาดของ API int x = 3; x = x; } } void EnableWarningMessageHook() { SteamUtils()->SetWarningMessageHook( &SteamAPIDebugTextHook ); }

ShowGamepadTextInput

bool ShowGamepadTextInput( EGamepadTextInputMode eInputMode, EGamepadTextInputLineMode eLineInputMode, const char *pchDescription, uint32 unCharMax, const char *pchExistingText );
ชื่อประเภทคำอธิบาย
eInputModeEGamepadTextInputModeใช้เลือกโหมดอินพุตที่จะใช้ ว่าจะให้เป็นการอินพุตแบบธรรมดา หรือแบบรหัสผ่าน (ซึ่งจะซ่อนข้อความ)
eLineInputModeEGamepadTextInputLineModeใช้ควบคุมว่าจะใช้อินพุตแบบบรรทัดเดียวหรือหลายบรรทัด
pchDescriptionconst char *ใช้ตั้งค่าคำอธิบายที่จะแจ้งให้ผู้ใช้ทราบถึงจุดประสงค์ของหน้าต่างป้อนข้อมูล
unCharMaxuint32จำนวนอักขระสูงสุดที่ผู้ใช้สามารถป้อนเข้าไปได้
pchExistingTextconst char *ใช้ตั้งค่าข้อความที่ปรากฏอยู่แล้ว ซึ่งผู้ใช้สามารถแก้ไขได้

เปิดใช้งานไดอะล็อกสำหรับป้อนข้อความของ Big Picture ที่จะรองรับเฉพาะอินพุตจากเกมแพดเท่านั้น

คืนค่า: bool
true ถ้ากำลังใช้งานโอเวอร์เลย์ Big Picture อยู่ มิฉะนั้นจะคืนค่า false

ดูข้อมูลเพิ่มเติมที่: GetEnteredGamepadTextLength, GetEnteredGamepadTextInput

ShowFloatingGamepadTextInput

bool ShowFloatingGamepadTextInput( EFloatingGamepadTextInputMode eKeyboardMode, int nTextFieldXPosition, int nTextFieldYPosition, int nTextFieldWidth, int nTextFieldHeight );
ชื่อประเภทคำอธิบาย
eKeyboardModeEFloatingGamepadTextInputModeเลือกประเภทคีย์บอร์ดที่จะใช้
nTextFieldXPositionintX coordinate of text field which shouldn't be obscured by the floating keyboard
nTextFieldYPositionintY coordinate of text field which shouldn't be obscured by the floating keyboard
nTextFieldWidthintwidth of text field which shouldn't be obscured by the floating keyboard
nTextFieldHeight intheight of text field which shouldn't be obscured by the floating keyboard

จะแสดงคีย์บอร์ดแบบลอยทับบนเนื้อหาเกมและส่งแป้นพิมพ์คีย์บอร์ดของระบบปฏิบัติการไปยังเกมโดยตรง
ตำแหน่งช่องข้อความจะระบุเป็นพิกเซลที่สัมพันธ์กับตำแหน่งตั้งต้นของหน้าต่างเกม และใช้เพื่อวางตำแหน่งคีย์บอร์ดแบบลอยในลักษณะที่ไม่ปิดทับช่องข้อความ

คืนค่า: bool
true ถ้าคีย์บอร์ดแบบลอยแสดงให้เห็น มิฉะนั้นจะคืนค่า false

ดูข้อมูลเพิ่มเติมที่: FloatingGamepadTextInputDismissed_t

StartVRDashboard

void StartVRDashboard();
ใช้เพื่อขอให้ Steam สร้างและเรนเดอร์แดชบอร์ดของ OpenVR

SetGameLauncherMode

void SetGameLauncherMode( bool bLauncherMode);
ชื่อประเภทคำอธิบาย
bLauncherModeboolแจ้งว่าโปรแกรมเริ่มทำงานอยู่หรือไม่
ในโปรแกรมเริ่มเกมที่ไม่รองรับคอนโทรลเลอร์ คุณสามารถเรียกใช้คำสั่งนี้เพื่อให้ Steam Input แปลอินพุตของคอนโทรลเลอร์ไปเป็นอินพุตของเมาส์/คีย์บอร์ดเพื่อนำทางโปรแกรมเริ่ม

คอลแบ็ก

These are callbacks which can be fired by calling SteamAPI_RunCallbacks. Many of these will be fired directly in response to the member functions of ISteamUtils.

CheckFileSignature_t

CallResult for CheckFileSignature.

ชื่อประเภทคำอธิบาย
m_eCheckFileSignatureECheckFileSignatureContains the result of the file signature check.
k_ECheckFileSignatureNoSignaturesFoundForThisApp - This app has not been configured on the signing tab of the partner site to enable this function.
k_ECheckFileSignatureNoSignaturesFoundForThisFile - This file is not listed on the signing tab for the partner site.
k_ECheckFileSignatureFileNotFound - The file does not exist on disk.
k_ECheckFileSignatureInvalidSignature - The file exists, and the signing tab has been set for this file, but the file is either not signed or the signature does not match.
k_ECheckFileSignatureValidSignature - The file is signed and the signature is valid.

ฟังก์ชันที่เกี่ยวข้อง: CheckFileSignature

GamepadTextInputDismissed_t

Called when the big picture gamepad text input has been closed.

ชื่อประเภทคำอธิบาย
m_bSubmittedboolคืนค่า true ถ้าผู้ใช้กรอกและยอมรับข้อความแล้ว (เรียก GetEnteredGamepadTextInput เพื่อรับข้อความ), คืนค่า false ถ้าอินพุตได้รับการยกเลิก
m_unSubmittedTextuint32หากส่งข้อความไปแล้วจะมีความยาวในหน่วยไบต์

FloatingGamepadTextInputDismissed_t

Called when the floating keyboard invoked from ShowFloatingGamepadTextInput has been closed.

IPCountry_t

Called when the country of the user changed. The country should be updated with GetIPCountry.

This callback has no fields.

LowBatteryPower_t

Called when running on a laptop and less than 10 minutes of battery is left, and then fires then every minute afterwards.

ชื่อประเภทคำอธิบาย
m_nMinutesBatteryLeftuint8ปริมาณแบตเตอรี่ที่เหลืออยู่โดยประมาณในหน่วยนาที

SteamAPICallCompleted_t

Called when a SteamAPICall_t has completed (or failed)

ชื่อประเภทคำอธิบาย
m_hAsyncCallSteamAPICall_tแฮนเดิลของการเรียก Steam API ที่เสร็จสมบูรณ์
m_iCallbackintนี่คือค่าคงที่ k_iCallback ที่จะระบุคอลแบ็กที่เสร็จสมบูรณ์แล้วโดยไม่ซ้ำกัน
m_cubParamuint32ขนาดของการคอลแบ็กที่เสร็จสมบูรณ์แล้วในหน่วยไบต์

AppResumingFromSuspend_t

Sent after the device returns from sleep/suspend mode.

This callback has no fields.

SteamShutdown_t

Called when Steam wants to shutdown.

ฟังก์ชันคอลแบ็กนี้จะไม่มีฟีลด์

อีนิวเมอเรต (Enum)

These are enums which are defined for use with ISteamUtils.

ECheckFileSignature

The result of a call to CheckFileSignature

ชื่อค่าคำอธิบาย
k_ECheckFileSignatureInvalidSignature0
k_ECheckFileSignatureValidSignature1
k_ECheckFileSignatureFileNotFound2
k_ECheckFileSignatureNoSignaturesFoundForThisApp3
k_ECheckFileSignatureNoSignaturesFoundForThisFile4

EGamepadTextInputLineMode

Controls number of allowed lines for the Big Picture gamepad text entry

ชื่อค่าคำอธิบาย
k_EGamepadTextInputLineModeSingleLine0
k_EGamepadTextInputLineModeMultipleLines1

EGamepadTextInputMode

Input modes for the Big Picture gamepad text entry

ชื่อค่าคำอธิบาย
k_EGamepadTextInputModeNormal0
k_EGamepadTextInputModePassword1

EFloatingGamepadTextInputMode

Controls the mode for the floating keyboard

ชื่อค่าคำอธิบาย
k_EFloatingGamepadTextInputModeModeSingleLine0Enter จะปิดคีย์บอร์ด
k_EFloatingGamepadTextInputModeModeMultipleLines1ผู้ใช้จะต้องปิดคีย์บอร์ดให้ชัดเจน
k_EFloatingGamepadTextInputModeModeEmail2คีย์บอร์ดจะแสดงในโหมดพิเศษที่ช่วยให้เขียนอีเมลได้ง่ายขึ้น
k_EFloatingGamepadTextInputModeModeNumeric3แสดงให้เห็นคีย์แพดตัวเลข

ESteamAPICallFailure

Steam API call failure results returned by GetAPICallFailureReason.

ชื่อค่าคำอธิบาย
k_ESteamAPICallFailureNone-1ไม่ล้มเหลว
k_ESteamAPICallFailureSteamGone0กระบวนการภายใน Steam หยุดตอบสนองแล้ว โดยอาจเกิดจากการบังคับให้ปิดหรือหยุดดำเนินการเอง
k_ESteamAPICallFailureNetworkFailure1การเชื่อมต่อเครือข่ายไปยังเซิร์ฟเวอร์ Steam ขาดหายหรือเสียหายไปแล้ว
ในขณะเดียวกันจะมีการส่งคอลแบ็ก SteamServersDisconnected_t และจะส่งคอลแบ็ก SteamServersConnected_t เมื่อไคลเอนต์สามารถติดต่อกับเซิร์ฟเวอร์ Steam ได้อีกครั้ง
k_ESteamAPICallFailureInvalidHandle2ไม่มีแฮนเดิล SteamAPICall_t ที่ส่งเข้าไปอีกต่อไปแล้ว
k_ESteamAPICallFailureMismatchedCallback3มีการเรียก GetAPICallResult ด้วยคอลแบ็กที่ผิดประเภทในการเรียก API ดังกล่าวนี้

ค่าคงที่

These are constants which are defined for use with ISteamUtils.

ชื่อประเภทค่าคำอธิบาย
STEAMUTILS_INTERFACE_VERSIONconst char *"SteamUtils009"