Compartir a través de


Función IoSetShareAccess (wdm.h)

La rutina IoSetShareAccess establece los derechos de acceso para compartir el objeto de archivo especificado.

Sintaxis

void IoSetShareAccess(
  [in]      ACCESS_MASK   DesiredAccess,
  [in]      ULONG         DesiredShareAccess,
  [in, out] PFILE_OBJECT  FileObject,
  [out]     PSHARE_ACCESS ShareAccess
);

Parámetros

[in] DesiredAccess

Especifica un valor de ACCESS_MASK que representa el tipo de acceso solicitado para el FileObject. Consulte IoCreateFile para obtener una lista completa de las marcas de DesiredAccess definidas por el sistema.

[in] DesiredShareAccess

Especifica el tipo de acceso al recurso compartido que se va a establecer para el objeto de archivo. Este valor puede ser cero o cualquier combinación de lo siguiente:

FILE_SHARE_READ

FILE_SHARE_WRITE

FILE_SHARE_DELETE

[in, out] FileObject

Puntero al objeto de archivo cuyo acceso al recurso compartido se establece o restablece.

[out] ShareAccess

Puntero a la estructura de SHARE_ACCESS asociada a FileObject. Los controladores deben tratar esta estructura como opaca.

Valor devuelto

Ninguno

Observaciones

Solo los controladores de modo kernel de nivel superior deben llamar a esta rutina. La llamada debe producirse en el contexto del primer subproceso que intenta abrir la FileObject.

Esta rutina establece la información de acceso y compartir acceso cuando se abre por primera vez el FileObject. Devuelve un puntero a la estructura de datos de acceso compartido común asociada a FileObject. Los autores de llamadas deben guardar este puntero para usarlo más adelante al actualizar el acceso o cerrar el archivo.

Por lo general, es más probable que los controladores del sistema de archivos (FSD) llamen a esta rutina. Sin embargo, otros controladores de nivel superior pueden llamar a IoSetShareAccess para controlar el tipo de acceso permitido a un objeto de dispositivo creado por el controlador asociado al FileObject especificado.

IoSetShareAccess 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 IoSetShareAccess por medio de algún tipo de bloqueo, como una exclusión mutua o un bloqueo de recursos, con el fin de evitar daños en los recuentos de acceso compartido.

Requisitos

Requisito Valor
cliente mínimo admitido Disponible a partir de Windows 2000.
de la plataforma de destino de Universal
encabezado de wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
biblioteca de NtosKrnl.lib
DLL de NtosKrnl.exe
irQL PASSIVE_LEVEL
reglas de cumplimiento de DDI HwStorPortProhibitedDIs(storport), IrqlIoPassive5(wdm)

Consulte también

ACCESS_MASK

IoCheckShareAccess

IoCreateFile

IoCreateFileEx

ioGetFileObjectGenericMapping

IoGetRelatedDeviceObject

IoRemoveShareAccess

ioUpdateShareAccess