Compartir a través de


PMRX_IS_LOCK_REALIZABLE función de devolución de llamada (mrx.h)

RDBSS llama a la rutina MRxIsLockRealizable para solicitar que un minidirector de red indique si se admite un bloqueo de intervalo de bytes específico en esta estructura NET_ROOT.

Sintaxis

PMRX_IS_LOCK_REALIZABLE PmrxIsLockRealizable;

NTSTATUS PmrxIsLockRealizable(
  IN OUT PMRX_FCB Fcb,
  IN PLARGE_INTEGER ByteOffset,
  IN PLARGE_INTEGER Length,
  IN ULONG LowIoLockFlags
)
{...}

Parámetros

Fcb

[dentro, fuera] Puntero a la estructura FCB.

ByteOffset

[in] Valor que indica el desplazamiento de bytes para el bloqueo del intervalo de bytes.

Length

[in] Valor que indica la longitud del bloqueo de intervalo de bytes.

LowIoLockFlags

[in] Valor con máscara de bits que indica las marcas de bloqueo de E/S.

Valor devuelto

MRxIsLockRealizable devuelve STATUS_SUCCESS si se ejecuta correctamente o un valor NTSTATUS adecuado, como el siguiente:

Código devuelto Descripción
STATUS_NOT_SUPPORTED No se admite el bloqueo de intervalo de bytes solicitado. Un minidirector de red devolvería este valor para una solicitud de bloqueo que no se admite incluso si se admiten otros tipos de bloqueos de intervalo de bytes. Los bloqueos no admitidos pueden incluir bloqueos de 64 bits (el miembro ByteOffset-HighPart> es distinto de cero), bloqueos de longitud cero (el parámetro Length es cero) o bloqueos compartidos (el LOWIO_LOCKSFLAG_EXCLUSIVELOCK bit del parámetro LowIoLockFlags no está establecido).

Comentarios

MRxIsLockRealizable determina si se admite el bloqueo de intervalo de bytes específico solicitado en esta estructura NET_ROOT. Un minidirector de red podría admitir determinados bloqueos de intervalo de bytes y no admitir otros. Por ejemplo, un minidirector de red solo puede admitir bloqueos de intervalo de bytes de 32 bits o bloqueos exclusivos.

Se llama a MRxIsLockRealizable en respuesta a la recepción de un IRP con la función secundaria IRP_MN_LOCK.

Requisitos

Requisito Value
Plataforma de destino Escritorio
Encabezado mrx.h (incluya Mrx.h)

Consulte también

MRxAreFilesAliased

MRxCleanupFobx

MRxCloseSrvOpen

MRxCollapseOpen

MRxCreate

MRxDeallocateForFcb

MRxDeallocateForFobx

MRxExtendForCache

MRxExtendForNonCache

MRxFlush

MRxForceClosed

MRxShouldTryToCollapseThisOpen

MRxTruncate

MRxZeroExtend