次の方法で共有


SP_REGISTER_CONTROL_STATUSA構造体 (setupapi.h)

SP_REGISTER_CONTROL_STATUS 構造体には、Windows 2000 上の DLL を自己登録するための RegisterDlls INF ディレクティブを使用して登録または登録解除されているファイルに関する情報が含まれています。

SetupInstallFromInfSection コールバック ルーチンに SPFILENOTIFY_STARTREGISTRATION または SPFILENOTIFY_ENDREGISTRATION 通知を送信する場合、呼び出し元は、MsgHandler パラメーターの SP_REGISTER_CONTROL_STATUS 構造体へのポインターを指定する必要があります。

構文

typedef struct _SP_REGISTER_CONTROL_STATUSA {
  DWORD cbSize;
  PCSTR FileName;
  DWORD Win32Error;
  DWORD FailureCode;
} SP_REGISTER_CONTROL_STATUSA, *PSP_REGISTER_CONTROL_STATUSA;

メンバーズ

cbSize

FileName

登録または登録解除されるファイルの完全修飾パス。

Win32Error

SPFILENOTIFY_STARTREGISTRATION通知の場合、このメンバーは使用されず、NO_ERRORに設定する必要があります。 SPFILENOTIFY_ENDREGISTRATION通知の場合は、システム エラー コードに設定します。

FailureCode

SPFILENOTIFY_STARTREGISTRATION通知の場合、このメンバーは使用されず、SPREG_SUCCESSに設定する必要があります。 SPFILENOTIFY_ENDREGISTRATION通知の場合は、登録の結果を示す次のいずれかのエラー コードに設定します。

価値 意味
SPREG_SUCCESS
ファイルが正常に登録または登録解除されました。 WinError 使用されません。
SPREG_LOADLIBRARY
LoadLibrary ファイルに対して失敗しました。 WinError には、コンポーネントからの拡張エラー コードが含まれています。
SPREG_GETPROCADDR
ファイルの GetProcAddress が失敗しました。 WinError には、コンポーネントからの拡張エラー コードが含まれています。
SPREG_REGSVR
DLLRegisterServer エントリ ポイントがエラーを返しました。 WinError には、コンポーネントからの拡張エラー コードが含まれています。
SPREG_DLLINSTALL
DLLInstall エントリ ポイントがエラーを返しました。 WinError には、コンポーネントからの拡張エラー コードが含まれています。
SPREG_TIMEOUT
ファイルの登録または登録解除が、指定されたタイムアウトを超えました。 WinError は ERROR_TIMEOUT に設定されます。
SPREG_UNKNOWN
不明な理由で、ファイルの登録または登録解除に失敗しました。 WinError は、コンポーネントからの拡張エラー コードを示します。

備考

手記

setupapi.h ヘッダーは、unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとしてSP_REGISTER_CONTROL_STATUSを定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows XP [デスクトップ アプリのみ]
サポートされる最小サーバー Windows Server 2003 [デスクトップ アプリのみ]
ヘッダー setupapi.h

関連項目

の概要

SPFILENOTIFY_ENDREGISTRATION

SPFILENOTIFY_STARTREGISTRATION

SetupInstallFromInfSection

構造体の