> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# UnregisterLampArrayCallback

> UnregisterLampArrayCallback

# UnregisterLampArrayCallback

LampArray コールバック関数の登録を解除します。

## 構文

```cpp theme={null}
bool UnregisterLampArrayCallback(
    LampArrayCallbackToken callbackToken,
    uint64_t timeoutInMicroseconds);
```

### パラメーター

*callbackToken*\
Type: LampArrayCallbackToken

登録解除するコールバック関数のトークンです。関数が最初に [RegisterLampArrayCallback](/reference/lighting/lamparray/functions/registerlamparraycallback) で登録されたときに生成されたものです。

*timeoutInMicroseconds*\
Type: uint64\_t

コールバックの登録を解除できるようにコールバックの完了を待機する時間の長さです。

### 戻り値

Type: bool

コールバックが正常に登録解除された場合は True です。False は、コールバック トークン値が無効であるか、実行中のコールバックが返るのを待機中にタイムアウトしたことを示します。false が返っても、新しいコールバックがディスパッチされないことは保証されます。すでに実行中のコールバックは引き続き実行されます。

## 解説

UnregisterLampArrayCallback 関数が正常に返るまで、コールバックに関連付けられたリソースを解放すること (例: コールバック関数をホストする DLL のアンロード) は安全ではありません。したがって、登録済みのコールバック関数の内部からコールバックを登録解除することはできず、これを試行するとプロセスが終了します。

次のコードは、LampArray コールバックの登録と登録解除の例です。

```cpp theme={null}
void MyLampArrayCallback(
    _In_opt_ void* context,
    bool isAttached,
    _In_ ILampArray* lampArray)
{
    if (isAttached)
    {
        // Application-specific code to handle LampArray connection
    }
    else
    {
        // Application-specific code to handle LampArray disconnection
    }
}

void MonitorLampArrays(
    _In_ volatile bool & cancelMonitoring) noexcept
{
    LampArrayCallbackToken token = LAMPARRAY_INVALID_CALLBACK_TOKEN_VALUE;
    if (SUCCEEDED(RegisterLampArrayCallback(
        MyLampArrayCallback,
        nullptr /* context */,
        &token)))
    {
        while (!cancelMonitoring)
        {
            Sleep(100);
        }

        UnregisterLampArrayCallback(token, 5000);
    }
}
```

## 要件

**ヘッダー:** LampArray.h

**ライブラリ:** xgameplatform.lib

**サポートされているプラットフォーム:** XBOX One ファミリ本体および XBOX Series 本体

## 関連項目

[Lighting API の概要](/build/core-features/common/lighting/gc-lighting-toc)\
[Lighting の基礎](/build/core-features/common/lighting/lighting-basics)\
[LampArrayCallback](/reference/lighting/lamparray/functions/lamparraycallback)\
[RegisterLampArrayCallback](/reference/lighting/lamparray/functions/registerlamparraycallback)


## Related topics

- [LampArrayCallback](/ja-jp/reference/lighting/lamparray/functions/lamparraycallback.md)
- [LampArray](/ja-jp/reference/lighting/lamparray/lamparray_members.md)
- [LampArrayStatusCallback](/ja-jp/reference/lighting/lamparray/functions/lamparraystatuscallback.md)
- [RegisterLampArrayCallback](/ja-jp/reference/lighting/lamparray/functions/registerlamparraycallback.md)
- [RegisterLampArrayStatusCallback](/ja-jp/reference/lighting/lamparray/functions/registerlamparraystatuscallback.md)
