Condividi tramite


AVC_FUNCTION_GET_PIN_DESCRIPTOR

Il codice della funzione AVC_FUNCTION_GET_PIN_DESCRIPTOR ottiene il descrittore pin per ogni ID pin (offset da zero).

Blocco dello stato I/O

In caso di esito positivo, il driver del protocollo AV/C imposta Irp-IoStatus.Status> su STATUS_SUCCESS.

Gli altri valori restituiti possibili includono:

Valore restituito Descrizione
STATUS_TIMEOUT La richiesta è stata effettuata, ma non è stata ricevuta alcuna risposta prima di tutto il timeout e l'elaborazione dei nuovi tentativi è stata completata.
STATUS_REQUEST_ABORTED Interrompere immediatamente quando lo stato di completamento di IRP è STATUS_REQUEST_ABORTED. Ciò indica che il dispositivo è stato rimosso o non è più disponibile nel bus 1394.
STATO_* Qualsiasi altro codice restituito indica che si è verificato un errore o un avviso che non rientra nell'ambito del protocollo AV/C.

Commenti

Questa funzione usa il membro PinDescriptor della struttura AVC_MULTIFUNC_IRB, come illustrato di seguito.

typedef struct _AVC_MULTIFUNC_IRB {
  AVC_IRB  Common;
  union {
    .
    .
    .
    AVC_PIN_DESCRIPTOR PinDescriptor;
 .
    .
    .
  };
} AVC_MULTIFUNC_IRB, *PAVC_MULTIFUNC_IRB;

Requisiti

Intestazioni: Dichiarato in avc.h. Includere avc.h.

AVC_MULTIFUNC_IRB Input

Common
Il sottomemo Function di questo membro deve essere impostato su AVC_FUNCTION_GET_PIN_DESCRIPTOR dall'enumerazione AVC_FUNCTION.

PinDescriptor
Specifica la descrizione di un pin in un dispositivo di subunit AV/C.

Questo codice di funzione non è supportato dalle istanze virtuali di avc.sys.

Oltre al descrittore pin, questa funzione può anche restituire l'indirizzo di un gestore di intersect e un valore di contesto opaco associato al gestore intersect. Se il membro del gestore intersect è NULL, il driver subunit deve fornire un gestore intersect. Se il membro del gestore intersect non è NULL, viene fornito un gestore di intersect e il driver può usarlo.

Avc.sys non fornisce mai un'intersezione dei dati, ma un driver di filtro (ad esempio, avcstrm.sys) lo inserisce quando la richiesta viene completata durante il backup dello stack.

Deve essere chiamato in IRQL = PASSIVE_LEVEL.

Vedi anche

AVC_MULTIFUNC_IRB

AVC_PIN_DESCRIPTOR

AVC_FUNCTION

KSPIN_DESCRIPTOR

Gestore intersect AV/C