Condividi tramite


PPARALLEL_DESELECT_ROUTINE funzione di callback (parallel.h)

La routine di callback tipizzata PPARALLEL_DESELECT_ROUTINEdeseleziona un dispositivo della catena di dati IEEE 1284.3 o un dispositivo a catena IEEE 1284 collegato a una porta parallela. Il driver di funzione fornito dal sistema per le porte parallele fornisce questa routine.

Sintassi

PPARALLEL_DESELECT_ROUTINE PparallelDeselectRoutine;

NTSTATUS PparallelDeselectRoutine(
  [in] PVOID DeselectContext,
  [in] PVOID DeselectCommand
)
{...}

Parametri

[in] DeselectContext

Puntatore all'estensione del dispositivo di un oggetto dispositivo funzionale (FDO) che rappresenta una porta parallela.

[in] DeselectCommand

Puntatore a una struttura PARALLEL_1284_COMMAND. Il chiamante specifica i membri seguenti:

ID

Specifica l'ID dispositivo 1284.3 (zero o 1).

CommandFlags

Specifica un OR bit per bit pari a zero o più dei flag seguenti:

Valore Descrizione
PAR_END_OF_CHAIN_DEVICE Specifica un dispositivo end-of-chain.
PAR_HAVE_PORT_KEEP_PORT Specifica che la porta viene mantenuta allocata.

Valore restituito

Codice restituito Descrizione
STATUS_SUCCESS
Il dispositivo è stato deselezionato.
STATUS_INVALID_PARAMETER
L'ID dispositivo specificato non è valido.
STATUS_UNSUCCESSFUL
Il driver di funzione fornito dal sistema per le porte parallele non è riuscito a deselezionare il dispositivo.

Osservazioni

Per ottenere un puntatore al callback fornito dal sistema PPARALLEL_DESELECT_ROUTINE, un driver in modalità kernel usa una richiesta di IOCTL_INTERNAL_GET_PARALLEL_PNP_INFO, che restituisce una struttura PARALLEL_PNP_INFORMATION. Il DeselectDevice membro della struttura PARALLEL_PNP_INFORMATION è un puntatore a questo callback.

Un driver in modalità kernel può usare una richiesta di IOCTL_INTERNAL_DESELECT_DEVICE o il callback PPARALLEL_CLEAR_CHIP_MODE per deselezionare un dispositivo su una porta parallela rappresentata da una porta parallela. Per deselezionare un dispositivo, un chiamante deve avere la porta parallela allocata. Se il chiamante non imposta il flag PAR_HAVE_PORT_KEEP_PORT, il driver di funzione fornito dal sistema per le porte parallele libera la porta parallela dopo aver deselezionato il dispositivo.

Per altre informazioni, vedere Selezione e selezione di un dispositivo IEEE 1284 collegato a unParallelPort.

Fabbisogno

Requisito Valore
piattaforma di destinazione Desktop
intestazione parallel.h (include Parallel.h)
IRQL <=DISPATCH_LEVEL

Vedere anche

IOCTL_INTERNAL_SELECT_DEVICE

PPARALLEL_TRY_SELECT_ROUTINE

IOCTL_INTERNAL_DESELECT_DEVICE

PARALLEL_PNP_INFORMATION