Freigeben über


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
STATUS_SUCCESS
Das Gerät wurde deaktiviert.
STATUS_INVALID_PARAMETER
Die angegebene Geräte-ID ist ungültig.
STATUS_UNSUCCESSFUL
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

Weitere Informationen

IOCTL_INTERNAL_SELECT_DEVICE

PPARALLEL_TRY_SELECT_ROUTINE

IOCTL_INTERNAL_DESELECT_DEVICE

PARALLEL_PNP_INFORMATION