Assert traps added to force code proofing on first actual use-case

This commit is contained in:
Simon Rozman 2016-05-17 08:54:49 +02:00
parent 812b746ef3
commit 94abcb185a
7 changed files with 70 additions and 0 deletions

View File

@ -89,6 +89,8 @@ inline int vsnprintf(_Out_z_cap_(capacity) wchar_t *str, _In_ size_t capacity, _
template<class _Elem, class _Traits, class _Ax> template<class _Elem, class _Traits, class _Ax>
inline int vsprintf(_Out_ std::basic_string<_Elem, _Traits, _Ax> &str, _In_z_ _Printf_format_string_ const _Elem *format, _In_ va_list arg) inline int vsprintf(_Out_ std::basic_string<_Elem, _Traits, _Ax> &str, _In_z_ _Printf_format_string_ const _Elem *format, _In_ va_list arg)
{ {
assert(0); // TODO: Test this code.
_Elem buf[WINSTD_STACK_BUFFER_BYTES/sizeof(_Elem)]; _Elem buf[WINSTD_STACK_BUFFER_BYTES/sizeof(_Elem)];
// Try with stack buffer first. // Try with stack buffer first.

View File

@ -41,6 +41,8 @@
/// ///
inline DWORD CertGetNameStringA(_In_ PCCERT_CONTEXT pCertContext, _In_ DWORD dwType, _In_ DWORD dwFlags, _In_ void *pvTypePara, _Out_ std::string &sNameString) inline DWORD CertGetNameStringA(_In_ PCCERT_CONTEXT pCertContext, _In_ DWORD dwType, _In_ DWORD dwFlags, _In_ void *pvTypePara, _Out_ std::string &sNameString)
{ {
assert(0); // TODO: Test this code.
// Query the final string length first. // Query the final string length first.
DWORD dwSize = ::CertGetNameStringA(pCertContext, dwType, dwFlags, pvTypePara, NULL, 0); DWORD dwSize = ::CertGetNameStringA(pCertContext, dwType, dwFlags, pvTypePara, NULL, 0);
@ -59,6 +61,8 @@ inline DWORD CertGetNameStringA(_In_ PCCERT_CONTEXT pCertContext, _In_ DWORD dwT
/// ///
inline DWORD CertGetNameStringW(_In_ PCCERT_CONTEXT pCertContext, _In_ DWORD dwType, _In_ DWORD dwFlags, _In_ void *pvTypePara, _Out_ std::wstring &sNameString) inline DWORD CertGetNameStringW(_In_ PCCERT_CONTEXT pCertContext, _In_ DWORD dwType, _In_ DWORD dwFlags, _In_ void *pvTypePara, _Out_ std::wstring &sNameString)
{ {
assert(0); // TODO: Test this code.
// Query the final string length first. // Query the final string length first.
DWORD dwSize = ::CertGetNameStringW(pCertContext, dwType, dwFlags, pvTypePara, NULL, 0); DWORD dwSize = ::CertGetNameStringW(pCertContext, dwType, dwFlags, pvTypePara, NULL, 0);
@ -77,6 +81,8 @@ inline DWORD CertGetNameStringW(_In_ PCCERT_CONTEXT pCertContext, _In_ DWORD dwT
/// ///
inline BOOL CryptGetHashParam(_In_ HCRYPTHASH hHash, _In_ DWORD dwParam, _Out_ std::vector<unsigned char> &aData, _In_ DWORD dwFlags) inline BOOL CryptGetHashParam(_In_ HCRYPTHASH hHash, _In_ DWORD dwParam, _Out_ std::vector<unsigned char> &aData, _In_ DWORD dwFlags)
{ {
assert(0); // TODO: Test this code.
DWORD dwHashSize; DWORD dwHashSize;
if (CryptGetHashParam(hHash, dwParam, NULL, &dwHashSize, dwFlags)) { if (CryptGetHashParam(hHash, dwParam, NULL, &dwHashSize, dwFlags)) {
@ -97,6 +103,8 @@ inline BOOL CryptGetHashParam(_In_ HCRYPTHASH hHash, _In_ DWORD dwParam, _Out_
/// ///
inline BOOL CryptExportKey(_In_ HCRYPTKEY hKey, _In_ HCRYPTKEY hExpKey, _In_ DWORD dwBlobType, _In_ DWORD dwFlags, _Out_ std::vector<unsigned char> &aData) inline BOOL CryptExportKey(_In_ HCRYPTKEY hKey, _In_ HCRYPTKEY hExpKey, _In_ DWORD dwBlobType, _In_ DWORD dwFlags, _Out_ std::vector<unsigned char> &aData)
{ {
assert(0); // TODO: Test this code.
DWORD dwKeyBLOBSize; DWORD dwKeyBLOBSize;
if (CryptExportKey(hKey, hExpKey, dwBlobType, dwFlags, NULL, &dwKeyBLOBSize)) { if (CryptExportKey(hKey, hExpKey, dwBlobType, dwFlags, NULL, &dwKeyBLOBSize)) {

View File

@ -41,6 +41,8 @@
/// ///
inline UINT MsiGetPropertyA(_In_ MSIHANDLE hInstall, _In_ LPCSTR szName, _Out_ std::string &sValue) inline UINT MsiGetPropertyA(_In_ MSIHANDLE hInstall, _In_ LPCSTR szName, _Out_ std::string &sValue)
{ {
assert(0); // TODO: Test this code.
CHAR szStackBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(CHAR)]; CHAR szStackBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(CHAR)];
DWORD dwSize = _countof(szStackBuffer); DWORD dwSize = _countof(szStackBuffer);
UINT uiResult; UINT uiResult;
@ -71,6 +73,8 @@ inline UINT MsiGetPropertyA(_In_ MSIHANDLE hInstall, _In_ LPCSTR szName, _Out_ s
/// ///
inline UINT MsiGetPropertyW(_In_ MSIHANDLE hInstall, _In_ LPCWSTR szName, _Out_ std::wstring &sValue) inline UINT MsiGetPropertyW(_In_ MSIHANDLE hInstall, _In_ LPCWSTR szName, _Out_ std::wstring &sValue)
{ {
assert(0); // TODO: Test this code.
WCHAR szStackBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(WCHAR)]; WCHAR szStackBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(WCHAR)];
DWORD dwSize = _countof(szStackBuffer); DWORD dwSize = _countof(szStackBuffer);
UINT uiResult; UINT uiResult;
@ -101,6 +105,8 @@ inline UINT MsiGetPropertyW(_In_ MSIHANDLE hInstall, _In_ LPCWSTR szName, _Out_
/// ///
inline UINT MsiRecordGetStringA(_In_ MSIHANDLE hRecord, _In_ unsigned int iField, _Out_ std::string &sValue) inline UINT MsiRecordGetStringA(_In_ MSIHANDLE hRecord, _In_ unsigned int iField, _Out_ std::string &sValue)
{ {
assert(0); // TODO: Test this code.
CHAR szStackBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(CHAR)]; CHAR szStackBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(CHAR)];
DWORD dwSize = _countof(szStackBuffer); DWORD dwSize = _countof(szStackBuffer);
UINT uiResult; UINT uiResult;
@ -131,6 +137,8 @@ inline UINT MsiRecordGetStringA(_In_ MSIHANDLE hRecord, _In_ unsigned int iField
/// ///
inline UINT MsiRecordGetStringW(_In_ MSIHANDLE hRecord, _In_ unsigned int iField, _Out_ std::wstring &sValue) inline UINT MsiRecordGetStringW(_In_ MSIHANDLE hRecord, _In_ unsigned int iField, _Out_ std::wstring &sValue)
{ {
assert(0); // TODO: Test this code.
WCHAR szStackBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(WCHAR)]; WCHAR szStackBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(WCHAR)];
DWORD dwSize = _countof(szStackBuffer); DWORD dwSize = _countof(szStackBuffer);
UINT uiResult; UINT uiResult;
@ -161,6 +169,8 @@ inline UINT MsiRecordGetStringW(_In_ MSIHANDLE hRecord, _In_ unsigned int iField
/// ///
inline UINT MsiFormatRecordA(MSIHANDLE hInstall, MSIHANDLE hRecord, std::string &sValue) inline UINT MsiFormatRecordA(MSIHANDLE hInstall, MSIHANDLE hRecord, std::string &sValue)
{ {
assert(0); // TODO: Test this code.
CHAR szStackBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(CHAR)]; CHAR szStackBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(CHAR)];
DWORD dwSize = _countof(szStackBuffer); DWORD dwSize = _countof(szStackBuffer);
UINT uiResult; UINT uiResult;
@ -191,6 +201,8 @@ inline UINT MsiFormatRecordA(MSIHANDLE hInstall, MSIHANDLE hRecord, std::string
/// ///
inline UINT MsiFormatRecordW(MSIHANDLE hInstall, MSIHANDLE hRecord, std::wstring &sValue) inline UINT MsiFormatRecordW(MSIHANDLE hInstall, MSIHANDLE hRecord, std::wstring &sValue)
{ {
assert(0); // TODO: Test this code.
WCHAR szStackBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(WCHAR)]; WCHAR szStackBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(WCHAR)];
DWORD dwSize = _countof(szStackBuffer); DWORD dwSize = _countof(szStackBuffer);
UINT uiResult; UINT uiResult;
@ -221,6 +233,8 @@ inline UINT MsiFormatRecordW(MSIHANDLE hInstall, MSIHANDLE hRecord, std::wstring
/// ///
inline UINT MsiRecordReadStream(_In_ MSIHANDLE hRecord, _In_ unsigned int iField, _Out_ std::vector<unsigned char> &binData) inline UINT MsiRecordReadStream(_In_ MSIHANDLE hRecord, _In_ unsigned int iField, _Out_ std::vector<unsigned char> &binData)
{ {
assert(0); // TODO: Test this code.
DWORD dwSize = 0; DWORD dwSize = 0;
UINT uiResult; UINT uiResult;
@ -243,6 +257,8 @@ inline UINT MsiRecordReadStream(_In_ MSIHANDLE hRecord, _In_ unsigned int iField
/// ///
inline UINT MsiGetTargetPathA(_In_ MSIHANDLE hInstall, _In_ LPCSTR szFolder, _Out_ std::string &sValue) inline UINT MsiGetTargetPathA(_In_ MSIHANDLE hInstall, _In_ LPCSTR szFolder, _Out_ std::string &sValue)
{ {
assert(0); // TODO: Test this code.
CHAR szStackBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(CHAR)]; CHAR szStackBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(CHAR)];
DWORD dwSize = _countof(szStackBuffer); DWORD dwSize = _countof(szStackBuffer);
UINT uiResult; UINT uiResult;
@ -273,6 +289,8 @@ inline UINT MsiGetTargetPathA(_In_ MSIHANDLE hInstall, _In_ LPCSTR szFolder, _Ou
/// ///
inline UINT MsiGetTargetPathW(_In_ MSIHANDLE hInstall, _In_ LPCWSTR szFolder, _Out_ std::wstring &sValue) inline UINT MsiGetTargetPathW(_In_ MSIHANDLE hInstall, _In_ LPCWSTR szFolder, _Out_ std::wstring &sValue)
{ {
assert(0); // TODO: Test this code.
WCHAR szStackBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(WCHAR)]; WCHAR szStackBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(WCHAR)];
DWORD dwSize = _countof(szStackBuffer); DWORD dwSize = _countof(szStackBuffer);
UINT uiResult; UINT uiResult;

View File

@ -38,6 +38,8 @@
/// ///
BOOLEAN GetUserNameExA(_In_ EXTENDED_NAME_FORMAT NameFormat, _Out_ std::string &sName) BOOLEAN GetUserNameExA(_In_ EXTENDED_NAME_FORMAT NameFormat, _Out_ std::string &sName)
{ {
assert(0); // TODO: Test this code.
CHAR szStackBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(CHAR)]; CHAR szStackBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(CHAR)];
ULONG ulSize = _countof(szStackBuffer); ULONG ulSize = _countof(szStackBuffer);
@ -69,6 +71,8 @@ BOOLEAN GetUserNameExA(_In_ EXTENDED_NAME_FORMAT NameFormat, _Out_ std::string &
/// ///
BOOLEAN GetUserNameExW(_In_ EXTENDED_NAME_FORMAT NameFormat, _Out_ std::wstring &sName) BOOLEAN GetUserNameExW(_In_ EXTENDED_NAME_FORMAT NameFormat, _Out_ std::wstring &sName)
{ {
assert(0); // TODO: Test this code.
WCHAR szStackBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(WCHAR)]; WCHAR szStackBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(WCHAR)];
ULONG ulSize = _countof(szStackBuffer); ULONG ulSize = _countof(szStackBuffer);

View File

@ -36,6 +36,8 @@
/// ///
inline BOOL PathCanonicalizeA(__out std::string &sValue, __in LPCSTR pszPath) inline BOOL PathCanonicalizeA(__out std::string &sValue, __in LPCSTR pszPath)
{ {
assert(0); // TODO: Test this code.
// Allocate buffer on heap and read into it. // Allocate buffer on heap and read into it.
CHAR szBuffer[MAX_PATH + 1]; CHAR szBuffer[MAX_PATH + 1];
BOOL bResult = ::PathCanonicalizeA(szBuffer, pszPath); BOOL bResult = ::PathCanonicalizeA(szBuffer, pszPath);
@ -51,6 +53,8 @@ inline BOOL PathCanonicalizeA(__out std::string &sValue, __in LPCSTR pszPath)
/// ///
inline BOOL PathCanonicalizeW(__out std::wstring &sValue, __in LPCWSTR pszPath) inline BOOL PathCanonicalizeW(__out std::wstring &sValue, __in LPCWSTR pszPath)
{ {
assert(0); // TODO: Test this code.
WCHAR szBuffer[MAX_PATH + 1]; WCHAR szBuffer[MAX_PATH + 1];
BOOL bResult = ::PathCanonicalizeW(szBuffer, pszPath); BOOL bResult = ::PathCanonicalizeW(szBuffer, pszPath);
sValue.assign(szBuffer, bResult ? MAX_PATH : 0); sValue.assign(szBuffer, bResult ? MAX_PATH : 0);

View File

@ -46,6 +46,8 @@ extern DWORD (WINAPI *pfnWlanReasonCodeToString)(__in DWORD dwReasonCode, __in D
/// ///
inline DWORD WlanReasonCodeToString(_In_ DWORD dwReasonCode, _Out_ std::wstring &sValue, __reserved PVOID pReserved) inline DWORD WlanReasonCodeToString(_In_ DWORD dwReasonCode, _Out_ std::wstring &sValue, __reserved PVOID pReserved)
{ {
assert(0); // TODO: Test this code.
DWORD dwSize = 0; DWORD dwSize = 0;
if (!::pfnWlanReasonCodeToString) if (!::pfnWlanReasonCodeToString)

View File

@ -41,6 +41,8 @@
/// ///
inline DWORD GetModuleFileNameA(_In_opt_ HMODULE hModule, _Out_ std::string &sValue) inline DWORD GetModuleFileNameA(_In_opt_ HMODULE hModule, _Out_ std::string &sValue)
{ {
assert(0); // TODO: Test this code.
CHAR szBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(CHAR)]; CHAR szBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(CHAR)];
// Try with stack buffer first. // Try with stack buffer first.
@ -70,6 +72,8 @@ inline DWORD GetModuleFileNameA(_In_opt_ HMODULE hModule, _Out_ std::string &sVa
/// ///
inline DWORD GetModuleFileNameW(_In_opt_ HMODULE hModule, _Out_ std::wstring &sValue) inline DWORD GetModuleFileNameW(_In_opt_ HMODULE hModule, _Out_ std::wstring &sValue)
{ {
assert(0); // TODO: Test this code.
WCHAR szBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(WCHAR)]; WCHAR szBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(WCHAR)];
// Try with stack buffer first. // Try with stack buffer first.
@ -99,6 +103,8 @@ inline DWORD GetModuleFileNameW(_In_opt_ HMODULE hModule, _Out_ std::wstring &sV
/// ///
inline int GetWindowTextA(_In_ HWND hWnd, _Out_ std::string &sValue) inline int GetWindowTextA(_In_ HWND hWnd, _Out_ std::string &sValue)
{ {
assert(0); // TODO: Test this code.
int iResult; int iResult;
// Query the final string length first. // Query the final string length first.
@ -130,6 +136,8 @@ inline int GetWindowTextA(_In_ HWND hWnd, _Out_ std::string &sValue)
/// ///
inline int GetWindowTextW(_In_ HWND hWnd, _Out_ std::wstring &sValue) inline int GetWindowTextW(_In_ HWND hWnd, _Out_ std::wstring &sValue)
{ {
assert(0); // TODO: Test this code.
int iResult; int iResult;
// Query the final string length first. // Query the final string length first.
@ -161,6 +169,8 @@ inline int GetWindowTextW(_In_ HWND hWnd, _Out_ std::wstring &sValue)
/// ///
inline BOOL GetFileVersionInfoA(_In_ LPCSTR lptstrFilename, __reserved DWORD dwHandle, _Out_ std::vector<unsigned char> &aValue) inline BOOL GetFileVersionInfoA(_In_ LPCSTR lptstrFilename, __reserved DWORD dwHandle, _Out_ std::vector<unsigned char> &aValue)
{ {
assert(0); // TODO: Test this code.
// Get version info size. // Get version info size.
DWORD dwVerInfoSize = ::GetFileVersionInfoSizeA(lptstrFilename, &dwHandle); DWORD dwVerInfoSize = ::GetFileVersionInfoSizeA(lptstrFilename, &dwHandle);
if (dwVerInfoSize != 0) { if (dwVerInfoSize != 0) {
@ -179,6 +189,8 @@ inline BOOL GetFileVersionInfoA(_In_ LPCSTR lptstrFilename, __reserved DWORD dwH
/// ///
inline BOOL GetFileVersionInfoW(_In_ LPCWSTR lptstrFilename, __reserved DWORD dwHandle, _Out_ std::vector<unsigned char> &aValue) inline BOOL GetFileVersionInfoW(_In_ LPCWSTR lptstrFilename, __reserved DWORD dwHandle, _Out_ std::vector<unsigned char> &aValue)
{ {
assert(0); // TODO: Test this code.
// Get version info size. // Get version info size.
DWORD dwVerInfoSize = ::GetFileVersionInfoSizeW(lptstrFilename, &dwHandle); DWORD dwVerInfoSize = ::GetFileVersionInfoSizeW(lptstrFilename, &dwHandle);
if (dwVerInfoSize != 0) { if (dwVerInfoSize != 0) {
@ -197,6 +209,8 @@ inline BOOL GetFileVersionInfoW(_In_ LPCWSTR lptstrFilename, __reserved DWORD dw
/// ///
inline DWORD ExpandEnvironmentStringsW(_In_ LPCSTR lpSrc, std::string &sValue) inline DWORD ExpandEnvironmentStringsW(_In_ LPCSTR lpSrc, std::string &sValue)
{ {
assert(0); // TODO: Test this code.
for (DWORD dwSizeOut = (DWORD)strlen(lpSrc) + 0x100;;) { for (DWORD dwSizeOut = (DWORD)strlen(lpSrc) + 0x100;;) {
DWORD dwSizeIn = dwSizeOut; DWORD dwSizeIn = dwSizeOut;
auto szBuffer = std::unique_ptr<CHAR[]>(new CHAR[dwSizeIn + 2]); // Note: ANSI version requires one extra char. auto szBuffer = std::unique_ptr<CHAR[]>(new CHAR[dwSizeIn + 2]); // Note: ANSI version requires one extra char.
@ -223,6 +237,8 @@ inline DWORD ExpandEnvironmentStringsW(_In_ LPCSTR lpSrc, std::string &sValue)
/// ///
inline DWORD ExpandEnvironmentStringsW(_In_ LPCWSTR lpSrc, std::wstring &sValue) inline DWORD ExpandEnvironmentStringsW(_In_ LPCWSTR lpSrc, std::wstring &sValue)
{ {
assert(0); // TODO: Test this code.
for (DWORD dwSizeOut = (DWORD)wcslen(lpSrc) + 0x100;;) { for (DWORD dwSizeOut = (DWORD)wcslen(lpSrc) + 0x100;;) {
DWORD dwSizeIn = dwSizeOut; DWORD dwSizeIn = dwSizeOut;
auto szBuffer = std::unique_ptr<WCHAR[]>(new WCHAR[dwSizeIn + 1]); auto szBuffer = std::unique_ptr<WCHAR[]>(new WCHAR[dwSizeIn + 1]);
@ -250,6 +266,8 @@ inline DWORD ExpandEnvironmentStringsW(_In_ LPCWSTR lpSrc, std::wstring &sValue)
/// ///
inline VOID GuidToString(_In_ LPCGUID lpGuid, _Out_ std::string &str) inline VOID GuidToString(_In_ LPCGUID lpGuid, _Out_ std::string &str)
{ {
assert(0); // TODO: Test this code.
sprintf(str, "{%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X}", sprintf(str, "{%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X}",
lpGuid->Data1, lpGuid->Data1,
lpGuid->Data2, lpGuid->Data2,
@ -267,6 +285,8 @@ inline VOID GuidToString(_In_ LPCGUID lpGuid, _Out_ std::string &str)
/// ///
inline VOID GuidToString(_In_ LPCGUID lpGuid, _Out_ std::wstring &str) inline VOID GuidToString(_In_ LPCGUID lpGuid, _Out_ std::wstring &str)
{ {
assert(0); // TODO: Test this code.
sprintf(str, L"{%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X}", sprintf(str, L"{%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X}",
lpGuid->Data1, lpGuid->Data1,
lpGuid->Data2, lpGuid->Data2,
@ -296,6 +316,8 @@ inline VOID GuidToString(_In_ LPCGUID lpGuid, _Out_ std::wstring &str)
/// ///
inline LSTATUS RegQueryStringValue(_In_ HKEY hReg, _In_z_ LPCSTR pszName, _Out_ std::string &sValue) inline LSTATUS RegQueryStringValue(_In_ HKEY hReg, _In_z_ LPCSTR pszName, _Out_ std::string &sValue)
{ {
assert(0); // TODO: Test this code.
LSTATUS lResult; LSTATUS lResult;
BYTE aStackBuffer[WINSTD_STACK_BUFFER_BYTES]; BYTE aStackBuffer[WINSTD_STACK_BUFFER_BYTES];
DWORD dwSize = sizeof(aStackBuffer), dwType; DWORD dwSize = sizeof(aStackBuffer), dwType;
@ -360,6 +382,8 @@ inline LSTATUS RegQueryStringValue(_In_ HKEY hReg, _In_z_ LPCSTR pszName, _Out_
/// ///
inline LSTATUS RegQueryStringValue(_In_ HKEY hReg, _In_z_ LPCWSTR pszName, _Out_ std::wstring &sValue) inline LSTATUS RegQueryStringValue(_In_ HKEY hReg, _In_z_ LPCWSTR pszName, _Out_ std::wstring &sValue)
{ {
assert(0); // TODO: Test this code.
LSTATUS lResult; LSTATUS lResult;
BYTE aStackBuffer[WINSTD_STACK_BUFFER_BYTES]; BYTE aStackBuffer[WINSTD_STACK_BUFFER_BYTES];
DWORD dwSize = sizeof(aStackBuffer), dwType; DWORD dwSize = sizeof(aStackBuffer), dwType;
@ -411,6 +435,8 @@ inline LSTATUS RegQueryStringValue(_In_ HKEY hReg, _In_z_ LPCWSTR pszName, _Out_
/// ///
inline LSTATUS RegQueryValueExA(_In_ HKEY hKey, _In_opt_ LPCSTR lpValueName, __reserved LPDWORD lpReserved, _Out_opt_ LPDWORD lpType, _Out_ std::vector<unsigned char> &aData) inline LSTATUS RegQueryValueExA(_In_ HKEY hKey, _In_opt_ LPCSTR lpValueName, __reserved LPDWORD lpReserved, _Out_opt_ LPDWORD lpType, _Out_ std::vector<unsigned char> &aData)
{ {
assert(0); // TODO: Test this code.
LSTATUS lResult; LSTATUS lResult;
BYTE aStackBuffer[WINSTD_STACK_BUFFER_BYTES]; BYTE aStackBuffer[WINSTD_STACK_BUFFER_BYTES];
DWORD dwSize = sizeof(aStackBuffer); DWORD dwSize = sizeof(aStackBuffer);
@ -439,6 +465,8 @@ inline LSTATUS RegQueryValueExA(_In_ HKEY hKey, _In_opt_ LPCSTR lpValueName, __r
/// ///
inline LSTATUS RegQueryValueExW(_In_ HKEY hKey, _In_opt_ LPCWSTR lpValueName, __reserved LPDWORD lpReserved, _Out_opt_ LPDWORD lpType, _Out_ std::vector<unsigned char> &aData) inline LSTATUS RegQueryValueExW(_In_ HKEY hKey, _In_opt_ LPCWSTR lpValueName, __reserved LPDWORD lpReserved, _Out_opt_ LPDWORD lpType, _Out_ std::vector<unsigned char> &aData)
{ {
assert(0); // TODO: Test this code.
LSTATUS lResult; LSTATUS lResult;
BYTE aStackBuffer[WINSTD_STACK_BUFFER_BYTES]; BYTE aStackBuffer[WINSTD_STACK_BUFFER_BYTES];
DWORD dwSize = sizeof(aStackBuffer); DWORD dwSize = sizeof(aStackBuffer);
@ -469,6 +497,8 @@ inline LSTATUS RegQueryValueExW(_In_ HKEY hKey, _In_opt_ LPCWSTR lpValueName, __
/// ///
inline LSTATUS RegLoadMUIStringA(_In_ HKEY hKey, _In_opt_ LPCSTR pszValue, _Out_ std::string &sOut, _In_ DWORD Flags, _In_opt_ LPCSTR pszDirectory) inline LSTATUS RegLoadMUIStringA(_In_ HKEY hKey, _In_opt_ LPCSTR pszValue, _Out_ std::string &sOut, _In_ DWORD Flags, _In_opt_ LPCSTR pszDirectory)
{ {
assert(0); // TODO: Test this code.
LSTATUS lResult; LSTATUS lResult;
CHAR szStackBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(CHAR)]; CHAR szStackBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(CHAR)];
DWORD dwSize; DWORD dwSize;
@ -497,6 +527,8 @@ inline LSTATUS RegLoadMUIStringA(_In_ HKEY hKey, _In_opt_ LPCSTR pszValue, _Out_
/// ///
inline LSTATUS RegLoadMUIStringW(_In_ HKEY hKey, _In_opt_ LPCWSTR pszValue, _Out_ std::wstring &sOut, _In_ DWORD Flags, _In_opt_ LPCWSTR pszDirectory) inline LSTATUS RegLoadMUIStringW(_In_ HKEY hKey, _In_opt_ LPCWSTR pszValue, _Out_ std::wstring &sOut, _In_ DWORD Flags, _In_opt_ LPCWSTR pszDirectory)
{ {
assert(0); // TODO: Test this code.
LSTATUS lResult; LSTATUS lResult;
WCHAR szStackBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(WCHAR)]; WCHAR szStackBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(WCHAR)];
DWORD dwSize; DWORD dwSize;