警告 C26110
呼び出し元が、関数 'func' を呼び出す前にロック 'lock' を保持できない。
ロックが必要な場合は、関数自体またはその呼び出し元がロックを取得する必要があるかどうかを明確にしてください。 警告 C26110 は、注釈またはその他のロック関連の _Requires_lock_held_
注釈に違反がある場合に発行されます。 詳細については、「Annotating Locking Behavior」(ロック動作に注釈を付ける) を参照してください。
例
次の例では、LockRequired
関数の注釈 _Requires_lock_held_
が、LockRequired
の呼び出し元は LockRequired
を呼び出す前にロックを取得する必要があると定めているため、警告 C26110 が生成されます。 この注釈がない場合、LockRequired
はロックによって保護されている共有データにアクセスする前に、ロックを取得する必要があります。
typedef struct _DATA
{
CRITICAL_SECTION cs;
int d;
} DATA;
_Requires_lock_held_(p->cs)
void LockRequired(DATA* p)
{
p->d = 0;
}
void LockNotHeld(DATA* p)
{
LockRequired(p); // Warning C26110
}
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示