Dans MyProviderRS.h, l'Assistant objet ATL crée un défaut appelé enregistrement utilisateur CWindowsFile . Pour gérer les deux chaînes, soit modifier CWindowsFile ou ajoutez votre propre enregistrement utilisateur, comme illustré ici:
////////////////////////////////////////////////////////////////////////
classe CAgentMan : WIN32_FIND_DATA public
DWORD dwBookmark ; nbsp ; / / Ajouter ce
SzCommand TCHAR [256] ; / / Ajouter ce
SzText TCHAR [256] ; / / Ajouter ce
SzCommand2 TCHAR [256] ; / / Ajouter ce
SzText2 TCHAR [256] ; / / Ajouter ce
{
public :
BEGIN_PROVIDER_COLUMN_MAP(CAgentMan)
PROVIDER_COLUMN_ENTRY (« FileAttributes", 1, dwFileAttributes)
PROVIDER_COLUMN_ENTRY ("FileSizeHigh", 2, nFileSizeHigh)
PROVIDER_COLUMN_ENTRY ("FileSizeLow", 3, nFileSizeLow)
PROVIDER_COLUMN_ENTRY ("NomFichier", 4, cFileName)
PROVIDER_COLUMN_ENTRY (« AltFileName », 5, cAlternateFileName)
END_PROVIDER_COLUMN_MAP()
BOOL operator == (CAgentMan const & am) / / This is optional {
Return (lstrcmpi (cFileName, wf.cFileName) == 0) ;
}
}
Les données membres szCommand et szText représentent les deux chaînes, avec szCommand2 et szText2 des colonnes supplémentaires si nécessaire. Le membre de données dwBookmark n'est pas nécessaire pour ce fournisseur simplement en lecture seule, mais sera utilisé plus tard pour ajouter l'interface IRowsetLocate. L'opérateur de == compare des instances. (Mise en œuvre de cet opérateur est facultatif).
Pour soutenir les deux chaînes, la macro PROVIDER_COLUMN_MAP a besoin de modification ainsi. Remplacez la macro PROVIDER_COLUMN_MAP ci-dessus avec celle montrée ici:
BEGI&N_PROVIDER_COLUMN_MAP()
nbsp ; PROVIDER_COLUMN_ENTRY_STR(OLESTR("Command"), 1, 256, GUID_NULL, CAgentMan, szCommand)
PROVIDER_COLUMN_ENTRY_STR (OLESTR ("texte"), 2, 256, GUID_NULL, CAgentMan, szText) PROVIDER_COLUMN_ENTRY_STR(OLESTR("Command2"), 3, 256, GUID_NULL, CAgentMan, szCommand2)
PROVIDER_COLUMN_ENTRY_STR (OLESTR ("Texte2"), 4, 256, GUID_NULL, CAgentMan, szText2)
END_PROVIDER_COLUMN_MAP()
Lorsque cela est fait, votre fournisseur doit être prêt à compiler et exécuter. Pour tester le fournisseur, vous devez un consommateur avec les fonctionnalités. Implémentation d'un consommateur Simple montre comment créer un tel consommateur de test. Exécutez le test consommateur avec le fournisseur. Vérifier que le test consommateur récupère les chaînes appropriées du fournisseur lorsque vous cliquez sur le bouton exécuter dans la boîte de dialogue de test consommateur.
Une fois que vous avez testé avec succès votre fournisseur, vous pouvez améliorer sa fonctionnalité en implémentant les interfaces supplémentaires. Un exemple est montré dans la section suivante, amélioration du fournisseur Simple d'un.