Microsoft Game Development Kit (GDK) API へのアクセス
Unity から Microsoft GDK API パッケージをインポートした後、その機能は XGamingRuntime 名前空間の下で利用できます。すべての Gaming Runtime API は、SDK クラスの静的メソッドを通じて利用できます。すべての XBOX services API は、SDK.XBL クラスの静的メソッドを通じて利用できます。次の例はその可用性を示しています。API カバレッジと規約
すべての API がパッケージ経由で利用可能なわけではありません。これらの API の完全なリストについては、このトピックの後半にある Microsoft Game Development Kit (GDK) および XBOX services API リストを参照してください。
- API 名は、可能な限り GDK の対応名と一致します。
- 例外はありません。エラーは HRESULT を通じて伝えられます。
- オブジェクト指向のカプセル化を持たないフラットな API サーフェス。
- パラメーターを設定する API では out パラメーターが使用されます。
- 非同期メソッドはコールバックを使用します。詳細については次のセクションを参照してください。
非同期プログラミング モデル
ほとんどの非同期 API は、最後のパラメーターとしてコールバックを受け取ります。以下は例です。- 非同期メソッドは即座に実行され、作業はスレッド プール内の利用可能なスレッドで実行されます。
- スレッド プールは、SDK.XGameRuntimeInitialize() への呼び出しが行われた後、内部的に初期化されます。
- スレッド プールの構成オプションは公開されていません。
- 結果コールバックは、dispatch が呼び出された後(つまり SDK.XTaskQueueDispatch())に呼び出されます。その結果、dispatch を 頻繁に呼び出す ことが重要で、理想的にはゲームの更新ループ中に呼び出すべきです。
- 結果コールバックは、dispatch を呼び出したスレッドで実行されます。
ネイティブ API とマネージド ラッパーの違いの例
ネイティブ API とマネージド ラッパーには最小限の違いしかありません。参考として、次の 2 つの例は、マネージド コードとネイティブ コードでの XUserAddAsync と XblAchievementsUpdateAchievementAsync のシグネチャと呼び出し関数を示しています。XUserAddAsync の例
XUserAddAsync のネイティブ シグネチャは次のとおりです。XblAchievementsUpdateAchievementAsync の例
XblAchievementsUpdateAchievementAsync のネイティブ シグネチャは次のとおりです。マネージド コードでの XBOX Services API (XSAPI) の初期化
参考までに、以下はマネージド コードでの XSAPI の初期化です。これはマネージド コードでの XSAPI のシグネチャです。マネージド ラッパーの Microsoft Game Development Kit (GDK) API のリスト
GDK Unity パッケージ内のマネージド ラッパーには、以下の Microsoft Game Development Kit (GDK) API が含まれます。Microsoft Game Development Kit (GDK) API の詳細については、System API reference を参照してください。- XAccessibility
- XClosedCaptionGetProperties
- XClosedCaptionSetEnabled
- XHighContrastGetMode
- XSpeechToTextSendString
- XSpeechToTextSetPositionHint
- XSpeechToTextBeginHypothesisString
- XSpeechToTextUpdateHypothesisString
- XSpeechToTextFinalizeHypothesisString
- XSpeechToTextCancelHypothesisString
- XAppCapture
- XAppBroadcastGetStatus
- XAppBroadcastIsAppBroadcasting
- XAppBroadcastShowUI
- XAppBroadcastRegisterIsAppBroadcastingChanged
- XAppCaptureCloseLocalStream
- XAppCaptureCloseScreenshotStream
- XAppCaptureEnableRecord
- XAppCaptureDisableRecord
- XAppBroadcastUnregisterIsAppBroadcastingChanged
- XAppCaptureMetadataAddStringEvent
- XAppCaptureMetadataAddInt32Event
- XAppCaptureMetadataAddDoubleEvent
- XAppCaptureMetadataStartStringState
- XAppCaptureMetadataStartInt32State
- XAppCaptureMetadataStartDoubleState
- XAppCaptureMetadataStopState
- XAppCaptureMetadataStopAllStates
- XAppCaptureMetadataRemainingStorageBytesAvailable
- XAppCaptureOpenScreenshotStream
- XAppCaptureReadScreenshotStream
- XAppCaptureRecordDiagnosticClip
- XAppCaptureTakeDiagnosticScreenshot
- XAppCaptureTakeScreenshot
- XAppCaptureRegisterMetadataPurged
- XAppCaptureUnRegisterMetadataPurged
- XAppCaptureReadLocalStream
- XAppCaptureRecordTimespan
- XAppCaptureGetVideoCaptureSettings
- XAsync
- XAsyncGetStatus
- XAsyncGetResultSize
- XAsyncCancel
- XAsyncRun
- XDisplay
- XDisplayTryEnableHdrMode
- XDisplayAcquireTimeoutDeferral
- XDisplayCloseTimeoutDeferralHandle
- XError
- XErrorSetCallback
- XErrorSetOptions
- XGameEvent
- XGameEventWrite
- XGame
- XGameGetXboxTitleId
- XLaunchNewGame
- XLaunchRestartOnCrash
- XGameInvite
- XGameInviteRegisterForEvent
- XGameInviteUnregisterForEvent
- XGameProtocol
- XGameProtocolRegisterForActivation
- XGameProtocolUnregisterForActivation
- XGameRuntimeFeature
- XGameRuntimeIsFeatureAvailable
- XGameRuntimeInit
- XGameRuntimeInitialize
- XGameRuntimeUninitialize
- XGameSave
- XGameSaveInitializeProvider
- XGameSaveInitializeProviderAsync
- XGameSaveInitializeProviderResult
- XGameSaveCloseProvider
- XGameSaveGetRemainingQuota
- XGameSaveGetRemainingQuotaAsync
- XGameSaveGetRemainingQuotaResult
- XGameSaveDeleteContainer
- XGameSaveDeleteContainerAsync
- XGameSaveDeleteContainerResult
- XGameSaveCreateContainer
- XGameSaveCloseContainer
- XGameSaveGetContainerInfo
- XGameSaveEnumerateContainerInfo
- XGameSaveEnumerateContainerInfoByName
- XGameSaveEnumerateBlobInfo
- XGameSaveEnumerateBlobInfoByName
- XGameSaveReadBlobData
- XGameSaveReadBlobDataAsync
- XGameSaveReadBlobDataResult
- XGameSaveCreateUpdate
- XGameSaveCloseUpdateHandle
- XGameSaveSubmitBlobWrite
- XGameSaveSubmitBlobDelete
- XGameSaveSubmitUpdate
- XGameSaveSubmitUpdateAsync
- XGameSaveSubmitUpdateResult
- XGameSaveFiles
- XGameSaveFilesGetFolderWithUiAsync
- XGameSaveFilesGetFolderWithUiResult
- XGameSaveFilesGetRemainingQuota
- XGameStreaming
- XGameStreamingInitialize
- XGameStreamingUninitialize
- XGameStreamingIsStreaming
- XGameStreamingGetClientCount
- XGameStreamingGetClients
- XGameStreamingGetConnectionState
- XGameStreamingRegisterConnectionStateChanged
- XGameStreamingUnregisterConnectionStateChanged
- XGameStreamingHideTouchControls
- XGameStreamingHideTouchControlsOnClient
- XGameStreamingShowTouchControlLayout
- XGameStreamingShowTouchControlLayoutOnClient
- XGameStreamingRegisterClientPropertiesChanged
- XGameStreamingUnregisterClientPropertiesChanged
- XGameStreamingGetStreamPhysicalDimensions
- XGameStreamingGetStreamAddedLatency
- XGameStreamingGetServerLocationNameSize
- XGameStreamingGetServerLocationName
- XGameStreamingIsTouchInputEnabled
- XGameStreamingGetLastFrameDisplayed
- XGameStreamingUpdateTouchControlsState
- XGameStreamingUpdateTouchControlsStateOnClient
- XGameStreamingShowTouchControlsWithStateUpdate
- XGameStreamingShowTouchControlsWithStateUpdateOnClient
- XGameStreamingGetTouchBundleVersionNameSize
- XGameStreamingGetTouchBundleVersion
- XGameStreamingGetClientIPAddress
- XGameStreamingGetSessionId
- XGameStreamingGetDisplayDetails
- XGameStreamingSetResolution
- XGameUI
- XGameUIShowAchievementsAsync
- XGameUIShowAchievementsResult
- XGameUIShowMessageDialogAsync
- XGameUIShowMessageDialogResult
- XGameUIShowErrorDialogAsync
- XGameUIShowErrorDialogResult
- XGameUIShowTextEntryAsync
- XGameUIShowTextEntryResultSize
- XGameUIShowTextEntryResult
- XGameUITextEntryClose
- XGameUITextEntryGetExtents
- XGameUITextEntryOpen
- XGameUITextEntryGetState
- XGameUITextEntryUpdatePositionHint
- XGameUITextEntryUpdateVisibility
- XGameUISetNotificationPositionHint
- XGameUIShowSendGameInviteAsync
- XGameUIShowSendGameInviteResult
- XGameUIShowMultiplayerActivityGameInviteAsync
- XGameUIShowMultiplayerActivityGameInviteResult
- XGameUIShowWebAuthenticationAsync
- XGameUIShowWebAuthenticationResult
- XGameUIShowWebAuthenticationWithOptionsAsync
- XGameUIShowWebAuthenticationResultSize
- XGameUIShowPlayerProfileCardAsync
- XGameUIShowPlayerProfileCardResult
- XGameUIShowPlayerPickerAsync
- XGameUIShowPlayerPickerResultCount
- XGameUIShowPlayerPickerResult
- XLauncher
- XLaunchUri
- XNetworking
- XNetworkingGetConnectivityHint
- XNetworkingQueryConfigurationSetting
- XNetworkingQueryPreferredLocalUdpMultiplayerPort
- XNetworkingQueryPreferredLocalUdpMultiplayerPortAsync
- XNetworkingQueryPreferredLocalUdpMultiplayerPortAsyncResult
- XNetworkingQuerySecurityInformationForUrlAsync
- XNetworkingQuerySecurityInformationForUrlAsyncResultSize
- XNetworkingQuerySecurityInformationForUrlAsyncResult
- XNetworkingQuerySecurityInformationForUrlUtf16Async
- XNetworkingQuerySecurityInformationForUrlUtf16AsyncResultSize
- XNetworkingQuerySecurityInformationForUrlUtf16AsyncResult
- XNetworkingQueryStatistics
- XNetworkingRegisterConnectivityHintChanged
- XNetworkingUnregisterConnectivityHintChanged
- XNetworkingRegisterPreferredLocalUdpMultiplayerPortChanged
- XNetworkingUnregisterPreferredLocalUdpMultiplayerPortChanged
- XNetworkingVerifyServerCertificate
- XPackage
- XPackageGetCurrentProcessPackageIdentifier
- XPackageIsPackagedProcess
- XPackageGetUserLocale
- XPackageEnumeratePackages
- XPackageFindChunkAvailability
- XPackageChangeChunkInstallOrder
- XPackageInstallChunks
- XPackageUninstallChunks
- XPackageInstallChunksAsync
- XPackageInstallChunksResult
- XPackageRegisterPackageInstalled
- XPackageUnregisterPackageInstalled
- XPackageEnumerateFeatures
- XPackageEnumerateChunkAvailability
- XPackageMount
- XPackageMountWithUiAsync
- XPackageMountWithUiResult
- XPackageGetMountPath
- XPackageGetMountPathSize
- XPackageCloseMountHandle
- XPackageCreateInstallationMonitor
- XPackageCloseInstallationMonitorHandle
- XPackageGetInstallationProgress
- XPackageUpdateInstallationMonitor
- XPackageRegisterInstallationProgressChanged
- XPackageUnregisterInstallationProgressChanged
- XPackageEstimateDownloadSize
- XPackageGetWriteStats
- XPackageUninstallUWPInstance
- XPackageUninstallPackage
- XPersistentLocalStorage
- XPersistentLocalStorageGetPathSize
- XPersistentLocalStorageGetPath
- XPersistentLocalStorageGetSpaceInfo
- XPersistentLocalStoragePromptUserForSpaceAsync
- XPersistentLocalStoragePromptUserForSpaceResult
- XSpeechSynthesizer
- XSpeechSynthesizerEnumerateInstalledVoices
- XSpeechSynthesizerCreate
- XSpeechSynthesizerCloseHandle
- XSpeechSynthesizerSetDefaultVoice
- XSpeechSynthesizerSetCustomVoice
- XSpeechSynthesizerCreateStreamFromText
- XSpeechSynthesizerCreateStreamFromSsml
- XSpeechSynthesizerCloseStreamHandle
- XSpeechSynthesizerGetStreamDataSize
- XSpeechSynthesizerGetStreamData
- XStore
- XStoreCreateContext
- XStoreCloseContextHandle
- XStoreIsAvailabilityPurchasable
- XStoreAcquireLicenseForPackageAsync
- XStoreAcquireLicenseForPackageResult
- XStoreCanAcquireLicenseForPackageAsync
- XStoreCanAcquireLicenseForPackageResult
- XStoreCanAcquireLicenseForStoreIdAsync
- XStoreCanAcquireLicenseForStoreIdResult
- XStoreCloseLicenseHandle
- XStoreIsLicenseValid
- XStoreQueryAddOnLicensesAsync
- XStoreQueryAddOnLicensesResultCount
- XStoreQueryAddOnLicensesResult
- XStoreQueryGameLicenseAsync
- XStoreQueryGameLicenseResult
- XStoreQueryLicenseTokenAsync
- XStoreQueryLicenseTokenResultSize
- XStoreQueryLicenseTokenResult
- XStoreRegisterGameLicenseChanged
- XStoreUnregisterGameLicenseChanged
- XStoreRegisterPackageLicenseLost
- XStoreUnregisterGameLicenseChanged
- XStoreUnregisterPackageLicenseLost
- XStoreAcquireLicenseForDurablesAsync
- XStoreQueryGameAndDlcPackageUpdatesAsync
- XStoreQueryGameAndDlcPackageUpdatesResultCount
- XStoreQueryGameAndDlcPackageUpdatesResult
- XStoreDownloadAndInstallPackagesAsync
- XStoreDownloadAndInstallPackagesResultCount
- XStoreDownloadAndInstallPackagesResult
- XStoreDownloadAndInstallPackageUpdatesAsync
- XStoreDownloadAndInstallPackageUpdatesResult
- XStoreDownloadPackageUpdatesAsync
- XStoreDownloadPackageUpdatesResult
- XStoreQueryPackageIdentifier
- XStoreShowRedeemTokenUIAsync
- XStoreShowRedeemTokenUIResult
- XStoreShowRateAndReviewUIAsync
- XStoreShowRateAndReviewUIResult
- XStoreShowPurchaseUIAsync
- XStoreShowPurchaseUIResult
- XStoreQueryConsumableBalanceRemainingAsync
- XStoreQueryConsumableBalanceRemainingResult
- XStoreReportConsumableFulfillmentAsync
- XStoreReportConsumableFulfillmentResult
- XStoreGetUserCollectionsIdAsync
- XStoreGetUserCollectionsIdResultSize
- XStoreGetUserCollectionsIdResult
- XStoreGetUserPurchaseIdAsync
- XStoreGetUserPurchaseIdResultSize
- XStoreGetUserPurchaseIdResult
- XStoreQueryAssociatedProductsAsync
- XStoreQueryAssociatedProductsResult
- XStoreQueryEntitledProductsAsync
- XStoreQueryEntitledProductsResult
- XStoreQueryProductForCurrentGameAsync
- XStoreQueryProductForCurrentGameResult
- XStoreQueryProductForPackageAsync
- XStoreQueryProductForPackageResult
- XStoreQueryProductsAsync
- XStoreQueryProductsResult
- XStoreProductsQueryNextPageAsync
- XStoreCloseProductsQueryHandle
- XStoreAcquireLicenseForDurablesResult
- XStoreEnumerateProductsQuery
- XStoreProductsQueryHasMorePages
- XStoreProductsQueryNextPageResult
- XStoreShowAssociatedProductsUIAsync
- XStoreShowAssociatedProductsUIResult
- XStoreShowProductPageUIAsync
- XStoreShowProductPageUIResult
- XSystem
- XSystemGetAnalyticsInfo
- XSystemGetAppSpecificDeviceId
- XSystemGetConsoleId
- XSystemGetDeviceType
- XSystemGetXboxLiveSandboxId
- XSystemGetRuntimeInfo
- XSystemIsHandleValid
- XSystemHandleTrack
- XTaskQueue
- XTaskQueueCloseHandle
- XTaskQueueCreate
- XTaskQueueCreateComposite
- XTaskQueueDispatch
- XTaskQueueDuplicateHandle
- XTaskQueueGetCurrentProcessTaskQueue
- XTaskQueueGetPort
- XTaskQueueRegisterMonitor
- XTaskQueueRegisterWaiter
- XTaskQueueSetCurrentProcessTaskQueue
- XTaskQueueSubmitCallback
- XTaskQueueSubmitDelayedCallback
- XTaskQueueTerminate
- XTaskQueueUnregisterMonitor
- XTaskQueueUnregisterWaiter
- XThread
- XThreadIsTimeSensitive
- XThreadSetTimeSensitive
- XThreadAssertNotTimeSensitive
- XUser
- XUserDuplicateHandle
- XUserCloseHandle
- XUserCompare
- XUserGetMaxUsers
- XUserAddAsync
- XUserAddResult
- XUserAddByIdWithUiAsync
- XUserAddByIdWithUiResult
- XUserGetId
- XUserFindUserById
- XUserGetLocalId
- XUserFindUserByLocalId
- XUserGetIsGuest
- XUserGetState
- XUserGetGamertag
- XUserGetGamerPictureAsync
- XUserGetAgeGroup
- XUserCheckPrivilege
- XUserResolvePrivilegeWithUiAsync
- XUserResolvePrivilegeWithUiResult
- XUserGetTokenAndSignatureUtf16Async
- XUserResolveIssueWithUiUtf16Async
- XUserResolveIssueWithUiUtf16Result
- XUserRegisterForChangeEvent
- XUserUnregisterForChangeEvent
- XUserCloseSignOutDeferralHandle
- XUserFindControllerForUserWithUiAsync
- XUserFindControllerForUserWithUiResult
- XUserFindForDevice
- XUserGetDefaultAudioEndpointUtf16
- XUserGetGamerPictureResultSize
- XUserGetGamerPictureResult
- XUserGetSignOutDeferral
- XUserGetTokenAndSignatureAsync
- XUserGetTokenAndSignatureResultSize
- XUserGetTokenAndSignatureResult
- XUserGetTokenAndSignatureUtf16ResultSize
- XUserGetTokenAndSignatureUtf16Result
- XUserIsStoreUser
- XUserRegisterForDefaultAudioEndpointUtf16Changed
- XUserRegisterForDeviceAssociationChanged
- XUserResolveIssueWithUiAsync
- XUserResolveIssueWithUiResult
- XUserUnregisterForDefaultAudioEndpointUtf16Changed
- XUserUnregisterForDeviceAssociationChanged
マネージド ラッパーの XBOX services API のリスト
GDK Unity パッケージ内のマネージド ラッパーには、以下の XBOX services API が含まれます。XBOX services API の詳細については、XBOX Live API reference を参照してください。- XblContext
- XblAchievements
- XblEvents
- XblLeaderboard
- XblPresence
- XblPrivacy
- XblSocialManager
- XblUserStatistics
- XblHttpCall
- XblGetErrorCondition
- XblMultiplayer
- XblMultiplayerManager
- XblMultiplayerActivity
- XblMatchmaking
- XblProfile
- XblRealTimeActivity
- XblTitleManagedStats
- XblSocial
- XblTitleStorage
- XblUserStatics
