CWinApp::GetProfileBinary
Llame a esta función miembro para recuperar datos binarios de una entrada dentro de una sección especificada del registro de la aplicación o el archivo de .INI.
BOOL GetProfileBinary(
LPCTSTR lpszSection,
LPCTSTR lpszEntry,
LPBYTE* ppData,
UINT* pBytes
);
Parámetros
lpszSection
Señala una cadena terminada en null que especifica la sección que contiene la entrada.lpszEntry
Señala una cadena terminada en null que contiene la entrada cuyo valor se va a recuperar.ppData
Señala un puntero que recibirá la dirección de los datos.pBytes
Señala un UINT que recibirá el tamaño de los datos (en bytes).
Valor devuelto
Distinto de cero si correctamente; si no 0.
Comentarios
Esta función miembro no distingue entre mayúsculas y minúsculas, por lo que las cadenas en el lpszSection y los parámetros lpszEntry pueden diferir en caso de que.
[!NOTA]
GetProfileBinary asigna un búfer y devuelve su dirección en *ppData.El llamador es responsable de liberar el búfer mediante delete [].
Nota sobre la seguridad |
---|
Los datos devueltos por esta función no es necesariamente NULL finalizado, y el llamador debe realizar la validación.Para obtener más información, vea Para evitar las saturaciones del búfer. |
Ejemplo
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 obtener un ejemplo, vea CWinApp:: WriteProfileBinary.
Requisitos
encabezado: afxwin.h