CWinApp::GetProfileBinary
Appelez la fonction membre pour récupérer des données binaires d'une entrée dans une section spécifiée dans le Registre ou le fichier .ini de l'application.
BOOL GetProfileBinary(
LPCTSTR lpszSection,
LPCTSTR lpszEntry,
LPBYTE* ppData,
UINT* pBytes
);
Paramètres
lpszSection
Pointe vers une chaîne terminée par le caractère NULL qui spécifie la section contenant l'entrée.lpszEntry
Pointe vers une chaîne terminée par le caractère NULL qui contient les entrées dont la valeur doit être récupérée.ppData
Pointe vers un pointeur qui recevra l'adresse des données.pBytes
Indique un UINT qui reçoit la taille des données (en octets).
Valeur de retour
Une valeur différente de zéro si l'opération a réussi ; sinon 0.
Notes
Cette fonction membre ne respecte pas la casse qui respecte la casse, les chaînes dans le lpszSection et les paramètres lpszEntry peuvent différer de casse.
Notes
GetProfileBinary alloue une mémoire tampon et retourne son adresse dans le *ppData.L'appelant est chargé de libérer la mémoire tampon à delete [].
Note de sécurité |
---|
Les données retournées par cette fonction ne sont pas nécessairement fin NULL, et l'appelant doit effectuer la validation.Pour plus d'informations, consultez Solutions contre les dépassements de mémoire tampon. |
Exemple
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
Pour obtenir un exemple supplémentaire, consultez CWinApp::WriteProfileBinary.
Configuration requise
Header: afxwin.h