次の方法で共有


VariableDispenser.LockOneForWrite(String, Variables) メソッド

定義

一覧に変数を配置してから、読み取り/書き込み用アクセス用にその変数をロックします。

public:
 void LockOneForWrite(System::String ^ variable, Microsoft::SqlServer::Dts::Runtime::Variables ^ % variables);
public void LockOneForWrite (string variable, ref Microsoft.SqlServer.Dts.Runtime.Variables variables);
member this.LockOneForWrite : string * Variables -> unit
Public Sub LockOneForWrite (variable As String, ByRef variables As Variables)

パラメーター

variable
String

読み取り/書き込みアクセス用にロックする変数の名前です。

variables
Variables

要求された変数を格納する変数コレクションの名前です。

注釈

このメソッドは、1 つの変数にのみ適用されるため、メソッドとGetVariablesメソッドのLockForWrite動作を 1 回の呼び出しで結合します。

呼び出しが成功した場合、要求された変数は、パラメーター variables によって指定された変数コレクション内に 1 つのエントリで構成されたコレクションとして返され、この変数は読み取り/書き込みアクセスに用にロックされます。 この変数のロックを解除するには、Variables クラスの Unlock メソッドを使用して、変数コレクションを解放します。 LockOneForWrite メソッドの呼び出しが失敗した場合は、この変数はロックされません。

このメソッドへの呼び出しは、LockForWrite への呼び出しによって生成されるロックの一覧に影響を与えません。

注意

共に使用される複数の変数に対するロックを取得するときに、このメソッドに対する複数の呼び出しを行うと、デッドロックが発生する可能性があるため、このような操作は行わないようにすることをお勧めします。 一緒に使用されているすべての変数は、LockForRead メソッドまたは LockForWrite メソッドに続けて GetVariables メソッドを呼び出すことにより、一緒に要求およびロックする必要があります。

ロックが成功している場合は、Unlock を呼び出してロックを解除できます。

適用対象