PPARALLEL_DESELECT_ROUTINE Rückruffunktion (parallel.h)
Die PPARALLEL_DESELECT_ROUTINE typisierte Rückrufroutine hebt entweder ein IEEE 1284.3-Daisy Chain-Gerät oder ein IEEE 1284-End-of-Chain-Gerät auf, das an einen parallelen Port angeschlossen ist. Der vom System bereitgestellte Funktionstreiber für parallele Ports stellt diese Routine bereit.
Syntax
PPARALLEL_DESELECT_ROUTINE PparallelDeselectRoutine;
NTSTATUS PparallelDeselectRoutine(
[in] PVOID DeselectContext,
[in] PVOID DeselectCommand
)
{...}
Parameter
[in] DeselectContext
Zeiger auf die Geräteerweiterung eines funktionalen Geräteobjekts (Functional Device Object, FDO), das einen parallelen Port darstellt.
[in] DeselectCommand
Zeiger auf eine PARALLEL_1284_COMMAND-Struktur. Der Aufrufer gibt die folgenden Member an:
ID
Gibt die Geräte-ID 1284.3 (null oder 1) an.
CommandFlags
Gibt einen bitweisen OR mit 0 oder mehr der folgenden Flags an:
Wert | BESCHREIBUNG |
---|---|
PAR_END_OF_CHAIN_DEVICE | Gibt ein End-of-Chain-Gerät an. |
PAR_HAVE_PORT_KEEP_PORT | Gibt an, dass der Port zugeordnet bleibt. |
Rückgabewert
Rückgabecode | Beschreibung |
---|---|
|
Das Gerät wurde deaktiviert. |
|
Die angegebene Geräte-ID ist ungültig. |
|
Der vom System bereitgestellte Funktionstreiber für parallele Ports konnte die Auswahl des Geräts nicht aufheben. |
Hinweise
Um einen Zeiger auf den vom System bereitgestellten PPARALLEL_DESELECT_ROUTINE Rückruf abzurufen, verwendet ein Kernelmodustreiber eine IOCTL_INTERNAL_GET_PARALLEL_PNP_INFO Anforderung, die eine PARALLEL_PNP_INFORMATION Struktur zurückgibt. Das DeselectDevice-Element der PARALLEL_PNP_INFORMATION-Struktur ist ein Zeiger auf diesen Rückruf.
Ein Kernelmodustreiber kann eine IOCTL_INTERNAL_DESELECT_DEVICE-Anforderung oder den PPARALLEL_CLEAR_CHIP_MODE Rückruf verwenden, um die Auswahl eines Geräts an einem parallelen Port, der durch einen parallelen Port dargestellt wird, aufzuheben. Um die Auswahl eines Geräts aufzuheben, sollte einem Aufrufer der parallele Port zugewiesen sein. Wenn der Aufrufer das flag PAR_HAVE_PORT_KEEP_PORT nicht setzt, gibt der vom System bereitgestellte Funktionstreiber für parallele Ports den parallelen Port frei, nachdem das Gerät deaktiviert wurde.
Weitere Informationen finden Sie unter Auswählen und Deaktivieren eines IEEE 1284-Geräts, das an einen ParallelPort angefügt ist.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Desktop |
Kopfzeile | parallel.h (einschließlich Parallel.h) |
IRQL | <=DISPATCH_LEVEL |