The GetActiveProfile2 retrieves the id of the active profile (i.e. the profile that is used for printing).
HRESULT GetActiveProfile2( [out] BSTR* p_wsProfileId );
p_wsProfileId [out] pointer to a pointer to a null terminated Unicode string that will contain the if of the active profile. On success the caller is responsible for freeing the allocated memory with CoTaskMemFree.
S_OKon success or COM error code
NV_NOT_INITIALIZED- Initialize was not called
NV_NO_ACTIVE_PROFILE- there is no active profile selected for the printer