Seguridad para subprocesos

Todas las funciones de esta API son seguras para llamar simultáneamente desde diferentes subprocesos. Sin embargo, cada objeto pasado como parámetro a las funciones tiene un comportamiento de subproceso específico, como se describe a continuación.

Los siguientes identificadores son un solo subproceso y no admiten operaciones simultáneas para una instancia determinada:

Los identificadores siguientes son subprocesos libres y admiten operaciones simultáneas para una instancia determinada:

Para todos estos identificadores, el subproceso se define en términos de operaciones (no llamadas a funciones). Una operación se define de forma diferente para las funciones invocadas de forma sincrónica frente a las funciones invocadas de forma asincrónica:

  • En el caso de las funciones invocadas de forma sincrónica, la operación está pendiente durante la ejecución de la función.
  • En el caso de las funciones invocadas de forma asincrónica, si la función devuelve un código de retorno distinto de WS_S_ASYNC la operación está pendiente durante la ejecución de la función. Sin embargo, si la función devuelve WS_S_ASYNC , la operación está pendiente hasta que se invoca el WS_ASYNC_CALLBACK . Para obtener más información sobre la invocación de funciones de forma asincrónica, consulte el tema Modelo asincrónico . Para obtener códigos de error, consulte Valores devueltos de servicios web de Windows.

Si no se sigue el contrato de subprocesos de un objeto, se producirá un comportamiento indefinido.