IOCTL_NFP_GET_NEXT_TRANSMITTED_MESSAGE IOCTL (nfpdev.h)
Un client interessato a ricevere notifiche che un messaggio è stato trasmesso invierà la richiesta di IOCTL_NFP_GET_NEXT_TRANSMITTED_MESSAGE al driver di prossimità.
Codice principale
Buffer di input
Nessuno
Buffer di output
Nessuno
Blocco dello stato
Irp-IoStatus.Status> è impostato su STATUS_SUCCESS se la richiesta ha esito positivo.
In caso contrario, stato della condizione di errore appropriata come codice NTSTATUS.
Per altre informazioni, vedere Valori NTSTATUS.
Commenti
- Un'applicazione client invierà questo IOCTL in un ciclo di controllo all'handle di pubblicazione. Due trasmissioni separate dello stesso messaggio comportano l'attivazione di due eventi.
- Il client deve inviare un altro IOCTL ogni volta che viene completata la penna. Il driver DEVE usare blocchi appropriati per garantire che il numero di completamento riuscito di questo IOCTL equivale al numero di volte in cui la pubblicazione è stata trasmessa.
-
Quando si usa questo IOCTL, sono necessarie le azioni seguenti:
- Se questo IOCTL viene ricevuto in un handle che non ha avuto esito positivo in precedenza in un IOCTL_NFP_SET_PAYLOAD, il driver DEVE completarlo con STATUS_INVALID_DEVICE_STATE.
- Il driver deve mantenere l'equivalente di un contatore "CompleteEventImmediately" (ULONG o maggiore) nell'handle di file di pubblicazione.
-
Quando questo IOCTL viene ricevuto nel driver:
- Se il contatore è zero, il driver DEVE pennare L'IOCTL per il completamento successivo.
- Se il contatore è maggiore di zero, il driver DEVE decrerere il contatore per uno e completare immediatamente IOCTL con STATUS_SUCCESS.
- Se la pubblicazione viene trasmessa e non viene attualmente eseguita la penna IOCTL, il driver DEVE incrementare il contatore "CompleteEventImmediately" per uno.
- Se la pubblicazione viene trasmessa mentre è disponibile un IOCTL con penna, il driver DEVE completare l'IRP con penna con STATUS_SUCCESS e NON aumentare il contatore "CompleteEventImmediately".
- Se IOCTL contiene un buffer di input o output, il driver DEVE completare IOCTL con STATUS_INVALID_PARAMETER.
- Se questo IOCTL viene ricevuto mentre un altro viene attualmente pennato nell'handle di pubblicazione, il secondo (o versione successiva) deve essere completato con STATUS_INVALID_DEVICE_STATE.
- Il driver DEVE supportare CancelIo della penna IOCTL.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 8 |
Intestazione | nfpdev.h |
Vedi anche
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per