Sdílet prostřednictvím


Vytvoření vlastní rutiny zpětného volání fronty

Kromě použití výchozího zpětného volání fronty můžete napsat vlastní zpětnou volací rutinu. Tato funkce musí mít stejný formulář jako FileCallback. To je užitečné, pokud potřebujete rutinu zpětného volání, která zpracovává oznámení jiným způsobem než ten, který poskytuje výchozí rutina zpětného volání fronty.

Pokud je potřeba změnit pouze malou část výchozího chování rutiny zpětného volání fronty, můžete vytvořit vlastní rutinu zpětného volání pro filtrování oznámení. Tímto způsobem budete zpracovávat pouze oznámení, která vyžadují zvláštní chování, zatímco pro ostatní je volána SetupDefaultQueueCallback.

Pokud byste například chtěli zpracovat chyby při mazání souborů podle vlastních potřeb, mohli byste vytvořit funkci zpětného volání, MyCallback. Tato funkce by zachycovala a zpracovávala SPFILENOTIFY_DELETEERROR oznámení a volala výchozí funkci zpětného volání fronty pro všechna ostatní oznámení. MyCallback vrátí hodnotu pro oznámení o chybě při mazání. Pro všechna ostatní oznámení MyCallback předává do fronty libovolnou hodnotu, kterou vrátila výchozí rutina zpětného volání fronty.

Tento tok řízení je znázorněn v následujícím diagramu.

šipky a rámečky zobrazující tok dat pro vlastní funkci zpětného volání

Důležitý

Pokud vlastní funkce zpětného volání volá výchozí rutinu zpětného volání fronty, musí předat ukazatel typu void vrácený SetupInitDefaultQueueCallback nebo SetupInitDefaultQueueCallbackEx do výchozí rutiny zpětného volání.