Función SafeArrayLock (oleauto.h)
Incrementa el recuento de bloqueos de una matriz y coloca un puntero a los datos de la matriz en pvData del descriptor de matriz.
Sintaxis
HRESULT SafeArrayLock(
[in] SAFEARRAY *psa
);
Parámetros
[in] psa
Descriptor de matriz creado por SafeArrayCreate.
Valor devuelto
Esta función puede devolver uno de estos valores.
Código devuelto | Descripción |
---|---|
|
Correcto. |
|
El argumento psa no es válido. |
|
No se pudo bloquear la matriz. |
Comentarios
El puntero del descriptor de matriz es válido hasta que se llama a la función SafeArrayUnlock . Las llamadas a SafeArrayLock se pueden anidar, en cuyo caso se requiere un número igual de llamadas a SafeArrayUnlock .
No se puede eliminar una matriz mientras está bloqueada.
Seguridad para subprocesos
Todos los miembros estáticos públicos (compartidos en Visual Basic) del tipo de datos SAFEARRAY son seguros para subprocesos. No se garantiza que los miembros de instancia sean seguros para subprocesos.
Por ejemplo, considere una aplicación que usa las funciones SafeArrayLock y SafeArrayUnlock . Si estas funciones se llaman simultáneamente desde subprocesos diferentes en la misma instancia de tipo de datos SAFEARRAY , se puede crear un recuento de bloqueos incoherente. Esto hará que la función SafeArrayUnlock devuelva E_UNEXPECTED. Puede evitarlo proporcionando su propio código de sincronización.
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Windows |
Encabezado | oleauto.h |
Library | OleAut32.lib |
Archivo DLL | OleAut32.dll |
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de