CWinApp::GetProfileBinary
Chamar essa função de membro para recuperar dados binários de uma entrada em uma seção especificada do Registro ou do arquivo .ini do aplicativo.
BOOL GetProfileBinary(
LPCTSTR lpszSection,
LPCTSTR lpszEntry,
LPBYTE* ppData,
UINT* pBytes
);
Parâmetros
lpszSection
Aponta para uma cadeia de caracteres NULL- finalizada que especifica a seção que contém a entrada.lpszEntry
Aponta para uma cadeia de caracteres NULL- finalizada que contém a entrada cujo valor deve ser recuperado.ppData
Aponta para um ponteiro que recebe o endereço de dados.pBytes
Aponta para um UINT que recebe o tamanho de dados (em bytes).
Valor de retorno
Diferente de zero se com êxito; se não 0.
Comentários
Essa função de membro não diferencia maiúsculas de minúsculas, para que as cadeias de caracteres no lpszSection e parâmetros lpszEntry podem diferir o caso de.
Dica
GetProfileBinary atribui um buffer e retorna seu endereço no *ppData.o chamador é responsável para liberar o buffer usando delete [].
Observação de segurança |
---|
Os dados retornados por essa função não são necessariamente encerrado NULO, e o chamador deve executar a validação.Para obter mais informações, consulte Evitando estouros de buffer. |
Exemplo
CWinApp* pApp = AfxGetApp();
const TCHAR* pszKey = _T("My Section");
struct complex {
double re, im;
} myData = { 1.4142, -0.5 };
// Write the information to the registry.
pApp->WriteProfileBinary(pszKey, _T("ComplexData"), (LPBYTE)&myData,
sizeof(myData));
// Read the information from the registry.
complex* pData;
UINT n;
BOOL ret = pApp->GetProfileBinary(pszKey, _T("ComplexData"), (LPBYTE*)&pData,
&n);
ASSERT(ret);
ASSERT(n == sizeof(complex));
ASSERT(myData.re == pData->re);
ASSERT(myData.im == pData->im);
delete [] pData; // free the buffer
Para um exemplo adicional, consulte CWinApp::WriteProfileBinary.
Requisitos
Cabeçalho: afxwin.h