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.
Sterowniki używają procedury IoConnectInterruptEx, aby zarejestrować ISR dla przerwania. IoConnectInterruptEx jest częścią systemów operacyjnych Windows Vista i nowszych. IoConnectInterruptEx przyjmuje pojedynczy parametr Parameters , który jest wskaźnikiem do struktury IO_CONNECT_INTERRUPT_PARAMETERS . W przypadku systemów Windows Server 2003, Windows XP i Windows 2000 sterowniki mogą używać biblioteki Iointex.lib dołączonej do zestawu Windows Driver Kit (WDK).
W systemie Windows Vista i nowszych funkcja IoConnectInterruptEx oferuje różne metody rejestrowania ISR. Wartość określona dla Parametrów->Wersja określa metodę w następujący sposób:
Użyj CONNECT_LINE_BASED, aby zarejestrować procedurę InterruptService dla wszystkich przerwań opartych na linii w przypadku urządzenia. (Urządzenia zwykle mają co najwyżej jedno przerwanie oparte na wierszu). System automatycznie wykrywa wszelkie przerwania oparte na wierszach przypisane do urządzenia. Aby uzyskać więcej informacji, zobacz Using the CONNECT_LINE_BASED Version of IoConnectInterruptEx (Używanie CONNECT_LINE_BASED wersji IoConnectInterruptEx).
Użyj CONNECT_MESSAGE_BASED, aby zarejestrować procedurę InterruptMessageService dla wszystkich przerwań sygnalizatora komunikatów urządzenia. Można również określić procedurę InterruptService — jeśli urządzenie ma tylko przerwania oparte na liniach, zamiast tego IoConnectInterruptEx rejestruje procedurę InterruptService. System automatycznie wykrywa wszelkie przerwania wywołane komunikatami przypisane do urządzenia. Aby uzyskać więcej informacji, zobacz Using the CONNECT_MESSAGE_BASED Version of IoConnectInterruptEx (Używanie CONNECT_MESSAGE_BASED wersji IoConnectInterruptEx).
Użyj CONNECT_FULLY_SPECIFIED, aby oddzielnie zarejestrować procedurę InterruptService dla każdego przerwania. Za pomocą tej opcji można określić procedurę PrzerwanieUsługi dla przerwania opartego na wierszu lub zasygnalizowanego komunikatem, ale należy ręcznie określić przerwanie przy użyciu informacji przekazywanych przez menedżera PnP. Aby uzyskać więcej informacji, zobacz Using the CONNECT_FULLY_SPECIFIED Version of IoConnectInterruptEx (Używanie CONNECT_FULLY_SPECIFIED wersji IoConnectInterruptEx).
W systemach operacyjnych wcześniejszych niż Windows Vista można używać tylko CONNECT_FULLY_SPECIFIED. Jeśli określisz CONNECT_LINE_BASED lub CONNECT_MESSAGE_BASED, funkcja IoConnectInterruptEx zwróci błąd. Tego zachowania można użyć do określenia, czy korzystasz z systemu Windows Vista, czy starszego systemu. Aby uzyskać więcej informacji, zobacz Using IoConnectInterruptEx Prior to Windows Vista (Używanie IoConnectInterruptEx przed systemem Windows Vista).