Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W wersji 1.11 lub nowszej sterowniki UMDF mogą ustawiać i pobierać identyfikatory działań. Identyfikatory aktywności umożliwiają skojarzenie wielu żądań we/wy, dzięki czemu można je śledzić przy użyciu śledzenia zdarzeń systemu Windows (ETW). W tym temacie opisano niektóre możliwe scenariusze, w których sterownik może używać identyfikatorów działań.
Kojarzenie nowych żądań z istniejącym żądaniem
W funkcji obsługi we/wy sterownika możesz utworzyć wiele żądań I/O struktury jako rezultat przychodzącego żądania. Sterownik uzyskuje identyfikator działania z oryginalnego żądania i ustawia go w nowych żądaniach, wywołując WdfRequestRetrieveActivityId i WdfRequestSetActivityId.
Aby zapoznać się z przykładem kodu, zobacz WdfRequestRetrieveActivityId.
Kojarzenie nowych żądań z istniejącym wątkiem
Sterownik może utworzyć nowe żądanie we/wy w wątku innym niż wątek wysyłania we/wy lub w elemencie roboczym. Identyfikator działania dla takiego żądania można ustawić z dowolnego odpowiedniego żądania lub przy użyciu identyfikatora działania skojarzonego z wątkiem wysyłania we/wy. Sterownik może pobrać identyfikator działania skojarzony z bieżącym wątkiem, wywołując EventActivityIdControl, a następnie wywołując WdfRequestSetActivityId, aby ustawić identyfikator dla każdego nowego żądania we/wy.
Jeśli sterownik wywołuje interfejs API Win32 w celu wysłania żądania we/wy, może pobrać identyfikator działania z oryginalnego żądania i rozpropagować go do wątku. Menedżer we/wy stosuje następnie identyfikator działania skojarzony z wątkiem do dowolnych pakietów żądań we/wy (IRP) generowanych w odpowiedzi na żądanie.