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.
Aby móc asynchronicznie wysłać żądanie we/wy do docelowego obiektu we/wy, należy sformatować żądanie. W poniższej tabeli wymieniono metody obiektów docelowych we/wy, które sterownik może wywołać w celu sformatowania żądań we/wy.
| Metoda | Przeznaczenie |
|---|---|
Formatuje żądanie odczytu |
|
Formatuje żądanie zapisu |
|
Formatuje żądanie sterowania urządzeniem |
|
Formatuje wewnętrzne żądanie kontroli urządzenia |
|
Formatuje niestandardowe wewnętrzne żądanie kontroli urządzenia |
Aby wysłać żądanie we/wy asynchronicznie, sterownik musi:
Sformatuj żądanie.
Użyj jednej z metod wymienionych w poprzedniej tabeli, aby sformatować żądania. Aby uzyskać szczegółowe informacje na temat używania tych metod, zobacz strony referencyjne metod.
Zarejestruj funkcję wywołania zwrotnego CompletionRoutine.
Jeśli wysyłasz żądania asynchronicznie, zwykle chcesz, aby struktura powiadamiała sterownik, gdy inny sterownik ukończy każde żądanie. Sterownik powinien zdefiniować funkcję wywołania zwrotnego CompletionRoutine i zarejestrować ją, wywołując WdfRequestSetCompletionRoutine. Aby uzyskać więcej informacji, zobacz Kończenie żądań we/wy.
Wyślij żądanie.
Po sformatowaniu żądania i zarejestrowaniu funkcji wywołania zwrotnego CompletionRoutine, sterownik musi wywołać WdfRequestSend. Ta metoda umożliwia synchroniczne lub asynchroniczne wysyłanie żądań w zależności od flag ustawionych w parametrze RequestOptions. Aby uzyskać prostszy sposób synchronicznego wysyłania żądań we/wy, zobacz Wysyłanie żądań we/wy synchronicznie. Aby uzyskać informacje o sposobie sprawdzania statusu zakończenia asynchronicznej operacji lub żądania wysyłanego wywołaniem WdfRequestSend, zobacz Zakończenie żądań wejścia/wyjścia.
Sterownik, który wywołuje WdfRequestSend w celu wysłania żądania we/wy, może spróbować anulować żądanie później. Aby uzyskać więcej informacji, zobacz Anulowanie żądań we/wy.
Niektórzy sterownicy mogą wysyłać jedno żądanie we/wy do wielu urządzeń, a tym samym do wielu docelowych punktów we/wy, wywołując WdfRequestSend więcej niż jeden raz dla każdego żądania. Te sterowniki muszą wywołać WdfRequestChangeTarget przed każdym wywołaniem WdfRequestSend po pierwszym, aby sprawdzić, czy żądanie można wysłać do następnego obiektu docelowego we/wy.