Share via


CreateMsgQueue

Windows Mobile SupportedWindows Embedded CE Supported

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

Other Resources

Modified Kernel APIs
Message Queue Point-to-Point