カスタム キュー コールバック ルーチンの作成
既定のキュー コールバックを使用するだけでなく、カスタム コールバック ルーチンを記述することもできます。 この関数の形式は FileCallback と同じである必要があります。 これは、既定のキュー コールバック ルーチン以外の方法で通知を処理するコールバック ルーチンが必要な場合に便利です。
既定のキュー コールバック ルーチンの動作のごく一部のみを変更する必要がある場合は、カスタム コールバック ルーチンを作成して通知をフィルター処理し、特別な動作を必要とするもののみを処理し、他のユーザーに対して SetupDefaultQueueCallback を 呼び出すことができます。
たとえば、ファイル削除エラーをカスタム処理する場合は、カスタム コールバック関数 MyCallback を作成できます。 この関数は 、SPFILENOTIFY_DELETEERROR 通知をインターセプトして処理し、他のすべての通知に対して既定のキュー コールバック関数を呼び出します。 MyCallback は、削除エラー通知の値を返します。 その他のすべての通知について、 MyCallback は、キューに返される既定のキュー コールバック ルーチンの値を渡します。
この制御フローを次の図に示します。
重要
カスタム コールバック関数が既定のキュー コールバック ルーチンを呼び出す場合は、SetupInitDefaultQueueCallback または SetupInitDefaultQueueCallbackEx によって返される void ポインターを既定のコールバック ルーチンに渡す必要があります。