// Gets the field descriptor for a particular field. If this descriptor refers to one owned // by our wrapped provider, we'll pass it along. Otherwise we provide our own. HRESULT CMultiOneTimePasswordProvider::GetFieldDescriptorAt( __in DWORD dwIndex, __deref_out CREDENTIAL_PROVIDER_FIELD_DESCRIPTOR** ppcpfd ) { HRESULT hr; /* DEBUG: bool exit = true; if (exit) return E_NOTIMPL; //*/ // Verify dwIndex is a valid field. if ((dwIndex < SFI_NUM_FIELDS) && ppcpfd) { hr = FieldDescriptorCoAllocCopy(s_rgCredProvFieldDescriptors[dwIndex], ppcpfd); } else { hr = E_INVALIDARG; } return hr; }
// Gets the field descriptor for a particular field HRESULT TapLockProvider::GetFieldDescriptorAt( DWORD dwIndex, CREDENTIAL_PROVIDER_FIELD_DESCRIPTOR** ppcpfd ) { HRESULT hr; // Verify dwIndex is a valid field. if ((dwIndex < SFI_NUM_FIELDS) && ppcpfd) hr = FieldDescriptorCoAllocCopy(s_rgCredProvFieldDescriptors[dwIndex], ppcpfd); else hr = E_INVALIDARG; return hr; }
HRESULT RfidProvider::GetFieldDescriptorAt( DWORD dwIndex, CREDENTIAL_PROVIDER_FIELD_DESCRIPTOR** ppcpfd ) { HRESULT hr; if ((dwIndex < SFI_NUM_FIELDS) && ppcpfd) { hr = FieldDescriptorCoAllocCopy(s_rgCredProvFieldDescriptors[dwIndex], ppcpfd); } else { hr = E_INVALIDARG; } return hr; }
// Gets the field descriptor for a particular field HRESULT COpenOTPProvider::GetFieldDescriptorAt( __in DWORD dwIndex, __deref_out CREDENTIAL_PROVIDER_FIELD_DESCRIPTOR** ppcpfd ) { HRESULT hr; // Verify dwIndex is a valid field. if ((dwIndex < SFI_NUM_FIELDS) && ppcpfd) { hr = FieldDescriptorCoAllocCopy(s_rgCredProvFieldDescriptors[dwIndex], ppcpfd); } else { hr = E_INVALIDARG; } return hr; }
// Gets the field descriptor for a particular field. HRESULT MultiotpProvider::GetFieldDescriptorAt( DWORD dwIndex, _Outptr_result_nullonfailure_ CREDENTIAL_PROVIDER_FIELD_DESCRIPTOR **ppcpfd) { HRESULT hr; *ppcpfd = nullptr; // Verify dwIndex is a valid field. if ((dwIndex < SFI_NUM_FIELDS) && ppcpfd) { hr = FieldDescriptorCoAllocCopy(s_rgCredProvFieldDescriptors[dwIndex], ppcpfd); } else { hr = E_INVALIDARG; } return hr; }
// Gets the field descriptor for a particular field. If this descriptor refers to one owned // by our wrapped provider, we'll pass it along. Otherwise we provide our own. HRESULT CTotpProvider::GetFieldDescriptorAt( __in DWORD dwIndex, __deref_out CREDENTIAL_PROVIDER_FIELD_DESCRIPTOR** ppcpfd ) { HRESULT hr = E_UNEXPECTED; if (_pWrappedProvider != NULL) { if (ppcpfd != NULL) { // If this field maps to one in the wrapped provider, hand it off. if (dwIndex < _dwWrappedDescriptorCount) { hr = _pWrappedProvider->GetFieldDescriptorAt(dwIndex, ppcpfd); } // Otherwise, check to see if it's ours and then handle it here. else { // Offset into the descriptor count so we can index our own fields. dwIndex -= _dwWrappedDescriptorCount; // Verify dwIndex is still a valid field. if (dwIndex < SFI_NUM_FIELDS) { hr = FieldDescriptorCoAllocCopy(s_rgCredProvFieldDescriptors[dwIndex], ppcpfd); (*ppcpfd)->dwFieldID += _dwWrappedDescriptorCount; } else { hr = E_INVALIDARG; } } } else { hr = E_INVALIDARG; } } return hr; }
// Gets the field descriptor for a particular field. HRESULT CXCreProviderV2::GetFieldDescriptorAt( DWORD dwIndex, CREDENTIAL_PROVIDER_FIELD_DESCRIPTOR** ppcpfd ) { HRESULT hr; *ppcpfd = NULL; // Verify dwIndex is a valid field. if ((dwIndex < SFI_MAX_FIELDS) && ppcpfd) { hr = FieldDescriptorCoAllocCopy(s_rgCredProvFieldDescriptors[dwIndex], ppcpfd); } else { hr = E_INVALIDARG; } return hr; }
// // Gets the field descriptor for a particular field // HRESULT CXCreProvider::GetFieldDescriptorAt( DWORD dwIndex, CREDENTIAL_PROVIDER_FIELD_DESCRIPTOR** ppcpfd ) { HRESULT hr; if (m_pOrgProvider != NULL) { if (ppcpfd != NULL) { if (dwIndex < m_dwWrappedDescriptorCount) { hr = m_pOrgProvider->GetFieldDescriptorAt(dwIndex, ppcpfd); } else // { // Offset into the descriptor count so we can index our own fields. dwIndex -= m_dwWrappedDescriptorCount; if (dwIndex < SFI_MAX_FIELDS) { hr = FieldDescriptorCoAllocCopy(s_rgCredProvFieldDescriptors[dwIndex], ppcpfd); (*ppcpfd)->dwFieldID += m_dwWrappedDescriptorCount; } else { hr = E_INVALIDARG; } } } else { hr = E_INVALIDARG; } } return hr; }