Пример #1
0
int main(int arbc, char *argv[])
{
	DWORD ret = ERROR_GEN_FAILURE;
	CFileSystemObject *root = NULL;

	ret = UtilsModuleInit();
	if (ret == ERROR_SUCCESS) {
		ret = AdjustPrivilege(L"SeBackupPrivilege");
		if (ret == ERROR_SUCCESS) {
			ret = AdjustPrivilege(L"SeRestorePrivilege");
			if (ret == ERROR_SUCCESS) {
				HANDLE rootHandle = NULL;
				std::wstring rootPath = L"\\??\\C:\\";


				ret = _OpenDirectoryName(NULL, rootPath, &rootHandle);
				if (ret == ERROR_SUCCESS) {
					root = new CFileSystemObject(rootPath, 0, 0);
					ret = _BuildTreeLevel(rootHandle, *root);
					_ScanFileIds(L"\\\\.\\C:", *root);
					CloseHandle(rootHandle);
					PrintLevel(L"", *root);
				}
			}
		}

		UtilsModuleFinit();
	}

	return (int)ret;
}
Пример #2
0
inline NTSTATUS DisablePrivilege(ULONG privilege)
{
    return AdjustPrivilege(false, privilege);
}
Пример #3
0
inline NTSTATUS EnablePrivilege(ULONG privilege)
{
    return AdjustPrivilege(true, privilege);
}