Compartilhar via


SndGetSoundDirectoriesList

Windows Mobile SupportedWindows Embedded CE Not Supported

9/9/2008

Essa função retorna uma matriz dos diretórios possíveis para som arquivos para o som especificado evento tipo e memória localidade.

Syntax

HRESULT SndGetSoundDirectoriesList(
   SND_EVENT seSoundEvent,
   DWORD grfLocations, 
   SNDDIRECTORYINFO** ppSoundDirectories,
   int* pcSoundDirectories
);

Parameters

  • seSoundEvent
    [no] Indica o tipo de som evento a consulta para.
  • grfLocations
    [no] Indica locais na memória que são procurados som diretórios. A seguinte tabela mostra os valores máscara de bits para esse parâmetro, com uma descrição da finalidade de cada.

    Máscara de bits Descrição

    SND_LOCATION_STORAGECARD

    Recuperar som arquivos ou diretórios de cartão de armazenamento.

    SND_LOCATION_USERDATA

    Recuperar som arquivos de dados usuário pastas como \Meus documentos e \Application Data\Sounds Ou \Storage de dados do aplicativo.

    SND_LOCATION_ROM

    Recuperar arquivos som do ROM.

    SND_LOCATION_ALL

    Recupera som arquivos a partir de todos os locais - cartão armazenamento, usuário dados pastas e ROM.

  • ppSoundDirectories
    [out] Um ponteiro para uma matriz de som diretórios. Essa função criará a matriz de SNDDIRECTORYINFO Estruturas e alocar o apropriado quantidade de memória.
  • pcSoundDirectories
    [out] Um ponteiro para um inteiro que indica o número de SNDDIRECTORYINFO Estruturas criado e retornado na ppSoundDirectories.

Return Value

A função pode retornar qualquer HRESULT e o aplicativo devem usar as macros teve êxito e falha para verificar os resultados.

Remarks

Essa função permite que um aplicativo para diretórios consulta onde som arquivos devem ser copiados para qualquer um do som eventos listados na SND_EVENT enumeração. O caminho totalmente qualificado para o Diretório é retornado. Essa função aloca memória para todos SNDDIRECTORYINFO Estruturas como contíguo um bloco. O usuário é responsável por liberando memória todos retornada por essa função por chamado LocalFree função no ponteiro retornado.

Exemplo de código

O seguinte exemplo de código demonstra como usar SndGetSoundDirectoriesList.

Observação

Para fazer o seguinte exemplo de código mais fácil de ler, verificação de segurança e manipulação de erro não estão incluídos.Esta exemplo de código não deve ser usado em uma configuração versão a menos que ele foi modificado para incluí-las.

void CopyAndSetRingtone(TCHAR* pszCurrentDirectory, TCHAR* pszFileName)
{
    TCHAR szPathAndFile[MAX_PATH];
    TCHAR szDestination[MAX_PATH];
    // Initialize an empty SNDFILEINFO structure.
    SNDFILEINFO sndFile               = {0};
    SNDDIRECTORYINFO* pSndDirectories = NULL;
    int cSoundDirectories             = 0;
    // Build the path to the file.
    StringCchPrintf(szPathAndFile, MAX_PATH, _T("%s\\%s"), pszCurrentDirectory, pszFileName);
    // Get the list of User Data directories.
    SndGetSoundDirectoriesList(SND_EVENT_RINGTONELINE1, SND_LOCATION_USERDATA, &pSndDirectories, &cSoundDirectories);
    // Set the destination to the first User Data directory.
    StringCchPrintf(szDestination, MAX_PATH, _T("%s\\%s"), pSndDirectories->szPathName, pszFileName);
    CopyFile(szPathAndFile, szDestination, FALSE);
    // Setup values in the SNDFILEINFO structure.
 only need to set sndFile.szPathName, not sndFile.szDisplayName.
    sndFile.sstType = SND_SOUNDTYPE_FILE;
    StringCchCopy(sndFile.szPathName, MAX_PATH, szDestination);
    // Set the ringtone.
    SndSetSound(SND_EVENT_RINGTONELINE1, &sndFile, TRUE);
    // Free memory.
    LocalFree(pSndDirectories);
    return;
}

Requirements

Header soundfile.h
Windows Embedded CE Windows CE 5.0 and later
Windows Mobile Pocket PC for Windows Mobile Version 5.0 and later, Smartphone for Windows Mobile Version 5.0 and later

See Also

Concepts

Referência sons