CreateMsgQueue
9/8/2008
Essa função cria ou abre um fila de mensagens User-defined.
Syntax
HANDLE CreateMsgQueue(
LPCWSTR lpszName,
LPMSGQUEUEOPTIONS lpOptions
);
Parameters
For Windows Mobile:
- lpszName [no] Nome da fila de mensagens. Você também pode definir esse parâmetro para NULL ou você não deve definir-nenhuma maior do que: MAXPATH caracteres, incluindo o NULL caractere.
For Windows Embedded CE:
- lpszName [no] Nome da fila de mensagens. Você também pode definir esse parâmetro para NULL ou você não deve definir-nenhuma maior do que: (MAX_PATH - 2) caracteres, incluindo o NULL caractere.
For All Platforms:
- lpOptions
[no] Ponteiro para uma estrutura MSGQUEUEOPTIONS que define as propriedades da fila de mensagens.
Return Value
For All Platforms:
Um identificador READ-ONLY ou Write-only para a fila especificada indica sucesso.
Se um identificador Read-only for retornado, a fila sinais quando dados pôr na fila. O sinal é redefinir na função de ReadMsgQueue. Se um identificador Write-only for retornado, a fila sinaliza quando a fila não é mais completa. Se a fila especificada existe antes de chamar função, um novo identificador é criado que aponta para a mesma fila. A fila já existe se um chamar a função de GetLastError retorna ERROR_ALREADY_EXISTS, mesmo que a função foi bem-sucedida. Se o fila de mensagens não existir antes de chamar, GetLastError Retorna ERROR_SUCCESS.
NULL Indica falha. Para obter informações de erro estendidas, chamar o GetLastError função.
For Windows Embedded CE:
Se CreateMsgQueue é chamado com sinalizadores Other Than MSGQUEUE_NOPRECOMMIT ou MSGQUEUE_ALLOW_BROKEN, o chamar falha e o último erro é definido como ERROR_INVALID_PARAMETER.
Remarks
Na função de OpenMsgQueue, você pode usar o identificador retornado por essa função para obter alças adicionais.
Se você chamar essa função com um nome que já existe, a função usa apenas o dwSize, bReadAccess, e cbMaxMessage Valores a estrutura apontado pelo lpOptions.
Você pode criar uma fila para ler ou acesso de gravação, especificando bReadAccess in a MSGQUEUEOPTIONS estrutura. Você pode chamar esta função duas vezes para obter um identificador Read-only e Write-only. Use a função CloseMsgQueue para fechar um manipulador de objeto retornado por essa função.
Como alternativa, você pode usar a função CloseHandle para fechar um manipulador de objeto retornado por essa função.
Você pode usar as alças retornadas por essa função em chamadas para o WaitForSingleObject ou WaitForMultipleObjects funções. Retornado alças podem indicar um tempo limite ou que o status da fila foi alterado.
Alças gravável fila são sinalizado sempre que a fila não está cheio, e são alças fila legível sinalizado se a fila não estiver vazio. De exemplo, um gravador pode WaitForSingleObject (hQ, infinito) Para saber se uma fila não está cheio e que é seguro para gravação e um leitor pode WaitForSingleObject (hQ, infinito) Nenhuma questão quantas mensagens estão na fila.
Requirements
Header | msgqueue.h |
Library | coredll.lib |
Windows Embedded CE | Windows CE .NET 4.0 and later |
Windows Mobile | Windows Mobile Version 5.0 and later |
See Also
Reference
Message Queue Point-to-Point Functions
CloseMsgQueue
GetMsgQueueInfo
MSGQUEUEINFO
MSGQUEUEOPTIONS
OpenMsgQueue
ReadMsgQueue
ReadMsgQueueEx
WriteMsgQueue