Función KsSynchronousDeviceControl (ksproxy.h)
La función KsSynchronousDeviceControl emite una operación de control de E/S de dispositivo sincrónica al objeto KS especificado por un identificador de archivo.
Sintaxis
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
);
Parámetros
[in] Handle
Identificador del objeto KS en el que se va a realizar la operación.
[in] IoControl
Código de control que identifica un tipo específico de operación que se va a realizar en un objeto KS.
[in, optional] InBuffer
Puntero a un búfer que contiene datos que especifican la operación que se va a realizar.
[in] InLength
Tamaño, en bytes, del búfer en InBuffer.
[out, optional] OutBuffer
Puntero a un búfer que contiene datos para la operación o el espacio de búfer que recibe los datos de la operación.
[in] OutLength
Tamaño, en bytes, del búfer en OutBuffer.
[in, out] BytesReturned
Puntero a una variable que recibe el tamaño, en bytes, de los datos que KsSynchronousDeviceControl almacena en el búfer en OutBuffer.
Valor devuelto
Devuelve NOERROR si se ejecuta correctamente; de lo contrario, devuelve un código de error.
Comentarios
Para recuperar el identificador del objeto KS, una aplicación debe llamar al método IKsObject::KsGetObjectHandle .
Una aplicación puede establecer el código de control en IoControl y los búferes en InBuffer y OutBuffer como se indica a continuación para especificar la operación que se va a realizar:
- Establezca IoControl en IOCTL_KS_PROPERTY para acceder a una propiedad. Establezca InBuffer para que apunte a una estructura KSPROPERTY que especifica la propiedad de la propiedad establecida para tener acceso y si se va a recuperar información sobre la propiedad o establecer información en la propiedad . Para establecer información en la propiedad , establezca OutBuffer para que apunte a esa información. Para recuperar información de la propiedad , establezca OutBuffer para recibir esa información.
- Establezca IoControlen IOCTL_KS_METHOD para ejecutar un método. Establezca InBuffer para que apunte a una estructura KSMETHOD que especifica el método del método establecido para ejecutarse y si se van a leer o escribir datos relacionados con el método. Para leer datos, establezca OutBuffer para que apunte a esos datos. Para escribir datos, establezca OutBuffer para recibir esos datos.
- Establezca IoControl en IOCTL_KS_ENABLE_EVENT para solicitar que el objeto KS especificado por Handle notifique a la aplicación cada vez que se produzca una acción de evento específica. Establezca InBuffer para que apunte a una estructura KSEVENT que especifica el evento del conjunto de eventos sobre el que se va a notificar. Establezca OutBuffer para que apunte a una estructura KSEVENTDATA que describe cómo el objeto KS debe notificar a la aplicación cuándo se produce el evento. Consulte también Eventos de KS.
- Establezca IoControl en IOCTL_KS_DISABLE_EVENT para informar al objeto KS especificado por Handle para dejar de notificar a la aplicación cada vez que se produzca una acción de evento específica. Establezca InBuffer para que apunte a la estructura KSEVENTDATA que se usó anteriormente en la solicitud de notificación de eventos.
Después de la llamada a KsSynchronousDeviceControl, OutBuffer contendrá una matriz de GUID de conjunto admitidos por el objeto especificado por Handle.
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Escritorio |
Encabezado | ksproxy.h (incluya Ksproxy.h) |
Library | Ksproxy.lib |