Condividi tramite


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

IRP_MJ_DEVICE_CONTROL

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

Guida generale alla comunicazione sul campo vicino (NFC)

Guida alla progettazione della prossimità del campo vicino (Tocca e Do, modello provider NFP, requisiti del driver)