次の方法で共有


MMCFreeNotifyHandle 関数 (mmc.h)

MMCFreeNotifyHandle 関数は、プロパティ シートによって行われた MMCPropertyChangeNotify 呼び出しに応答して、MMC によってスナップインに送信されたMMCN_PROPERTY_CHANGE通知メッセージへのハンドルを解放するために、スナップインによって呼び出されます。

構文

HRESULT MMCFreeNotifyHandle(
  [in] LONG_PTR lNotifyHandle
);

パラメーター

[in] lNotifyHandle

IExtendPropertySheet2::CreatePropertyPages 呼び出し中にコンソールによって提供されるハンドルを指定する値。

戻り値

このコールバック関数は、これらの値のいずれかを返すことができます。

注釈

通知のハンドルは、 IExtendPropertySheet2::CreatePropertyPages メソッドの呼び出しによってスナップインに渡されます。 スナップインがこのメソッドから成功コード (S_OK、S_FALSE) を返す場合、スナップインは MMCFreeNotifyHandle を呼び出す必要があります。 スナップインからエラー コードが返された場合、MMC はすぐにハンドルを解放します。

スナップインは、スナップインに渡された後に MMC によってハンドルが使用されないため、いつでもハンドルを解放できます。 スナップインは MMCFreeNotifyHandle を 1 回だけ呼び出す必要があり、解放後に MMCPropertyChangeNotify 呼び出しでハンドルを使用することはできません。

スナップインは、IExtendPropertySheet2::CreatePropertyPages メソッドが呼び出された場合にのみ MMCFreeNotifyHandle を呼び出す必要があることに注意してください。 スナップインで IPropertySheetCallback を使用してプロパティ ページを追加し、NULL の最初のパラメーターを指定して IPropertySheetProvider::AddPrimaryPages を呼び出す場合、MMC は IExtendPropertySheet2::CreatePropertyPages を呼び出しません。 この方法で AddPrimaryPages を呼び出すと、ページが既に追加されていることを MMC に通知するため、スナップインの IExtendPropertySheet2::CreatePropertyPages メソッドを呼び出す必要はありません。 詳細については、「 ウィザード ページの追加: 実装の詳細」を参照してください。

次の一覧には、スナップインが MMCFreeNotifyHandle を呼び出すことができる状況を示すシナリオが含まれています。

  • IExtendPropertySheet2::CreatePropertyPages では、スナップインはプロパティ ページを追加しません。 CreatePropertyPages がエラー結果を返さない場合、スナップインは MMCFreeNotifyHandle を呼び出してから返すことができます。 それ以外の場合、MMC はハンドルを解放します。
  • IExtendPropertySheet2::CreatePropertyPages では、スナップインはプロパティ ページを追加しますが、ハンドルをページに渡しません。 ここでも、CreatePropertyPages がエラー結果を返さない場合、スナップインは MMCFreeNotifyHandle を呼び出してからを返すことができます。
  • IExtendPropertySheet2::CreatePropertyPages では、スナップインによってプロパティ ページが追加され、ハンドルもページに渡されます。 ただし、プロパティ ページでは MMCPropertyChangeNotify は呼び出されません。 この場合、スナップインは、プロパティ ページのデストラクターで MMCFreeNotifyHandle を呼び出すか、CreatePropertyPages から (エラー結果なしで) 返すことができます。
  • IExtendPropertySheet2::CreatePropertyPages では、スナップインによってプロパティ ページが追加され、ハンドルもページに渡されます。 プロパティ ページは MMCPropertyChangeNotify を呼び出します。 この場合、スナップインはプロパティ ページのデストラクターで MMCFreeNotifyHandle を呼び出す必要があります。 スナップインのMMCN_PROPERTY_CHANGE通知ハンドラーで MMCFreeNotifyHandle を呼び出すことは推奨されないことに注意してください。これは、複数のページが通知を送信する場合や、同じページが複数の通知を送信する可能性があるためです (ユーザーが [適用] ボタンをクリックするたびに 1 つずつ)。

要件

要件
サポートされている最小のクライアント Windows Vista
サポートされている最小のサーバー Windows Server 2008
対象プラットフォーム Windows
ヘッダー mmc.h

こちらもご覧ください

IComponent

IExtendPropertySheet2::CreatePropertyPages

MMCPropertyChangeNotify