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