PPARALLEL_TRY_SELECT_ROUTINE Rückruffunktion (parallel.h)
Die PPARALLEL_TRY_SELECT_ROUTINE-typierte Rückrufroutine wählt ein IEEE 1284.3-Daisy-Kettengerät oder ein IEEE 1284-End-of-Chain-Gerät aus, das an einen parallelen Port angeschlossen ist. Der vom System bereitgestellte Funktionstreiber für parallele Ports liefert diese Routine.
Syntax
PPARALLEL_TRY_SELECT_ROUTINE PparallelTrySelectRoutine;
NTSTATUS PparallelTrySelectRoutine(
[in] PVOID TrySelectContext,
[in] PVOID TrySelectCommand
)
{...}
Parameter
[in] TrySelectContext
Zeiger auf die Geräteerweiterung des funktionalen Geräteobjekts eines parallelen Ports (FDO-).
[in] TrySelectCommand
Zeiger auf eine PARALLEL_1284_COMMAND Struktur. Der Aufrufer gibt die folgenden Member an:
ID
Gibt die Geräte-ID 1284.3 an.
CommandFlags
Gibt ein bitweises ODER von Null 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 dem Anrufer der Port zugewiesen ist und der Port zugewiesen bleibt. |
Rückgabewert
Rückgabecode | Beschreibung |
---|---|
|
Das Gerät wurde ausgewählt. |
|
Die Geräte-ID ist ungültig. |
|
Der Aufrufer hat PAR_HAVE_PORT_KEEP_PORT nicht angegeben, und der parallele Port ist bereits zugeordnet. |
|
Der Aufrufer hat den parallelen Port zugewiesen, aber der vom System bereitgestellte Funktionstreiber für parallele Ports konnte das angegebene parallele Gerät nicht auswählen. |
Bemerkungen
Um einen Zeiger auf den vom System bereitgestellten PPARALLEL_TRY_SELECT_ROUTINE Rückruf abzurufen, verwendet ein Kernelmodustreiber eine IOCTL_INTERNAL_GET_PARALLEL_PNP_INFO Anforderung, die eine PARALLEL_PNP_INFORMATION Struktur zurückgibt. Der TrySelectDevice Member der PARALLEL_PNP_INFORMATION-Struktur ist ein Zeiger auf diesen Rückruf.
Ein Kernelmodustreiber kann eine IOCTL_INTERNAL_SELECT_DEVICE Anforderung oder den PPARALLEL_TRY_SELECT_ROUTINE Rückruf verwenden, um ein paralleles Gerät auf einem parallelen Port auszuwählen. Der Parallelport-Funktionstreiber stellt eine Auswahlanforderung in die Warteschlange, wenn der parallele Port bereits zugeordnet ist. Der PPARALLEL_TRY_SELECT_ROUTINE Rückruf stellt jedoch keine Auswahlanforderung in die Warteschlange und die Routine wird sofort zurückgegeben, wenn der Port nicht zugewiesen werden kann.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform- | Desktop |
Header- | parallel.h (include Parallel.h) |
IRQL- | <=DISPATCH_LEVEL |
Siehe auch
IOCTL_INTERNAL_GET_PARALLEL_PORT_INFO