Función KsGateGetStateUnsafe (ks.h)
La función KsGateGetStateUnsafe devuelve el estado de la puerta especificada (abierta o cerrada) de forma no segura, sin tener en cuenta la sincronización.
Sintaxis
BOOLEAN KsGateGetStateUnsafe(
[in] PKSGATE Gate
);
Parámetros
[in] Gate
Puntero a una estructura KSGATE que representa la puerta para la que se va a devolver el estado.
Valor devuelto
Esta llamada devuelve TRUE si la puerta está abierta y FALSE si la puerta está cerrada.
Comentarios
Dado que KsGateGetStateUnsafe no controla la sincronización, es posible obtener un resultado que no sea coherente con el estado de la puerta si la puerta está en transición intermedia de un estado a otro en el momento de la llamada.
Considere una situación en la que la salida de la puerta A está conectada como entrada a la puerta B. Una transición a cerrada, lo que hace que B pase de abierto a cerrado. Si, al mismo tiempo, otro subproceso llama a KsGateGetStateUnsafe entre el momento en que se cierra A y la hora en que se cierra B, la rutina sigue devuelve que B estaba abierto.
KsGateGetStateUnsafe devuelve si El recuento de puertas> es mayor que cero. La función no usa ninguna función interbloqueada para hacerlo. Por lo tanto, la llamada se realiza sin tener en cuenta la sincronización.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Disponible en Microsoft Windows XP y sistemas operativos posteriores y DirectX 8.0 y versiones posteriores de DirectX. |
Plataforma de destino | Escritorio |
Encabezado | ks.h (incluya Ks.h) |
IRQL | Cualquier nivel |