Función IoRemoveShareAccess (wdm.h)
La rutina IoRemoveShareAccess quita la información de acceso y acceso compartido de una instancia abierta determinada de un objeto de archivo.
Sintaxis
void IoRemoveShareAccess(
[in] PFILE_OBJECT FileObject,
[in, out] PSHARE_ACCESS ShareAccess
);
Parámetros
[in] FileObject
Puntero al objeto de archivo, que normalmente está cerrado por el subproceso actual.
[in, out] ShareAccess
Puntero a la estructura de acceso a recursos compartidos que describe cómo se accede actualmente al objeto de archivo abierto.
Valor devuelto
None
Observaciones
Esta rutina es recíproca a IoUpdateShareAccess.
IoRemoveShareAccess no es una operación atómica. Por lo tanto, los controladores que llaman a esta rutina deben proteger el objeto de archivo compartido pasado a IoRemoveShareAccess mediante algún tipo de bloqueo, como una exclusión mutua o un bloqueo de recursos, para evitar daños en los recuentos de acceso compartido.
Los autores de llamadas de IoRemoveShareAccess deben ejecutarse en IRQL = PASSIVE_LEVEL y en el contexto del subproceso que solicitó que se cierre fileObject .
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Disponible a partir de Windows 2000. |
Plataforma de destino | Universal |
Encabezado | wdm.h (incluya Wdm.h, Ntddk.h, Ntifs.h) |
Library | NtosKrnl.lib |
Archivo DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL (consulte la sección Comentarios) |
Reglas de cumplimiento de DDI | HwStorPortProhibitedDDIs(storport), IrqlIoPassive5(wdm), PowerIrpDDis(wdm) |