Funzione KsSynchronousDeviceControl (ksproxy.h)
La funzione KsSynchronousDeviceControl genera un'operazione di controllo I/O del dispositivo sincrona all'oggetto KS specificato da un handle di file.
Sintassi
KSDDKAPI HRESULT KsSynchronousDeviceControl(
[in] HANDLE Handle,
[in] ULONG IoControl,
[in, optional] PVOID InBuffer,
[in] ULONG InLength,
[out, optional] PVOID OutBuffer,
[in] ULONG OutLength,
[in, out] PULONG BytesReturned
);
Parametri
[in] Handle
Handle per l'oggetto KS in cui eseguire l'operazione.
[in] IoControl
Codice di controllo che identifica un tipo specifico di operazione da eseguire su un oggetto KS.
[in, optional] InBuffer
Puntatore a un buffer contenente dati che specifica l'operazione da eseguire.
[in] InLength
Dimensioni, in byte, del buffer in InBuffer.
[out, optional] OutBuffer
Puntatore a un buffer contenente i dati per l'operazione o lo spazio del buffer che riceve i dati per l'operazione.
[in] OutLength
Dimensioni, in byte, del buffer in OutBuffer.
[in, out] BytesReturned
Puntatore a una variabile che riceve le dimensioni, in byte, dei dati archiviati da KsSynchronousDeviceControl nel buffer in OutBuffer.
Valore restituito
Restituisce NOERROR se l'operazione riesce; in caso contrario, restituisce un codice di errore.
Commenti
Per recuperare l'handle all'oggetto KS, un'applicazione deve chiamare il metodo IKsObject::KsGetObjectHandle .
Un'applicazione può impostare il codice di controllo in IoControl e i buffer in InBuffer e OutBuffer come indicato di seguito per specificare l'operazione da eseguire:
- Impostare IoControl su IOCTL_KS_PROPERTY per accedere a una proprietà. Impostare InBuffer in modo che punti a una struttura KSPROPERTY che specifica la proprietà della proprietà impostata per accedere e se recuperare informazioni sulla proprietà o impostare le informazioni nella proprietà. Per impostare le informazioni nella proprietà, impostare OutBuffer in modo che punti a tali informazioni. Per recuperare informazioni dalla proprietà, impostare OutBuffer per ricevere tali informazioni.
- Impostare IoControl su IOCTL_KS_METHOD per eseguire un metodo. Impostare InBuffer in modo che punti a una struttura KSMETHOD che specifica il metodo del metodo impostato da eseguire e se leggere e/o scrivere dati correlati al metodo. Per leggere i dati, impostare OutBuffer in modo che punti a tali dati. Per scrivere dati, impostare OutBuffer per ricevere tali dati.
- Impostare IoControl su IOCTL_KS_ENABLE_EVENT per richiedere che l'oggetto KS specificato da Handle comunicherà all'applicazione ogni volta che si verifica un'azione evento specifica. Impostare InBuffer in modo che punti a una struttura KSEVENT che specifica l'evento del set di eventi su cui inviare una notifica. Impostare OutBuffer in modo che punti a una struttura KSEVENTDATA che descrive come l'oggetto KS deve notificare all'applicazione quando si verifica l'evento. Vedere anche Eventi KS.
- Impostare IoControl su IOCTL_KS_DISABLE_EVENT per informare l'oggetto KS specificato da Handle per interrompere la notifica all'applicazione ogni volta che si verifica un'azione evento specifica. Impostare InBuffer in modo che punti alla struttura KSEVENTDATA usata in precedenza nella richiesta di notifica degli eventi.
Dopo la chiamata a KsSynchronousDeviceControl, OutBuffer conterrà una matrice di GUID impostati supportati dall'oggetto specificato da Handle.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Desktop |
Intestazione | ksproxy.h (include Ksproxy.h) |
Libreria | Ksproxy.lib |