CSemaphore::CSemaphore
Construye un objeto denominado o sin nombre de CSemaphore .
CSemaphore(
LONG lInitialCount = 1,
LONG lMaxCount = 1,
LPCTSTR pstrName = NULL,
LPSECURITY_ATTRIBUTES lpsaAttributes = NULL
);
Parámetros
lInitialCount
El número inicial del semáforo. Debe ser mayor o igual que 0, y menor que o igual que a lMaxCount.lMaxCount
El número máximo de uso para el semáforo. Debe ser mayor que 0.pstrName
El nombre del semáforo. Debe proporcionarse si el semáforo se logra a través de límites de procesos. Si NULL, el objeto es sin nombre. Si el nombre un semáforo existente, el constructor compila un nuevo objeto de CSemaphore que haga referencia el semáforo con ese nombre. Si el nombre de un objeto de sincronización existente que no es un semáforo, la construcción no.lpsaAttributes
Atributos de seguridad del objeto semaphore. Para obtener una descripción completa de esta estructura, vea SECURITY_ATTRIBUTES en Windows SDK.
Comentarios
Para obtener acceso o liberar un objeto de CSemaphore , crear un objeto de CMultiLock o de CSingleLock y llamar al bloqueo y miembro de Unlock funciona.
Nota sobre la seguridad |
---|
Después de crear el objeto de CSemaphore , utilice GetLastError de asegurarse que no existían mutex ya.Si existían mutex inesperado, pueden indicar que elimine las plantas débiles el proceso se coloca en cuclillas y puede utilizar diseñado mutex malintencionados.En este caso, el procedimiento seguridad-consciente recomendado es cerrar el identificador y continuar como si hay un error en la creación del objeto. |
Requisitos
encabezado: afxmt.h