Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The following example shows how to derive a quota from the quota template created in Using Templates to Define Quotas.
#ifndef UNICODE
#define UNICODE
#endif
#include <windows.h>
#include <stdio.h>
#include <comutil.h>
#include <FsrmQuota.h> // quota objects
#include <FsrmTlb.h> // Contains CLSIDs.
// Create a quota. Apply a template. Save the quota.
void wmain(void)
{
HRESULT hr = S_OK;
IFsrmQuotaManager* pqm = NULL;
IFsrmQuota* pQuota = NULL;
hr = CoInitializeEx(NULL, COINIT_APARTMENTTHREADED);
if (FAILED(hr))
{
wprintf(L"CoInitializeEx() failed, 0x%x.\n", hr);
return;
}
hr = CoCreateInstance(CLSID_FsrmQuotaManager,
NULL,
CLSCTX_LOCAL_SERVER,
__uuidof(IFsrmQuotaManager),
reinterpret_cast<void**> (&pqm));
if (FAILED(hr))
{
wprintf(L"CoCreateInstance(FsrmQuotaManager) failed, 0x%x.\n", hr);
goto cleanup;
}
hr = pqm->CreateQuota(_bstr_t(L"c:\\folder\\B"), &pQuota);
if (FAILED(hr))
{
wprintf(L"pqm->CreateQuota failed, 0x%x.\n", hr);
goto cleanup;
}
hr = pQuota->ApplyTemplate(_bstr_t(L"Test Quota Template"));
if (FAILED(hr))
{
wprintf(L"pQuota->ApplyTemplate failed, 0x%x.\n", hr);
goto cleanup;
}
hr = pQuota->Commit();
if (FAILED(hr))
{
wprintf(L"pQuota->Commit failed, 0x%x.\n", hr);
goto cleanup;
}
cleanup:
if (pqm)
pqm->Release();
if (pQuota)
pQuota->Release();
CoUninitialize();
}