使用しないでください。 ユーザーの IContextMenu インターフェイス と IShellPropSheetExt インターフェイス の実装を初期化するために、Windows アドレス帳 (WAB) によって使用されます。
構文
typedef struct _WABEXTDISPLAY {
ULONG cbSize;
LPWABOBJECT lpWABObject;
LPADRBOOK lpAdrBook;
LPMAPIPROP lpPropObj;
BOOL fReadOnly;
BOOL fDataChanged;
ULONG ulFlags;
LPVOID lpv;
LPTSTR lpsz;
} WABEXTDISPLAY, *LPWABEXTDISPLAY;
メンバー
cbSize
種類: ULONG
使用されていません。
lpWABObject
型: LPWABOBJECT
IWABObject メモリ割り当てメソッドの呼び出しに使用するオブジェクトを指定する IWABObject インターフェイスへのポインター。 これらのメソッドは、WAB に戻すメモリと、WAB が解放または使用されることを期待するすべてのメモリを割り当てます。 このポインターを使用して、他の IWABObject メソッドのいずれかを呼び出すこともできます。
lpAdrBook
種類: LPADRBOOK
標準の WAB IAddrBook メソッドを呼び出すために使用するオブジェクトを指定する IAddrBook インターフェイスへのポインター。
lpPropObj
種類: LPMAPIPROP
IMailUser : IMAPIProp オブジェクトへのポインター。 このインターフェイスは、 IShellPropSheetExt インターフェイス と IContextMenu インターフェイス の両方の実装に関連します。 IShellPropSheetExt インターフェイス実装の場合、 lpPropObj には表示される実際のオブジェクトが含まれます。 IMailUser : IMAPIProp または IDistList : IMAPIContainer オブジェクトのいずれかを指定できます。 lpPropObj オブジェクトを特定するには、そのPR_OBJECT_TYPE プロパティを照会します。 このオブジェクトからプロパティを取得して、拡張プロパティ シートを設定できます。
IContextMenu インターフェイス実装の場合、lpPropObj には有効な オブジェクトが含まれています。ただし、このオブジェクトには関連付けられているプロパティはありません。 このオブジェクトに対して AddRef を呼び出して、オブジェクトと、この WABEXTDISPLAY 構造体に関係するその他のデータが、必要な限り存続することを確認できます。 AddRef を呼び出す場合は、不要になったときに lpPropObj で Release を呼び出す必要があります。
アプリケーションで名前付きプロパティを使用していて、WAB から関連する名前付きプロパティを取得する場合は、この lpPropObj オブジェクトの GetIDsfromNames メソッドを呼び出して、そのような名前付きプロパティを取得できます。 メッセージング ユーザーに関連付けられているプロパティにアクセスする場合は、そのオブジェクトに対して GetIDsfromNames を呼び出す前に、このオブジェクトを LPMAILUSER にキャストします。
fReadOnly
種類: BOOL
VCARD_NAME属性、LDAP 検索結果、1 回限りの MailUser など、特定の種類のオブジェクトの読み取り専用プロパティを指定する BOOL 型の変数。 このメンバーは、 IShellPropSheetExt インターフェイスにのみ関連します。 このフラグが true に設定されている場合、プロパティ シートは、すべてのコントロールを読み取り専用または無効モード (通常は WM_INITDIALOG メッセージに応答) に設定する必要があります。 コントロールを読み取り専用の状態に設定すると、ユーザー エクスペリエンスの一貫性が高まります。
fDataChanged
種類: BOOL
プロパティ シートに変更が加えられたことを示すフラグを指定する BOOL 型の変数。 このメンバーは、 IShellPropSheetExt インターフェイス にのみ関連します。 ユーザーがプロパティ シートのデータの追加、編集、削除などの変更を行うたびに、プロパティ シートのデータが変更されたことを WAB に通知するには、このフラグを true に設定する必要があります。 このフラグが設定されていない場合、WAB は、ユーザーがプロパティ シートに加えた変更を保持しない可能性があります。
ulFlags
種類: ULONG
動作を制御するフラグを指定する ULONG 型の変数。 次のフラグが有効です。
WAB_CONTEXT_ADRLIST
IContextMenu インターフェイス メソッドを呼び出す前に WAB が Initialize を呼び出すときに設定します。 このフラグは、 lpv に ADRLIST 構造体へのポインターが含まれていることを示します。 ADRLIST 構造体には、WAB ユーザー インターフェイスで選択された項目に対応する 1 つ以上のエントリが含まれています。 この ADRLIST を取得して使用するには、 lpv を LPADRLIST にキャストします。 ulFlags を使用して、IContextMenu インターフェイス操作の初期化に WABEXTDISPLAY が使用されていることを確認することもできます。 ulFlags にこのフラグが含まれていない場合は、構造体が IShellPropSheetExt Interface アクションに使用されていると想定しても問題ありません。
WAB_DISPLAY_LDAPURL
lpsz に現在表示されている LDAP URL が含まれていることを示します。 WAB によって、LDAP URL で表される連絡先にプロパティ シートが表示されることがあります。 LDAP URL が指す連絡先は WAB オブジェクトにラップされ、 lpPropObj に配置されますが、プロパティ シートは URL に直接アクセスできます。
lpv
種類: LPVOID
アプリケーションに渡されるその他の情報を指定するポインター。 現在のフラグは、表される情報を識別します。 ulFlags が WAB_CONTEXT_ADRLIST に設定されている場合、lpv には ADRLIST へのポインターが含まれます。 ADRLIST の内容にアクセスするには、lpv を ADRLIST にキャストします。 lpAdrList-cEntries> メンバーには、選択した項目の数が含まれています。 lpAdrList-aEntries> の ADRENTRY 構造体には、選択した各アイテムに関連するすべてのプロパティを含む SPropValue 配列が含まれています。
lpsz
種類: LPTSTR
アプリケーションにさまざまな情報を渡すために使用される文字列を指定する LPTSTR 型の変数。 現在のフラグは、表される情報を識別します。 ulFlags が WAB_DISPLAY_LDAPURL に設定されている場合、lpsz メンバーには、プロパティが表示されている LDAP URL を含む NULL で終わる文字列へのポインターが含まれます。
要件
| サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
| サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
| Header | wabapi.h |