Condividi tramite


Metodo ISynchronizeContainer::WaitMultiple (objidl.h)

Attende che qualsiasi oggetto di sincronizzazione nel contenitore venga segnalato o che sia trascorso un periodo di timeout specificato, a qualunque punto venga restituito per primo.

Sintassi

HRESULT WaitMultiple(
  [in]  DWORD        dwFlags,
  [in]  DWORD        dwTimeOut,
  [out] ISynchronize **ppSync
);

Parametri

[in] dwFlags

Opzioni di attesa. I valori possibili vengono ricavati dall'enumerazione COWAIT_FLAGS . COWAIT_WAITALL non è un'impostazione valida per questo metodo.

[in] dwTimeOut

Il tempo di attesa della chiamata prima della restituzione, espresso in millisecondi. Se questo parametro è INFINITE, il chiamante attenderà finché non viene segnalato un oggetto di sincronizzazione, indipendentemente dal tempo necessario. Se questo parametro è 0, il metodo restituisce immediatamente.

[out] ppSync

Puntatore a un puntatore dell'interfaccia ISynchronize sull'oggetto di sincronizzazione segnalato. Questo parametro non può essere NULL.

Valore restituito

Questo metodo può restituire i valori restituiti standard E_INVALIDARG, E_OUTOFMEMORY e E_FAIL, nonché i valori seguenti.

Codice restituito Descrizione
S_OK
L'oggetto di sincronizzazione è stato segnalato.
RPC_E_TIMEOUT
Periodo di timeout trascorso prima che l'oggetto di sincronizzazione sia stato segnalato.
RPC_E_NO_SYNC
Nel contenitore non sono presenti oggetti di sincronizzazione.

Commenti

Se il chiamante è in attesa in un apartment a thread singolo, WaitMultiple entra nel ciclo modale COM. Se il chiamante è in attesa in un apartment multithread, il chiamante viene bloccato fino a quando WaitMultiple non restituisce.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione objidl.h (include ObjIdl.h)

Vedi anche

CoWaitForMultipleHandles

ISynchronizeContainer